From c6ede93fc1b456db083011f181e335c54f9e5fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Fri, 30 Sep 2022 16:28:16 +0200 Subject: [PATCH] OAPI: regenerate code --- addon/flamenco/manager/api/jobs_api.py | 138 ++++++++ .../manager/docs/JobPriorityChange.md | 12 + addon/flamenco/manager/docs/JobsApi.md | 71 +++++ .../manager/model/job_priority_change.py | 265 ++++++++++++++++ addon/flamenco/manager/models/__init__.py | 1 + addon/flamenco/manager_README.md | 3 + internal/worker/mocks/client.gen.go | 40 +++ pkg/api/openapi_client.gen.go | 146 +++++++++ pkg/api/openapi_server.gen.go | 20 ++ pkg/api/openapi_spec.gen.go | 298 +++++++++--------- pkg/api/openapi_types.gen.go | 11 + web/app/src/manager-api/index.js | 7 + web/app/src/manager-api/manager/JobsApi.js | 51 +++ .../manager-api/model/JobPriorityChange.js | 73 +++++ 14 files changed, 988 insertions(+), 148 deletions(-) create mode 100644 addon/flamenco/manager/docs/JobPriorityChange.md create mode 100644 addon/flamenco/manager/model/job_priority_change.py create mode 100644 web/app/src/manager-api/model/JobPriorityChange.js diff --git a/addon/flamenco/manager/api/jobs_api.py b/addon/flamenco/manager/api/jobs_api.py index 9a5305d0..559869a0 100644 --- a/addon/flamenco/manager/api/jobs_api.py +++ b/addon/flamenco/manager/api/jobs_api.py @@ -27,6 +27,7 @@ from flamenco.manager.model.error import Error from flamenco.manager.model.job import Job from flamenco.manager.model.job_blocklist import JobBlocklist from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo +from flamenco.manager.model.job_priority_change import JobPriorityChange from flamenco.manager.model.job_status_change import JobStatusChange from flamenco.manager.model.job_tasks_summary import JobTasksSummary from flamenco.manager.model.jobs_query import JobsQuery @@ -630,6 +631,62 @@ class JobsApi(object): }, api_client=api_client ) + self.set_job_priority_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [], + 'endpoint_path': '/api/v3/jobs/{job_id}/setpriority', + 'operation_id': 'set_job_priority', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'job_id', + 'job_priority_change', + ], + 'required': [ + 'job_id', + 'job_priority_change', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'job_id': + (str,), + 'job_priority_change': + (JobPriorityChange,), + }, + 'attribute_map': { + 'job_id': 'job_id', + }, + 'location_map': { + 'job_id': 'path', + 'job_priority_change': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) self.set_job_status_endpoint = _Endpoint( settings={ 'response_type': None, @@ -1708,6 +1765,87 @@ class JobsApi(object): job_id return self.remove_job_blocklist_endpoint.call_with_http_info(**kwargs) + def set_job_priority( + self, + job_id, + job_priority_change, + **kwargs + ): + """set_job_priority # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.set_job_priority(job_id, job_priority_change, async_req=True) + >>> result = thread.get() + + Args: + job_id (str): + job_priority_change (JobPriorityChange): The new priority. + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['job_id'] = \ + job_id + kwargs['job_priority_change'] = \ + job_priority_change + return self.set_job_priority_endpoint.call_with_http_info(**kwargs) + def set_job_status( self, job_id, diff --git a/addon/flamenco/manager/docs/JobPriorityChange.md b/addon/flamenco/manager/docs/JobPriorityChange.md new file mode 100644 index 00000000..fcb552eb --- /dev/null +++ b/addon/flamenco/manager/docs/JobPriorityChange.md @@ -0,0 +1,12 @@ +# JobPriorityChange + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**priority** | **int** | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/addon/flamenco/manager/docs/JobsApi.md b/addon/flamenco/manager/docs/JobsApi.md index 6d031fae..14614641 100644 --- a/addon/flamenco/manager/docs/JobsApi.md +++ b/addon/flamenco/manager/docs/JobsApi.md @@ -16,6 +16,7 @@ Method | HTTP request | Description [**get_job_types**](JobsApi.md#get_job_types) | **GET** /api/v3/jobs/types | Get list of job types and their parameters. [**query_jobs**](JobsApi.md#query_jobs) | **POST** /api/v3/jobs/query | Fetch list of jobs. [**remove_job_blocklist**](JobsApi.md#remove_job_blocklist) | **DELETE** /api/v3/jobs/{job_id}/blocklist | Remove entries from a job blocklist. +[**set_job_priority**](JobsApi.md#set_job_priority) | **POST** /api/v3/jobs/{job_id}/setpriority | [**set_job_status**](JobsApi.md#set_job_status) | **POST** /api/v3/jobs/{job_id}/setstatus | [**set_task_status**](JobsApi.md#set_task_status) | **POST** /api/v3/tasks/{task_id}/setstatus | [**submit_job**](JobsApi.md#submit_job) | **POST** /api/v3/jobs | Submit a new job for Flamenco Manager to execute. @@ -839,6 +840,76 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **set_job_priority** +> set_job_priority(job_id, job_priority_change) + + + +### Example + + +```python +import time +import flamenco.manager +from flamenco.manager.api import jobs_api +from flamenco.manager.model.error import Error +from flamenco.manager.model.job_priority_change import JobPriorityChange +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flamenco.manager.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with flamenco.manager.ApiClient() as api_client: + # Create an instance of the API class + api_instance = jobs_api.JobsApi(api_client) + job_id = "job_id_example" # str | + job_priority_change = JobPriorityChange( + priority=0, + ) # JobPriorityChange | The new priority. + + # example passing only required values which don't have defaults set + try: + api_instance.set_job_priority(job_id, job_priority_change) + except flamenco.manager.ApiException as e: + print("Exception when calling JobsApi->set_job_priority: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_id** | **str**| | + **job_priority_change** | [**JobPriorityChange**](JobPriorityChange.md)| The new priority. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | Priority change was accepted. | - | +**422** | The requested priority is not acceptable. | - | +**0** | Unexpected error. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **set_job_status** > set_job_status(job_id, job_status_change) diff --git a/addon/flamenco/manager/model/job_priority_change.py b/addon/flamenco/manager/model/job_priority_change.py new file mode 100644 index 00000000..923c3964 --- /dev/null +++ b/addon/flamenco/manager/model/job_priority_change.py @@ -0,0 +1,265 @@ +""" + Flamenco manager + + Render Farm manager API # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from flamenco.manager.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from flamenco.manager.exceptions import ApiAttributeError + + + +class JobPriorityChange(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('priority',): { + 'inclusive_maximum': 100, + 'inclusive_minimum': 0, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'priority': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'priority': 'priority', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, priority, *args, **kwargs): # noqa: E501 + """JobPriorityChange - a model defined in OpenAPI + + Args: + priority (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.priority = priority + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, priority, *args, **kwargs): # noqa: E501 + """JobPriorityChange - a model defined in OpenAPI + + Args: + priority (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.priority = priority + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/addon/flamenco/manager/models/__init__.py b/addon/flamenco/manager/models/__init__.py index 1f973f78..367f72b6 100644 --- a/addon/flamenco/manager/models/__init__.py +++ b/addon/flamenco/manager/models/__init__.py @@ -28,6 +28,7 @@ from flamenco.manager.model.job_blocklist import JobBlocklist from flamenco.manager.model.job_blocklist_entry import JobBlocklistEntry from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo from flamenco.manager.model.job_metadata import JobMetadata +from flamenco.manager.model.job_priority_change import JobPriorityChange from flamenco.manager.model.job_settings import JobSettings from flamenco.manager.model.job_status import JobStatus from flamenco.manager.model.job_status_change import JobStatusChange diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index 3f0f1650..49450d4f 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -38,6 +38,7 @@ from flamenco.manager.model.error import Error from flamenco.manager.model.job import Job from flamenco.manager.model.job_blocklist import JobBlocklist from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo +from flamenco.manager.model.job_priority_change import JobPriorityChange from flamenco.manager.model.job_status_change import JobStatusChange from flamenco.manager.model.job_tasks_summary import JobTasksSummary from flamenco.manager.model.jobs_query import JobsQuery @@ -85,6 +86,7 @@ Class | Method | HTTP request | Description *JobsApi* | [**get_job_types**](flamenco/manager/docs/JobsApi.md#get_job_types) | **GET** /api/v3/jobs/types | Get list of job types and their parameters. *JobsApi* | [**query_jobs**](flamenco/manager/docs/JobsApi.md#query_jobs) | **POST** /api/v3/jobs/query | Fetch list of jobs. *JobsApi* | [**remove_job_blocklist**](flamenco/manager/docs/JobsApi.md#remove_job_blocklist) | **DELETE** /api/v3/jobs/{job_id}/blocklist | Remove entries from a job blocklist. +*JobsApi* | [**set_job_priority**](flamenco/manager/docs/JobsApi.md#set_job_priority) | **POST** /api/v3/jobs/{job_id}/setpriority | *JobsApi* | [**set_job_status**](flamenco/manager/docs/JobsApi.md#set_job_status) | **POST** /api/v3/jobs/{job_id}/setstatus | *JobsApi* | [**set_task_status**](flamenco/manager/docs/JobsApi.md#set_task_status) | **POST** /api/v3/tasks/{task_id}/setstatus | *JobsApi* | [**submit_job**](flamenco/manager/docs/JobsApi.md#submit_job) | **POST** /api/v3/jobs | Submit a new job for Flamenco Manager to execute. @@ -139,6 +141,7 @@ Class | Method | HTTP request | Description - [JobBlocklistEntry](flamenco/manager/docs/JobBlocklistEntry.md) - [JobLastRenderedImageInfo](flamenco/manager/docs/JobLastRenderedImageInfo.md) - [JobMetadata](flamenco/manager/docs/JobMetadata.md) + - [JobPriorityChange](flamenco/manager/docs/JobPriorityChange.md) - [JobSettings](flamenco/manager/docs/JobSettings.md) - [JobStatus](flamenco/manager/docs/JobStatus.md) - [JobStatusChange](flamenco/manager/docs/JobStatusChange.md) diff --git a/internal/worker/mocks/client.gen.go b/internal/worker/mocks/client.gen.go index 4350287c..77e9d912 100644 --- a/internal/worker/mocks/client.gen.go +++ b/internal/worker/mocks/client.gen.go @@ -756,6 +756,46 @@ func (mr *MockFlamencoClientMockRecorder) ScheduleTaskWithResponse(arg0 interfac return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScheduleTaskWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).ScheduleTaskWithResponse), varargs...) } +// SetJobPriorityWithBodyWithResponse mocks base method. +func (m *MockFlamencoClient) SetJobPriorityWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.SetJobPriorityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1, arg2, arg3} + for _, a := range arg4 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SetJobPriorityWithBodyWithResponse", varargs...) + ret0, _ := ret[0].(*api.SetJobPriorityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetJobPriorityWithBodyWithResponse indicates an expected call of SetJobPriorityWithBodyWithResponse. +func (mr *MockFlamencoClientMockRecorder) SetJobPriorityWithBodyWithResponse(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetJobPriorityWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetJobPriorityWithBodyWithResponse), varargs...) +} + +// SetJobPriorityWithResponse mocks base method. +func (m *MockFlamencoClient) SetJobPriorityWithResponse(arg0 context.Context, arg1 string, arg2 api.SetJobPriorityJSONRequestBody, arg3 ...api.RequestEditorFn) (*api.SetJobPriorityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1, arg2} + for _, a := range arg3 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SetJobPriorityWithResponse", varargs...) + ret0, _ := ret[0].(*api.SetJobPriorityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetJobPriorityWithResponse indicates an expected call of SetJobPriorityWithResponse. +func (mr *MockFlamencoClientMockRecorder) SetJobPriorityWithResponse(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1, arg2}, arg3...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetJobPriorityWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).SetJobPriorityWithResponse), varargs...) +} + // SetJobStatusWithBodyWithResponse mocks base method. func (m *MockFlamencoClient) SetJobStatusWithBodyWithResponse(arg0 context.Context, arg1, arg2 string, arg3 io.Reader, arg4 ...api.RequestEditorFn) (*api.SetJobStatusResponse, error) { m.ctrl.T.Helper() diff --git a/pkg/api/openapi_client.gen.go b/pkg/api/openapi_client.gen.go index e164e6d0..c6657d3a 100644 --- a/pkg/api/openapi_client.gen.go +++ b/pkg/api/openapi_client.gen.go @@ -155,6 +155,11 @@ type ClientInterface interface { // FetchJobLastRenderedInfo request FetchJobLastRenderedInfo(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*http.Response, error) + // SetJobPriority request with any body + SetJobPriorityWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + SetJobPriority(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // SetJobStatus request with any body SetJobStatusWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -530,6 +535,30 @@ func (c *Client) FetchJobLastRenderedInfo(ctx context.Context, jobId string, req return c.Client.Do(req) } +func (c *Client) SetJobPriorityWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSetJobPriorityRequestWithBody(c.Server, jobId, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) SetJobPriority(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSetJobPriorityRequest(c.Server, jobId, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + func (c *Client) SetJobStatusWithBody(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewSetJobStatusRequestWithBody(c.Server, jobId, contentType, body) if err != nil { @@ -1562,6 +1591,53 @@ func NewFetchJobLastRenderedInfoRequest(server string, jobId string) (*http.Requ return req, nil } +// NewSetJobPriorityRequest calls the generic SetJobPriority builder with application/json body +func NewSetJobPriorityRequest(server string, jobId string, body SetJobPriorityJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewSetJobPriorityRequestWithBody(server, jobId, "application/json", bodyReader) +} + +// NewSetJobPriorityRequestWithBody generates requests for SetJobPriority with any type of body +func NewSetJobPriorityRequestWithBody(server string, jobId string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "job_id", runtime.ParamLocationPath, jobId) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/api/v3/jobs/%s/setpriority", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + // NewSetJobStatusRequest calls the generic SetJobStatus builder with application/json body func NewSetJobStatusRequest(server string, jobId string, body SetJobStatusJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader @@ -2652,6 +2728,11 @@ type ClientWithResponsesInterface interface { // FetchJobLastRenderedInfo request FetchJobLastRenderedInfoWithResponse(ctx context.Context, jobId string, reqEditors ...RequestEditorFn) (*FetchJobLastRenderedInfoResponse, error) + // SetJobPriority request with any body + SetJobPriorityWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error) + + SetJobPriorityWithResponse(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error) + // SetJobStatus request with any body SetJobStatusWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobStatusResponse, error) @@ -3135,6 +3216,28 @@ func (r FetchJobLastRenderedInfoResponse) StatusCode() int { return 0 } +type SetJobPriorityResponse struct { + Body []byte + HTTPResponse *http.Response + JSONDefault *Error +} + +// Status returns HTTPResponse.Status +func (r SetJobPriorityResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r SetJobPriorityResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + type SetJobStatusResponse struct { Body []byte HTTPResponse *http.Response @@ -3927,6 +4030,23 @@ func (c *ClientWithResponses) FetchJobLastRenderedInfoWithResponse(ctx context.C return ParseFetchJobLastRenderedInfoResponse(rsp) } +// SetJobPriorityWithBodyWithResponse request with arbitrary body returning *SetJobPriorityResponse +func (c *ClientWithResponses) SetJobPriorityWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error) { + rsp, err := c.SetJobPriorityWithBody(ctx, jobId, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseSetJobPriorityResponse(rsp) +} + +func (c *ClientWithResponses) SetJobPriorityWithResponse(ctx context.Context, jobId string, body SetJobPriorityJSONRequestBody, reqEditors ...RequestEditorFn) (*SetJobPriorityResponse, error) { + rsp, err := c.SetJobPriority(ctx, jobId, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseSetJobPriorityResponse(rsp) +} + // SetJobStatusWithBodyWithResponse request with arbitrary body returning *SetJobStatusResponse func (c *ClientWithResponses) SetJobStatusWithBodyWithResponse(ctx context.Context, jobId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SetJobStatusResponse, error) { rsp, err := c.SetJobStatusWithBody(ctx, jobId, contentType, body, reqEditors...) @@ -4741,6 +4861,32 @@ func ParseFetchJobLastRenderedInfoResponse(rsp *http.Response) (*FetchJobLastRen return response, nil } +// ParseSetJobPriorityResponse parses an HTTP response from a SetJobPriorityWithResponse call +func ParseSetJobPriorityResponse(rsp *http.Response) (*SetJobPriorityResponse, error) { + bodyBytes, err := ioutil.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &SetJobPriorityResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: + var dest Error + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSONDefault = &dest + + } + + return response, nil +} + // ParseSetJobStatusResponse parses an HTTP response from a SetJobStatusWithResponse call func ParseSetJobStatusResponse(rsp *http.Response) (*SetJobStatusResponse, error) { bodyBytes, err := ioutil.ReadAll(rsp.Body) diff --git a/pkg/api/openapi_server.gen.go b/pkg/api/openapi_server.gen.go index 19d3c7be..488637ff 100644 --- a/pkg/api/openapi_server.gen.go +++ b/pkg/api/openapi_server.gen.go @@ -65,6 +65,9 @@ type ServerInterface interface { // (GET /api/v3/jobs/{job_id}/last-rendered) FetchJobLastRenderedInfo(ctx echo.Context, jobId string) error + // (POST /api/v3/jobs/{job_id}/setpriority) + SetJobPriority(ctx echo.Context, jobId string) error + // (POST /api/v3/jobs/{job_id}/setstatus) SetJobStatus(ctx echo.Context, jobId string) error // Fetch a summary of all tasks of the given job. @@ -368,6 +371,22 @@ func (w *ServerInterfaceWrapper) FetchJobLastRenderedInfo(ctx echo.Context) erro return err } +// SetJobPriority converts echo context to params. +func (w *ServerInterfaceWrapper) SetJobPriority(ctx echo.Context) error { + var err error + // ------------- Path parameter "job_id" ------------- + var jobId string + + err = runtime.BindStyledParameterWithLocation("simple", false, "job_id", runtime.ParamLocationPath, ctx.Param("job_id"), &jobId) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter job_id: %s", err)) + } + + // Invoke the callback with all the unmarshalled arguments + err = w.Handler.SetJobPriority(ctx, jobId) + return err +} + // SetJobStatus converts echo context to params. func (w *ServerInterfaceWrapper) SetJobStatus(ctx echo.Context) error { var err error @@ -826,6 +845,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL router.DELETE(baseURL+"/api/v3/jobs/:job_id/blocklist", wrapper.RemoveJobBlocklist) router.GET(baseURL+"/api/v3/jobs/:job_id/blocklist", wrapper.FetchJobBlocklist) router.GET(baseURL+"/api/v3/jobs/:job_id/last-rendered", wrapper.FetchJobLastRenderedInfo) + router.POST(baseURL+"/api/v3/jobs/:job_id/setpriority", wrapper.SetJobPriority) router.POST(baseURL+"/api/v3/jobs/:job_id/setstatus", wrapper.SetJobStatus) router.GET(baseURL+"/api/v3/jobs/:job_id/tasks", wrapper.FetchJobTasks) router.POST(baseURL+"/api/v3/shaman/checkout/create", wrapper.ShamanCheckout) diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index 9aa1af34..518154b3 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -58,154 +58,156 @@ var swaggerSpec = []string{ "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", + "AA==", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/pkg/api/openapi_types.gen.go b/pkg/api/openapi_types.gen.go index b318fc3a..2f8f5769 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -305,6 +305,11 @@ type JobMetadata struct { AdditionalProperties map[string]string `json:"-"` } +// JobPriorityChange defines model for JobPriorityChange. +type JobPriorityChange struct { + Priority int `json:"priority"` +} + // JobSettings defines model for JobSettings. type JobSettings struct { AdditionalProperties map[string]interface{} `json:"-"` @@ -793,6 +798,9 @@ type QueryJobsJSONBody JobsQuery // RemoveJobBlocklistJSONBody defines parameters for RemoveJobBlocklist. type RemoveJobBlocklistJSONBody JobBlocklist +// SetJobPriorityJSONBody defines parameters for SetJobPriority. +type SetJobPriorityJSONBody JobPriorityChange + // SetJobStatusJSONBody defines parameters for SetJobStatus. type SetJobStatusJSONBody JobStatusChange @@ -850,6 +858,9 @@ type QueryJobsJSONRequestBody QueryJobsJSONBody // RemoveJobBlocklistJSONRequestBody defines body for RemoveJobBlocklist for application/json ContentType. type RemoveJobBlocklistJSONRequestBody RemoveJobBlocklistJSONBody +// SetJobPriorityJSONRequestBody defines body for SetJobPriority for application/json ContentType. +type SetJobPriorityJSONRequestBody SetJobPriorityJSONBody + // SetJobStatusJSONRequestBody defines body for SetJobStatus for application/json ContentType. type SetJobStatusJSONRequestBody SetJobStatusJSONBody diff --git a/web/app/src/manager-api/index.js b/web/app/src/manager-api/index.js index 8af339e9..79632dbc 100644 --- a/web/app/src/manager-api/index.js +++ b/web/app/src/manager-api/index.js @@ -29,6 +29,7 @@ import Job from './model/Job'; import JobAllOf from './model/JobAllOf'; import JobBlocklistEntry from './model/JobBlocklistEntry'; import JobLastRenderedImageInfo from './model/JobLastRenderedImageInfo'; +import JobPriorityChange from './model/JobPriorityChange'; import JobStatus from './model/JobStatus'; import JobStatusChange from './model/JobStatusChange'; import JobTasksSummary from './model/JobTasksSummary'; @@ -222,6 +223,12 @@ export { */ JobLastRenderedImageInfo, + /** + * The JobPriorityChange model constructor. + * @property {module:model/JobPriorityChange} + */ + JobPriorityChange, + /** * The JobStatus model constructor. * @property {module:model/JobStatus} diff --git a/web/app/src/manager-api/manager/JobsApi.js b/web/app/src/manager-api/manager/JobsApi.js index c127a1e1..d351fe5c 100644 --- a/web/app/src/manager-api/manager/JobsApi.js +++ b/web/app/src/manager-api/manager/JobsApi.js @@ -19,6 +19,7 @@ import Error from '../model/Error'; import Job from '../model/Job'; import JobBlocklistEntry from '../model/JobBlocklistEntry'; import JobLastRenderedImageInfo from '../model/JobLastRenderedImageInfo'; +import JobPriorityChange from '../model/JobPriorityChange'; import JobStatusChange from '../model/JobStatusChange'; import JobTasksSummary from '../model/JobTasksSummary'; import JobsQuery from '../model/JobsQuery'; @@ -590,6 +591,56 @@ export default class JobsApi { } + /** + * @param {String} jobId + * @param {module:model/JobPriorityChange} jobPriorityChange The new priority. + * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response + */ + setJobPriorityWithHttpInfo(jobId, jobPriorityChange) { + let postBody = jobPriorityChange; + // verify the required parameter 'jobId' is set + if (jobId === undefined || jobId === null) { + throw new Error("Missing the required parameter 'jobId' when calling setJobPriority"); + } + // verify the required parameter 'jobPriorityChange' is set + if (jobPriorityChange === undefined || jobPriorityChange === null) { + throw new Error("Missing the required parameter 'jobPriorityChange' when calling setJobPriority"); + } + + let pathParams = { + 'job_id': jobId + }; + let queryParams = { + }; + let headerParams = { + }; + let formParams = { + }; + + let authNames = []; + let contentTypes = ['application/json']; + let accepts = ['application/json']; + let returnType = null; + return this.apiClient.callApi( + '/api/v3/jobs/{job_id}/setpriority', 'POST', + pathParams, queryParams, headerParams, formParams, postBody, + authNames, contentTypes, accepts, returnType, null + ); + } + + /** + * @param {String} jobId + * @param {module:model/JobPriorityChange} jobPriorityChange The new priority. + * @return {Promise} a {@link https://www.promisejs.org/|Promise} + */ + setJobPriority(jobId, jobPriorityChange) { + return this.setJobPriorityWithHttpInfo(jobId, jobPriorityChange) + .then(function(response_and_data) { + return response_and_data.data; + }); + } + + /** * @param {String} jobId * @param {module:model/JobStatusChange} jobStatusChange The status change to request. diff --git a/web/app/src/manager-api/model/JobPriorityChange.js b/web/app/src/manager-api/model/JobPriorityChange.js new file mode 100644 index 00000000..11642154 --- /dev/null +++ b/web/app/src/manager-api/model/JobPriorityChange.js @@ -0,0 +1,73 @@ +/** + * Flamenco manager + * Render Farm manager API + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +import ApiClient from '../ApiClient'; + +/** + * The JobPriorityChange model module. + * @module model/JobPriorityChange + * @version 0.0.0 + */ +class JobPriorityChange { + /** + * Constructs a new JobPriorityChange. + * @alias module:model/JobPriorityChange + * @param priority {Number} + */ + constructor(priority) { + + JobPriorityChange.initialize(this, priority); + } + + /** + * Initializes the fields of this object. + * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins). + * Only for internal use. + */ + static initialize(obj, priority) { + obj['priority'] = priority; + } + + /** + * Constructs a JobPriorityChange from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {module:model/JobPriorityChange} obj Optional instance to populate. + * @return {module:model/JobPriorityChange} The populated JobPriorityChange instance. + */ + static constructFromObject(data, obj) { + if (data) { + obj = obj || new JobPriorityChange(); + + if (data.hasOwnProperty('priority')) { + obj['priority'] = ApiClient.convertToType(data['priority'], 'Number'); + } + } + return obj; + } + + +} + +/** + * @member {Number} priority + */ +JobPriorityChange.prototype['priority'] = undefined; + + + + + + +export default JobPriorityChange; +