diff --git a/addon/flamenco/manager/api/jobs_api.py b/addon/flamenco/manager/api/jobs_api.py index 81ac24bc..61babd3f 100644 --- a/addon/flamenco/manager/api/jobs_api.py +++ b/addon/flamenco/manager/api/jobs_api.py @@ -32,7 +32,6 @@ from flamenco.manager.model.job_mass_deletion_selection import JobMassDeletionSe 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 from flamenco.manager.model.jobs_query_result import JobsQueryResult from flamenco.manager.model.submitted_job import SubmittedJob from flamenco.manager.model.task import Task @@ -437,6 +436,48 @@ class JobsApi(object): }, api_client=api_client ) + self.fetch_jobs_endpoint = _Endpoint( + settings={ + 'response_type': (JobsQueryResult,), + 'auth': [], + 'endpoint_path': '/api/v3/jobs', + 'operation_id': 'fetch_jobs', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + }, + 'attribute_map': { + }, + 'location_map': { + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.fetch_task_endpoint = _Endpoint( settings={ 'response_type': (Task,), @@ -676,56 +717,6 @@ class JobsApi(object): }, api_client=api_client ) - self.query_jobs_endpoint = _Endpoint( - settings={ - 'response_type': (JobsQueryResult,), - 'auth': [], - 'endpoint_path': '/api/v3/jobs/query', - 'operation_id': 'query_jobs', - 'http_method': 'POST', - 'servers': None, - }, - params_map={ - 'all': [ - 'jobs_query', - ], - 'required': [ - 'jobs_query', - ], - 'nullable': [ - ], - 'enum': [ - ], - 'validation': [ - ] - }, - root_map={ - 'validations': { - }, - 'allowed_values': { - }, - 'openapi_types': { - 'jobs_query': - (JobsQuery,), - }, - 'attribute_map': { - }, - 'location_map': { - 'jobs_query': 'body', - }, - 'collection_format_map': { - } - }, - headers_map={ - 'accept': [ - 'application/json' - ], - 'content_type': [ - 'application/json' - ] - }, - api_client=api_client - ) self.remove_job_blocklist_endpoint = _Endpoint( settings={ 'response_type': None, @@ -1661,6 +1652,78 @@ class JobsApi(object): job_id return self.fetch_job_tasks_endpoint.call_with_http_info(**kwargs) + def fetch_jobs( + self, + **kwargs + ): + """List all jobs in the database. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.fetch_jobs(async_req=True) + >>> result = thread.get() + + + 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: + JobsQueryResult + 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') + return self.fetch_jobs_endpoint.call_with_http_info(**kwargs) + def fetch_task( self, task_id, @@ -2041,83 +2104,6 @@ class JobsApi(object): kwargs['_host_index'] = kwargs.get('_host_index') return self.get_job_types_endpoint.call_with_http_info(**kwargs) - def query_jobs( - self, - jobs_query, - **kwargs - ): - """Fetch list of jobs. # noqa: E501 - - This method makes a synchronous HTTP request by default. To make an - asynchronous HTTP request, please pass async_req=True - - >>> thread = api.query_jobs(jobs_query, async_req=True) - >>> result = thread.get() - - Args: - jobs_query (JobsQuery): Specification of which jobs to get. - - 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: - JobsQueryResult - 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['jobs_query'] = \ - jobs_query - return self.query_jobs_endpoint.call_with_http_info(**kwargs) - def remove_job_blocklist( self, job_id, diff --git a/addon/flamenco/manager/docs/JobsApi.md b/addon/flamenco/manager/docs/JobsApi.md index d97474b1..9274a14b 100644 --- a/addon/flamenco/manager/docs/JobsApi.md +++ b/addon/flamenco/manager/docs/JobsApi.md @@ -12,12 +12,12 @@ Method | HTTP request | Description [**fetch_job_blocklist**](JobsApi.md#fetch_job_blocklist) | **GET** /api/v3/jobs/{job_id}/blocklist | Fetch the list of workers that are blocked from doing certain task types on this job. [**fetch_job_last_rendered_info**](JobsApi.md#fetch_job_last_rendered_info) | **GET** /api/v3/jobs/{job_id}/last-rendered | Get the URL that serves the last-rendered images of this job. [**fetch_job_tasks**](JobsApi.md#fetch_job_tasks) | **GET** /api/v3/jobs/{job_id}/tasks | Fetch a summary of all tasks of the given job. +[**fetch_jobs**](JobsApi.md#fetch_jobs) | **GET** /api/v3/jobs | List all jobs in the database. [**fetch_task**](JobsApi.md#fetch_task) | **GET** /api/v3/tasks/{task_id} | Fetch a single task. [**fetch_task_log_info**](JobsApi.md#fetch_task_log_info) | **GET** /api/v3/tasks/{task_id}/log | Get the URL of the task log, and some more info. [**fetch_task_log_tail**](JobsApi.md#fetch_task_log_tail) | **GET** /api/v3/tasks/{task_id}/logtail | Fetch the last few lines of the task's log. [**get_job_type**](JobsApi.md#get_job_type) | **GET** /api/v3/jobs/type/{typeName} | Get single job type and its parameters. [**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 | @@ -552,6 +552,69 @@ 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) +# **fetch_jobs** +> JobsQueryResult fetch_jobs() + +List all jobs in the database. + +### 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.jobs_query_result import JobsQueryResult +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) + + # example, this endpoint has no required or optional parameters + try: + # List all jobs in the database. + api_response = api_instance.fetch_jobs() + pprint(api_response) + except flamenco.manager.ApiException as e: + print("Exception when calling JobsApi->fetch_jobs: %s\n" % e) +``` + + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**JobsQueryResult**](JobsQueryResult.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Normal query response, can be empty list if there are no jobs. | - | +**0** | Error message | - | + +[[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) + # **fetch_task** > Task fetch_task(task_id) @@ -880,87 +943,6 @@ 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) -# **query_jobs** -> JobsQueryResult query_jobs(jobs_query) - -Fetch list of jobs. - -### 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.jobs_query import JobsQuery -from flamenco.manager.model.jobs_query_result import JobsQueryResult -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) - jobs_query = JobsQuery( - offset=0, - limit=1, - order_by=[ - "order_by_example", - ], - status_in=[ - JobStatus("active"), - ], - metadata={ - "key": "key_example", - }, - settings={}, - ) # JobsQuery | Specification of which jobs to get. - - # example passing only required values which don't have defaults set - try: - # Fetch list of jobs. - api_response = api_instance.query_jobs(jobs_query) - pprint(api_response) - except flamenco.manager.ApiException as e: - print("Exception when calling JobsApi->query_jobs: %s\n" % e) -``` - - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **jobs_query** | [**JobsQuery**](JobsQuery.md)| Specification of which jobs to get. | - -### Return type - -[**JobsQueryResult**](JobsQueryResult.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | Normal query response, can be empty list if nothing matched the query. | - | -**0** | Error message | - | - -[[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) - # **remove_job_blocklist** > remove_job_blocklist(job_id) diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index 7a292b2d..3c240e5a 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -43,7 +43,6 @@ from flamenco.manager.model.job_mass_deletion_selection import JobMassDeletionSe 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 from flamenco.manager.model.jobs_query_result import JobsQueryResult from flamenco.manager.model.submitted_job import SubmittedJob from flamenco.manager.model.task import Task @@ -76,152 +75,152 @@ All URIs are relative to *http://localhost* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*JobsApi* | [**delete_job**](flamenco/manager/docs/JobsApi.md#delete_job) | **DELETE** /api/v3/jobs/{job_id} | Request deletion this job, including its tasks and any log files. The actual deletion may happen in the background. No job files will be deleted (yet). -*JobsApi* | [**delete_job_mass**](flamenco/manager/docs/JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria. -*JobsApi* | [**delete_job_what_would_it_do**](flamenco/manager/docs/JobsApi.md#delete_job_what_would_it_do) | **GET** /api/v3/jobs/{job_id}/what-would-delete-do | Get info about what would be deleted when deleting this job. The job itself, its logs, and the last-rendered images will always be deleted. The job files are only deleted conditionally, and this operation can be used to figure that out. -*JobsApi* | [**fetch_global_last_rendered_info**](flamenco/manager/docs/JobsApi.md#fetch_global_last_rendered_info) | **GET** /api/v3/jobs/last-rendered | Get the URL that serves the last-rendered images. -*JobsApi* | [**fetch_job**](flamenco/manager/docs/JobsApi.md#fetch_job) | **GET** /api/v3/jobs/{job_id} | Fetch info about the job. -*JobsApi* | [**fetch_job_blocklist**](flamenco/manager/docs/JobsApi.md#fetch_job_blocklist) | **GET** /api/v3/jobs/{job_id}/blocklist | Fetch the list of workers that are blocked from doing certain task types on this job. -*JobsApi* | [**fetch_job_last_rendered_info**](flamenco/manager/docs/JobsApi.md#fetch_job_last_rendered_info) | **GET** /api/v3/jobs/{job_id}/last-rendered | Get the URL that serves the last-rendered images of this job. -*JobsApi* | [**fetch_job_tasks**](flamenco/manager/docs/JobsApi.md#fetch_job_tasks) | **GET** /api/v3/jobs/{job_id}/tasks | Fetch a summary of all tasks of the given job. -*JobsApi* | [**fetch_task**](flamenco/manager/docs/JobsApi.md#fetch_task) | **GET** /api/v3/tasks/{task_id} | Fetch a single task. -*JobsApi* | [**fetch_task_log_info**](flamenco/manager/docs/JobsApi.md#fetch_task_log_info) | **GET** /api/v3/tasks/{task_id}/log | Get the URL of the task log, and some more info. -*JobsApi* | [**fetch_task_log_tail**](flamenco/manager/docs/JobsApi.md#fetch_task_log_tail) | **GET** /api/v3/tasks/{task_id}/logtail | Fetch the last few lines of the task's log. -*JobsApi* | [**get_job_type**](flamenco/manager/docs/JobsApi.md#get_job_type) | **GET** /api/v3/jobs/type/{typeName} | Get single job type and its parameters. -*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. -*JobsApi* | [**submit_job_check**](flamenco/manager/docs/JobsApi.md#submit_job_check) | **POST** /api/v3/jobs/check | Submit a new job for Flamenco Manager to check. -*MetaApi* | [**check_blender_exe_path**](flamenco/manager/docs/MetaApi.md#check_blender_exe_path) | **POST** /api/v3/configuration/check/blender | Validate a CLI command for use as way to start Blender -*MetaApi* | [**check_shared_storage_path**](flamenco/manager/docs/MetaApi.md#check_shared_storage_path) | **POST** /api/v3/configuration/check/shared-storage | Validate a path for use as shared storage. -*MetaApi* | [**find_blender_exe_path**](flamenco/manager/docs/MetaApi.md#find_blender_exe_path) | **GET** /api/v3/configuration/check/blender | Find one or more CLI commands for use as way to start Blender -*MetaApi* | [**get_configuration**](flamenco/manager/docs/MetaApi.md#get_configuration) | **GET** /api/v3/configuration | Get the configuration of this Manager. -*MetaApi* | [**get_configuration_file**](flamenco/manager/docs/MetaApi.md#get_configuration_file) | **GET** /api/v3/configuration/file | Retrieve the configuration of Flamenco Manager. -*MetaApi* | [**get_farm_status**](flamenco/manager/docs/MetaApi.md#get_farm_status) | **GET** /api/v3/status | Get the status of this Flamenco farm. -*MetaApi* | [**get_shared_storage**](flamenco/manager/docs/MetaApi.md#get_shared_storage) | **GET** /api/v3/configuration/shared-storage/{audience}/{platform} | Get the shared storage location of this Manager, adjusted for the given audience and platform. -*MetaApi* | [**get_variables**](flamenco/manager/docs/MetaApi.md#get_variables) | **GET** /api/v3/configuration/variables/{audience}/{platform} | Get the variables of this Manager. Used by the Blender add-on to recognise two-way variables, and for the web interface to do variable replacement based on the browser's platform. -*MetaApi* | [**get_version**](flamenco/manager/docs/MetaApi.md#get_version) | **GET** /api/v3/version | Get the Flamenco version of this Manager -*MetaApi* | [**save_setup_assistant_config**](flamenco/manager/docs/MetaApi.md#save_setup_assistant_config) | **POST** /api/v3/configuration/setup-assistant | Update the Manager's configuration, and restart it in fully functional mode. -*ShamanApi* | [**shaman_checkout**](flamenco/manager/docs/ShamanApi.md#shaman_checkout) | **POST** /api/v3/shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint. -*ShamanApi* | [**shaman_checkout_requirements**](flamenco/manager/docs/ShamanApi.md#shaman_checkout_requirements) | **POST** /api/v3/shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown. -*ShamanApi* | [**shaman_file_store**](flamenco/manager/docs/ShamanApi.md#shaman_file_store) | **POST** /api/v3/shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body. -*ShamanApi* | [**shaman_file_store_check**](flamenco/manager/docs/ShamanApi.md#shaman_file_store_check) | **GET** /api/v3/shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server. -*WorkerApi* | [**may_worker_run**](flamenco/manager/docs/WorkerApi.md#may_worker_run) | **GET** /api/v3/worker/task/{task_id}/may-i-run | The response indicates whether the worker is allowed to run / keep running the task. Optionally contains a queued worker status change. -*WorkerApi* | [**register_worker**](flamenco/manager/docs/WorkerApi.md#register_worker) | **POST** /api/v3/worker/register-worker | Register a new worker -*WorkerApi* | [**schedule_task**](flamenco/manager/docs/WorkerApi.md#schedule_task) | **POST** /api/v3/worker/task | Obtain a new task to execute -*WorkerApi* | [**sign_off**](flamenco/manager/docs/WorkerApi.md#sign_off) | **POST** /api/v3/worker/sign-off | Mark the worker as offline -*WorkerApi* | [**sign_on**](flamenco/manager/docs/WorkerApi.md#sign_on) | **POST** /api/v3/worker/sign-on | Authenticate & sign in the worker. -*WorkerApi* | [**task_output_produced**](flamenco/manager/docs/WorkerApi.md#task_output_produced) | **POST** /api/v3/worker/task/{task_id}/output-produced | Store the most recently rendered frame here. Note that it is up to the Worker to ensure this is in a format that's digestable by the Manager. Currently only PNG and JPEG support is planned. -*WorkerApi* | [**task_update**](flamenco/manager/docs/WorkerApi.md#task_update) | **POST** /api/v3/worker/task/{task_id} | Update the task, typically to indicate progress, completion, or failure. -*WorkerApi* | [**worker_state**](flamenco/manager/docs/WorkerApi.md#worker_state) | **GET** /api/v3/worker/state | -*WorkerApi* | [**worker_state_changed**](flamenco/manager/docs/WorkerApi.md#worker_state_changed) | **POST** /api/v3/worker/state-changed | Worker changed state. This could be as acknowledgement of a Manager-requested state change, or in response to worker-local signals. -*WorkerMgtApi* | [**create_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#create_worker_tag) | **POST** /api/v3/worker-mgt/tags | Create a new worker tag. -*WorkerMgtApi* | [**delete_worker**](flamenco/manager/docs/WorkerMgtApi.md#delete_worker) | **DELETE** /api/v3/worker-mgt/workers/{worker_id} | Remove the given worker. It is recommended to only call this function when the worker is in `offline` state. If the worker is still running, stop it first. Any task still assigned to the worker will be requeued. -*WorkerMgtApi* | [**delete_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#delete_worker_tag) | **DELETE** /api/v3/worker-mgt/tag/{tag_id} | Remove this worker tag. This unassigns all workers from the tag and removes it. -*WorkerMgtApi* | [**fetch_worker**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker) | **GET** /api/v3/worker-mgt/workers/{worker_id} | Fetch info about the worker. -*WorkerMgtApi* | [**fetch_worker_sleep_schedule**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_sleep_schedule) | **GET** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | -*WorkerMgtApi* | [**fetch_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_tag) | **GET** /api/v3/worker-mgt/tag/{tag_id} | Get a single worker tag. -*WorkerMgtApi* | [**fetch_worker_tags**](flamenco/manager/docs/WorkerMgtApi.md#fetch_worker_tags) | **GET** /api/v3/worker-mgt/tags | Get list of worker tags. -*WorkerMgtApi* | [**fetch_workers**](flamenco/manager/docs/WorkerMgtApi.md#fetch_workers) | **GET** /api/v3/worker-mgt/workers | Get list of workers. -*WorkerMgtApi* | [**request_worker_status_change**](flamenco/manager/docs/WorkerMgtApi.md#request_worker_status_change) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setstatus | -*WorkerMgtApi* | [**set_worker_sleep_schedule**](flamenco/manager/docs/WorkerMgtApi.md#set_worker_sleep_schedule) | **POST** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | -*WorkerMgtApi* | [**set_worker_tags**](flamenco/manager/docs/WorkerMgtApi.md#set_worker_tags) | **POST** /api/v3/worker-mgt/workers/{worker_id}/settags | -*WorkerMgtApi* | [**update_worker_tag**](flamenco/manager/docs/WorkerMgtApi.md#update_worker_tag) | **PUT** /api/v3/worker-mgt/tag/{tag_id} | Update an existing worker tag. +*JobsApi* | [**delete_job**](flamenco\manager\docs/JobsApi.md#delete_job) | **DELETE** /api/v3/jobs/{job_id} | Request deletion this job, including its tasks and any log files. The actual deletion may happen in the background. No job files will be deleted (yet). +*JobsApi* | [**delete_job_mass**](flamenco\manager\docs/JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria. +*JobsApi* | [**delete_job_what_would_it_do**](flamenco\manager\docs/JobsApi.md#delete_job_what_would_it_do) | **GET** /api/v3/jobs/{job_id}/what-would-delete-do | Get info about what would be deleted when deleting this job. The job itself, its logs, and the last-rendered images will always be deleted. The job files are only deleted conditionally, and this operation can be used to figure that out. +*JobsApi* | [**fetch_global_last_rendered_info**](flamenco\manager\docs/JobsApi.md#fetch_global_last_rendered_info) | **GET** /api/v3/jobs/last-rendered | Get the URL that serves the last-rendered images. +*JobsApi* | [**fetch_job**](flamenco\manager\docs/JobsApi.md#fetch_job) | **GET** /api/v3/jobs/{job_id} | Fetch info about the job. +*JobsApi* | [**fetch_job_blocklist**](flamenco\manager\docs/JobsApi.md#fetch_job_blocklist) | **GET** /api/v3/jobs/{job_id}/blocklist | Fetch the list of workers that are blocked from doing certain task types on this job. +*JobsApi* | [**fetch_job_last_rendered_info**](flamenco\manager\docs/JobsApi.md#fetch_job_last_rendered_info) | **GET** /api/v3/jobs/{job_id}/last-rendered | Get the URL that serves the last-rendered images of this job. +*JobsApi* | [**fetch_job_tasks**](flamenco\manager\docs/JobsApi.md#fetch_job_tasks) | **GET** /api/v3/jobs/{job_id}/tasks | Fetch a summary of all tasks of the given job. +*JobsApi* | [**fetch_jobs**](flamenco\manager\docs/JobsApi.md#fetch_jobs) | **GET** /api/v3/jobs | List all jobs in the database. +*JobsApi* | [**fetch_task**](flamenco\manager\docs/JobsApi.md#fetch_task) | **GET** /api/v3/tasks/{task_id} | Fetch a single task. +*JobsApi* | [**fetch_task_log_info**](flamenco\manager\docs/JobsApi.md#fetch_task_log_info) | **GET** /api/v3/tasks/{task_id}/log | Get the URL of the task log, and some more info. +*JobsApi* | [**fetch_task_log_tail**](flamenco\manager\docs/JobsApi.md#fetch_task_log_tail) | **GET** /api/v3/tasks/{task_id}/logtail | Fetch the last few lines of the task's log. +*JobsApi* | [**get_job_type**](flamenco\manager\docs/JobsApi.md#get_job_type) | **GET** /api/v3/jobs/type/{typeName} | Get single job type and its parameters. +*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* | [**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. +*JobsApi* | [**submit_job_check**](flamenco\manager\docs/JobsApi.md#submit_job_check) | **POST** /api/v3/jobs/check | Submit a new job for Flamenco Manager to check. +*MetaApi* | [**check_blender_exe_path**](flamenco\manager\docs/MetaApi.md#check_blender_exe_path) | **POST** /api/v3/configuration/check/blender | Validate a CLI command for use as way to start Blender +*MetaApi* | [**check_shared_storage_path**](flamenco\manager\docs/MetaApi.md#check_shared_storage_path) | **POST** /api/v3/configuration/check/shared-storage | Validate a path for use as shared storage. +*MetaApi* | [**find_blender_exe_path**](flamenco\manager\docs/MetaApi.md#find_blender_exe_path) | **GET** /api/v3/configuration/check/blender | Find one or more CLI commands for use as way to start Blender +*MetaApi* | [**get_configuration**](flamenco\manager\docs/MetaApi.md#get_configuration) | **GET** /api/v3/configuration | Get the configuration of this Manager. +*MetaApi* | [**get_configuration_file**](flamenco\manager\docs/MetaApi.md#get_configuration_file) | **GET** /api/v3/configuration/file | Retrieve the configuration of Flamenco Manager. +*MetaApi* | [**get_farm_status**](flamenco\manager\docs/MetaApi.md#get_farm_status) | **GET** /api/v3/status | Get the status of this Flamenco farm. +*MetaApi* | [**get_shared_storage**](flamenco\manager\docs/MetaApi.md#get_shared_storage) | **GET** /api/v3/configuration/shared-storage/{audience}/{platform} | Get the shared storage location of this Manager, adjusted for the given audience and platform. +*MetaApi* | [**get_variables**](flamenco\manager\docs/MetaApi.md#get_variables) | **GET** /api/v3/configuration/variables/{audience}/{platform} | Get the variables of this Manager. Used by the Blender add-on to recognise two-way variables, and for the web interface to do variable replacement based on the browser's platform. +*MetaApi* | [**get_version**](flamenco\manager\docs/MetaApi.md#get_version) | **GET** /api/v3/version | Get the Flamenco version of this Manager +*MetaApi* | [**save_setup_assistant_config**](flamenco\manager\docs/MetaApi.md#save_setup_assistant_config) | **POST** /api/v3/configuration/setup-assistant | Update the Manager's configuration, and restart it in fully functional mode. +*ShamanApi* | [**shaman_checkout**](flamenco\manager\docs/ShamanApi.md#shaman_checkout) | **POST** /api/v3/shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint. +*ShamanApi* | [**shaman_checkout_requirements**](flamenco\manager\docs/ShamanApi.md#shaman_checkout_requirements) | **POST** /api/v3/shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown. +*ShamanApi* | [**shaman_file_store**](flamenco\manager\docs/ShamanApi.md#shaman_file_store) | **POST** /api/v3/shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body. +*ShamanApi* | [**shaman_file_store_check**](flamenco\manager\docs/ShamanApi.md#shaman_file_store_check) | **GET** /api/v3/shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server. +*WorkerApi* | [**may_worker_run**](flamenco\manager\docs/WorkerApi.md#may_worker_run) | **GET** /api/v3/worker/task/{task_id}/may-i-run | The response indicates whether the worker is allowed to run / keep running the task. Optionally contains a queued worker status change. +*WorkerApi* | [**register_worker**](flamenco\manager\docs/WorkerApi.md#register_worker) | **POST** /api/v3/worker/register-worker | Register a new worker +*WorkerApi* | [**schedule_task**](flamenco\manager\docs/WorkerApi.md#schedule_task) | **POST** /api/v3/worker/task | Obtain a new task to execute +*WorkerApi* | [**sign_off**](flamenco\manager\docs/WorkerApi.md#sign_off) | **POST** /api/v3/worker/sign-off | Mark the worker as offline +*WorkerApi* | [**sign_on**](flamenco\manager\docs/WorkerApi.md#sign_on) | **POST** /api/v3/worker/sign-on | Authenticate & sign in the worker. +*WorkerApi* | [**task_output_produced**](flamenco\manager\docs/WorkerApi.md#task_output_produced) | **POST** /api/v3/worker/task/{task_id}/output-produced | Store the most recently rendered frame here. Note that it is up to the Worker to ensure this is in a format that's digestable by the Manager. Currently only PNG and JPEG support is planned. +*WorkerApi* | [**task_update**](flamenco\manager\docs/WorkerApi.md#task_update) | **POST** /api/v3/worker/task/{task_id} | Update the task, typically to indicate progress, completion, or failure. +*WorkerApi* | [**worker_state**](flamenco\manager\docs/WorkerApi.md#worker_state) | **GET** /api/v3/worker/state | +*WorkerApi* | [**worker_state_changed**](flamenco\manager\docs/WorkerApi.md#worker_state_changed) | **POST** /api/v3/worker/state-changed | Worker changed state. This could be as acknowledgement of a Manager-requested state change, or in response to worker-local signals. +*WorkerMgtApi* | [**create_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#create_worker_tag) | **POST** /api/v3/worker-mgt/tags | Create a new worker tag. +*WorkerMgtApi* | [**delete_worker**](flamenco\manager\docs/WorkerMgtApi.md#delete_worker) | **DELETE** /api/v3/worker-mgt/workers/{worker_id} | Remove the given worker. It is recommended to only call this function when the worker is in `offline` state. If the worker is still running, stop it first. Any task still assigned to the worker will be requeued. +*WorkerMgtApi* | [**delete_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#delete_worker_tag) | **DELETE** /api/v3/worker-mgt/tag/{tag_id} | Remove this worker tag. This unassigns all workers from the tag and removes it. +*WorkerMgtApi* | [**fetch_worker**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker) | **GET** /api/v3/worker-mgt/workers/{worker_id} | Fetch info about the worker. +*WorkerMgtApi* | [**fetch_worker_sleep_schedule**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker_sleep_schedule) | **GET** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | +*WorkerMgtApi* | [**fetch_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker_tag) | **GET** /api/v3/worker-mgt/tag/{tag_id} | Get a single worker tag. +*WorkerMgtApi* | [**fetch_worker_tags**](flamenco\manager\docs/WorkerMgtApi.md#fetch_worker_tags) | **GET** /api/v3/worker-mgt/tags | Get list of worker tags. +*WorkerMgtApi* | [**fetch_workers**](flamenco\manager\docs/WorkerMgtApi.md#fetch_workers) | **GET** /api/v3/worker-mgt/workers | Get list of workers. +*WorkerMgtApi* | [**request_worker_status_change**](flamenco\manager\docs/WorkerMgtApi.md#request_worker_status_change) | **POST** /api/v3/worker-mgt/workers/{worker_id}/setstatus | +*WorkerMgtApi* | [**set_worker_sleep_schedule**](flamenco\manager\docs/WorkerMgtApi.md#set_worker_sleep_schedule) | **POST** /api/v3/worker-mgt/workers/{worker_id}/sleep-schedule | +*WorkerMgtApi* | [**set_worker_tags**](flamenco\manager\docs/WorkerMgtApi.md#set_worker_tags) | **POST** /api/v3/worker-mgt/workers/{worker_id}/settags | +*WorkerMgtApi* | [**update_worker_tag**](flamenco\manager\docs/WorkerMgtApi.md#update_worker_tag) | **PUT** /api/v3/worker-mgt/tag/{tag_id} | Update an existing worker tag. ## Documentation For Models - - [AssignedTask](flamenco/manager/docs/AssignedTask.md) - - [AvailableJobSetting](flamenco/manager/docs/AvailableJobSetting.md) - - [AvailableJobSettingEvalInfo](flamenco/manager/docs/AvailableJobSettingEvalInfo.md) - - [AvailableJobSettingSubtype](flamenco/manager/docs/AvailableJobSettingSubtype.md) - - [AvailableJobSettingType](flamenco/manager/docs/AvailableJobSettingType.md) - - [AvailableJobSettingVisibility](flamenco/manager/docs/AvailableJobSettingVisibility.md) - - [AvailableJobType](flamenco/manager/docs/AvailableJobType.md) - - [AvailableJobTypes](flamenco/manager/docs/AvailableJobTypes.md) - - [BlenderPathCheckResult](flamenco/manager/docs/BlenderPathCheckResult.md) - - [BlenderPathFindResult](flamenco/manager/docs/BlenderPathFindResult.md) - - [BlenderPathSource](flamenco/manager/docs/BlenderPathSource.md) - - [Command](flamenco/manager/docs/Command.md) - - [Error](flamenco/manager/docs/Error.md) - - [EventFarmStatus](flamenco/manager/docs/EventFarmStatus.md) - - [EventJobUpdate](flamenco/manager/docs/EventJobUpdate.md) - - [EventLastRenderedUpdate](flamenco/manager/docs/EventLastRenderedUpdate.md) - - [EventLifeCycle](flamenco/manager/docs/EventLifeCycle.md) - - [EventTaskLogUpdate](flamenco/manager/docs/EventTaskLogUpdate.md) - - [EventTaskUpdate](flamenco/manager/docs/EventTaskUpdate.md) - - [EventWorkerTagUpdate](flamenco/manager/docs/EventWorkerTagUpdate.md) - - [EventWorkerUpdate](flamenco/manager/docs/EventWorkerUpdate.md) - - [FarmStatus](flamenco/manager/docs/FarmStatus.md) - - [FarmStatusReport](flamenco/manager/docs/FarmStatusReport.md) - - [FlamencoVersion](flamenco/manager/docs/FlamencoVersion.md) - - [Job](flamenco/manager/docs/Job.md) - - [JobAllOf](flamenco/manager/docs/JobAllOf.md) - - [JobBlocklist](flamenco/manager/docs/JobBlocklist.md) - - [JobBlocklistEntry](flamenco/manager/docs/JobBlocklistEntry.md) - - [JobDeletionInfo](flamenco/manager/docs/JobDeletionInfo.md) - - [JobLastRenderedImageInfo](flamenco/manager/docs/JobLastRenderedImageInfo.md) - - [JobMassDeletionSelection](flamenco/manager/docs/JobMassDeletionSelection.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) - - [JobStorageInfo](flamenco/manager/docs/JobStorageInfo.md) - - [JobTasksSummary](flamenco/manager/docs/JobTasksSummary.md) - - [JobsQuery](flamenco/manager/docs/JobsQuery.md) - - [JobsQueryResult](flamenco/manager/docs/JobsQueryResult.md) - - [LifeCycleEventType](flamenco/manager/docs/LifeCycleEventType.md) - - [ManagerConfiguration](flamenco/manager/docs/ManagerConfiguration.md) - - [ManagerVariable](flamenco/manager/docs/ManagerVariable.md) - - [ManagerVariableAudience](flamenco/manager/docs/ManagerVariableAudience.md) - - [ManagerVariables](flamenco/manager/docs/ManagerVariables.md) - - [MayKeepRunning](flamenco/manager/docs/MayKeepRunning.md) - - [PathCheckInput](flamenco/manager/docs/PathCheckInput.md) - - [PathCheckResult](flamenco/manager/docs/PathCheckResult.md) - - [RegisteredWorker](flamenco/manager/docs/RegisteredWorker.md) - - [SecurityError](flamenco/manager/docs/SecurityError.md) - - [SetupAssistantConfig](flamenco/manager/docs/SetupAssistantConfig.md) - - [ShamanCheckout](flamenco/manager/docs/ShamanCheckout.md) - - [ShamanCheckoutResult](flamenco/manager/docs/ShamanCheckoutResult.md) - - [ShamanFileSpec](flamenco/manager/docs/ShamanFileSpec.md) - - [ShamanFileSpecWithStatus](flamenco/manager/docs/ShamanFileSpecWithStatus.md) - - [ShamanFileStatus](flamenco/manager/docs/ShamanFileStatus.md) - - [ShamanRequirementsRequest](flamenco/manager/docs/ShamanRequirementsRequest.md) - - [ShamanRequirementsResponse](flamenco/manager/docs/ShamanRequirementsResponse.md) - - [ShamanSingleFileStatus](flamenco/manager/docs/ShamanSingleFileStatus.md) - - [SharedStorageLocation](flamenco/manager/docs/SharedStorageLocation.md) - - [SocketIOSubscription](flamenco/manager/docs/SocketIOSubscription.md) - - [SocketIOSubscriptionOperation](flamenco/manager/docs/SocketIOSubscriptionOperation.md) - - [SocketIOSubscriptionType](flamenco/manager/docs/SocketIOSubscriptionType.md) - - [SubmittedJob](flamenco/manager/docs/SubmittedJob.md) - - [Task](flamenco/manager/docs/Task.md) - - [TaskLogInfo](flamenco/manager/docs/TaskLogInfo.md) - - [TaskStatus](flamenco/manager/docs/TaskStatus.md) - - [TaskStatusChange](flamenco/manager/docs/TaskStatusChange.md) - - [TaskSummary](flamenco/manager/docs/TaskSummary.md) - - [TaskUpdate](flamenco/manager/docs/TaskUpdate.md) - - [TaskWorker](flamenco/manager/docs/TaskWorker.md) - - [Worker](flamenco/manager/docs/Worker.md) - - [WorkerAllOf](flamenco/manager/docs/WorkerAllOf.md) - - [WorkerList](flamenco/manager/docs/WorkerList.md) - - [WorkerRegistration](flamenco/manager/docs/WorkerRegistration.md) - - [WorkerSignOn](flamenco/manager/docs/WorkerSignOn.md) - - [WorkerSleepSchedule](flamenco/manager/docs/WorkerSleepSchedule.md) - - [WorkerStateChange](flamenco/manager/docs/WorkerStateChange.md) - - [WorkerStateChanged](flamenco/manager/docs/WorkerStateChanged.md) - - [WorkerStatus](flamenco/manager/docs/WorkerStatus.md) - - [WorkerStatusChangeRequest](flamenco/manager/docs/WorkerStatusChangeRequest.md) - - [WorkerSummary](flamenco/manager/docs/WorkerSummary.md) - - [WorkerTag](flamenco/manager/docs/WorkerTag.md) - - [WorkerTagChangeRequest](flamenco/manager/docs/WorkerTagChangeRequest.md) - - [WorkerTagList](flamenco/manager/docs/WorkerTagList.md) - - [WorkerTask](flamenco/manager/docs/WorkerTask.md) - - [WorkerTaskAllOf](flamenco/manager/docs/WorkerTaskAllOf.md) + - [AssignedTask](flamenco\manager\docs/AssignedTask.md) + - [AvailableJobSetting](flamenco\manager\docs/AvailableJobSetting.md) + - [AvailableJobSettingEvalInfo](flamenco\manager\docs/AvailableJobSettingEvalInfo.md) + - [AvailableJobSettingSubtype](flamenco\manager\docs/AvailableJobSettingSubtype.md) + - [AvailableJobSettingType](flamenco\manager\docs/AvailableJobSettingType.md) + - [AvailableJobSettingVisibility](flamenco\manager\docs/AvailableJobSettingVisibility.md) + - [AvailableJobType](flamenco\manager\docs/AvailableJobType.md) + - [AvailableJobTypes](flamenco\manager\docs/AvailableJobTypes.md) + - [BlenderPathCheckResult](flamenco\manager\docs/BlenderPathCheckResult.md) + - [BlenderPathFindResult](flamenco\manager\docs/BlenderPathFindResult.md) + - [BlenderPathSource](flamenco\manager\docs/BlenderPathSource.md) + - [Command](flamenco\manager\docs/Command.md) + - [Error](flamenco\manager\docs/Error.md) + - [EventFarmStatus](flamenco\manager\docs/EventFarmStatus.md) + - [EventJobUpdate](flamenco\manager\docs/EventJobUpdate.md) + - [EventLastRenderedUpdate](flamenco\manager\docs/EventLastRenderedUpdate.md) + - [EventLifeCycle](flamenco\manager\docs/EventLifeCycle.md) + - [EventTaskLogUpdate](flamenco\manager\docs/EventTaskLogUpdate.md) + - [EventTaskUpdate](flamenco\manager\docs/EventTaskUpdate.md) + - [EventWorkerTagUpdate](flamenco\manager\docs/EventWorkerTagUpdate.md) + - [EventWorkerUpdate](flamenco\manager\docs/EventWorkerUpdate.md) + - [FarmStatus](flamenco\manager\docs/FarmStatus.md) + - [FarmStatusReport](flamenco\manager\docs/FarmStatusReport.md) + - [FlamencoVersion](flamenco\manager\docs/FlamencoVersion.md) + - [Job](flamenco\manager\docs/Job.md) + - [JobAllOf](flamenco\manager\docs/JobAllOf.md) + - [JobBlocklist](flamenco\manager\docs/JobBlocklist.md) + - [JobBlocklistEntry](flamenco\manager\docs/JobBlocklistEntry.md) + - [JobDeletionInfo](flamenco\manager\docs/JobDeletionInfo.md) + - [JobLastRenderedImageInfo](flamenco\manager\docs/JobLastRenderedImageInfo.md) + - [JobMassDeletionSelection](flamenco\manager\docs/JobMassDeletionSelection.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) + - [JobStorageInfo](flamenco\manager\docs/JobStorageInfo.md) + - [JobTasksSummary](flamenco\manager\docs/JobTasksSummary.md) + - [JobsQuery](flamenco\manager\docs/JobsQuery.md) + - [JobsQueryResult](flamenco\manager\docs/JobsQueryResult.md) + - [LifeCycleEventType](flamenco\manager\docs/LifeCycleEventType.md) + - [ManagerConfiguration](flamenco\manager\docs/ManagerConfiguration.md) + - [ManagerVariable](flamenco\manager\docs/ManagerVariable.md) + - [ManagerVariableAudience](flamenco\manager\docs/ManagerVariableAudience.md) + - [ManagerVariables](flamenco\manager\docs/ManagerVariables.md) + - [MayKeepRunning](flamenco\manager\docs/MayKeepRunning.md) + - [PathCheckInput](flamenco\manager\docs/PathCheckInput.md) + - [PathCheckResult](flamenco\manager\docs/PathCheckResult.md) + - [RegisteredWorker](flamenco\manager\docs/RegisteredWorker.md) + - [SecurityError](flamenco\manager\docs/SecurityError.md) + - [SetupAssistantConfig](flamenco\manager\docs/SetupAssistantConfig.md) + - [ShamanCheckout](flamenco\manager\docs/ShamanCheckout.md) + - [ShamanCheckoutResult](flamenco\manager\docs/ShamanCheckoutResult.md) + - [ShamanFileSpec](flamenco\manager\docs/ShamanFileSpec.md) + - [ShamanFileSpecWithStatus](flamenco\manager\docs/ShamanFileSpecWithStatus.md) + - [ShamanFileStatus](flamenco\manager\docs/ShamanFileStatus.md) + - [ShamanRequirementsRequest](flamenco\manager\docs/ShamanRequirementsRequest.md) + - [ShamanRequirementsResponse](flamenco\manager\docs/ShamanRequirementsResponse.md) + - [ShamanSingleFileStatus](flamenco\manager\docs/ShamanSingleFileStatus.md) + - [SharedStorageLocation](flamenco\manager\docs/SharedStorageLocation.md) + - [SocketIOSubscription](flamenco\manager\docs/SocketIOSubscription.md) + - [SocketIOSubscriptionOperation](flamenco\manager\docs/SocketIOSubscriptionOperation.md) + - [SocketIOSubscriptionType](flamenco\manager\docs/SocketIOSubscriptionType.md) + - [SubmittedJob](flamenco\manager\docs/SubmittedJob.md) + - [Task](flamenco\manager\docs/Task.md) + - [TaskLogInfo](flamenco\manager\docs/TaskLogInfo.md) + - [TaskStatus](flamenco\manager\docs/TaskStatus.md) + - [TaskStatusChange](flamenco\manager\docs/TaskStatusChange.md) + - [TaskSummary](flamenco\manager\docs/TaskSummary.md) + - [TaskUpdate](flamenco\manager\docs/TaskUpdate.md) + - [TaskWorker](flamenco\manager\docs/TaskWorker.md) + - [Worker](flamenco\manager\docs/Worker.md) + - [WorkerAllOf](flamenco\manager\docs/WorkerAllOf.md) + - [WorkerList](flamenco\manager\docs/WorkerList.md) + - [WorkerRegistration](flamenco\manager\docs/WorkerRegistration.md) + - [WorkerSignOn](flamenco\manager\docs/WorkerSignOn.md) + - [WorkerSleepSchedule](flamenco\manager\docs/WorkerSleepSchedule.md) + - [WorkerStateChange](flamenco\manager\docs/WorkerStateChange.md) + - [WorkerStateChanged](flamenco\manager\docs/WorkerStateChanged.md) + - [WorkerStatus](flamenco\manager\docs/WorkerStatus.md) + - [WorkerStatusChangeRequest](flamenco\manager\docs/WorkerStatusChangeRequest.md) + - [WorkerSummary](flamenco\manager\docs/WorkerSummary.md) + - [WorkerTag](flamenco\manager\docs/WorkerTag.md) + - [WorkerTagChangeRequest](flamenco\manager\docs/WorkerTagChangeRequest.md) + - [WorkerTagList](flamenco\manager\docs/WorkerTagList.md) + - [WorkerTask](flamenco\manager\docs/WorkerTask.md) + - [WorkerTaskAllOf](flamenco\manager\docs/WorkerTaskAllOf.md) ## Documentation For Authorization diff --git a/internal/worker/mocks/client.gen.go b/internal/worker/mocks/client.gen.go index 679769bb..3a8ecbfb 100644 --- a/internal/worker/mocks/client.gen.go +++ b/internal/worker/mocks/client.gen.go @@ -376,6 +376,26 @@ func (mr *MockFlamencoClientMockRecorder) FetchJobWithResponse(arg0, arg1 interf return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchJobWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchJobWithResponse), varargs...) } +// FetchJobsWithResponse mocks base method. +func (m *MockFlamencoClient) FetchJobsWithResponse(arg0 context.Context, arg1 ...api.RequestEditorFn) (*api.FetchJobsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0} + for _, a := range arg1 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "FetchJobsWithResponse", varargs...) + ret0, _ := ret[0].(*api.FetchJobsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// FetchJobsWithResponse indicates an expected call of FetchJobsWithResponse. +func (mr *MockFlamencoClientMockRecorder) FetchJobsWithResponse(arg0 interface{}, arg1 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0}, arg1...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchJobsWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).FetchJobsWithResponse), varargs...) +} + // FetchTaskLogInfoWithResponse mocks base method. func (m *MockFlamencoClient) FetchTaskLogInfoWithResponse(arg0 context.Context, arg1 string, arg2 ...api.RequestEditorFn) (*api.FetchTaskLogInfoResponse, error) { m.ctrl.T.Helper() @@ -736,46 +756,6 @@ func (mr *MockFlamencoClientMockRecorder) MayWorkerRunWithResponse(arg0, arg1 in return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MayWorkerRunWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).MayWorkerRunWithResponse), varargs...) } -// QueryJobsWithBodyWithResponse mocks base method. -func (m *MockFlamencoClient) QueryJobsWithBodyWithResponse(arg0 context.Context, arg1 string, arg2 io.Reader, arg3 ...api.RequestEditorFn) (*api.QueryJobsResponse, error) { - m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1, arg2} - for _, a := range arg3 { - varargs = append(varargs, a) - } - ret := m.ctrl.Call(m, "QueryJobsWithBodyWithResponse", varargs...) - ret0, _ := ret[0].(*api.QueryJobsResponse) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// QueryJobsWithBodyWithResponse indicates an expected call of QueryJobsWithBodyWithResponse. -func (mr *MockFlamencoClientMockRecorder) QueryJobsWithBodyWithResponse(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, "QueryJobsWithBodyWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).QueryJobsWithBodyWithResponse), varargs...) -} - -// QueryJobsWithResponse mocks base method. -func (m *MockFlamencoClient) QueryJobsWithResponse(arg0 context.Context, arg1 api.QueryJobsJSONRequestBody, arg2 ...api.RequestEditorFn) (*api.QueryJobsResponse, error) { - m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1} - for _, a := range arg2 { - varargs = append(varargs, a) - } - ret := m.ctrl.Call(m, "QueryJobsWithResponse", varargs...) - ret0, _ := ret[0].(*api.QueryJobsResponse) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// QueryJobsWithResponse indicates an expected call of QueryJobsWithResponse. -func (mr *MockFlamencoClientMockRecorder) QueryJobsWithResponse(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1}, arg2...) - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryJobsWithResponse", reflect.TypeOf((*MockFlamencoClient)(nil).QueryJobsWithResponse), varargs...) -} - // RegisterWorkerWithBodyWithResponse mocks base method. func (m *MockFlamencoClient) RegisterWorkerWithBodyWithResponse(arg0 context.Context, arg1 string, arg2 io.Reader, arg3 ...api.RequestEditorFn) (*api.RegisterWorkerResponse, error) { m.ctrl.T.Helper() diff --git a/pkg/api/openapi_client.gen.go b/pkg/api/openapi_client.gen.go index a586636a..b2fcab68 100644 --- a/pkg/api/openapi_client.gen.go +++ b/pkg/api/openapi_client.gen.go @@ -122,6 +122,9 @@ type ClientInterface interface { // GetVariables request GetVariables(ctx context.Context, audience ManagerVariableAudience, platform string, reqEditors ...RequestEditorFn) (*http.Response, error) + // FetchJobs request + FetchJobs(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) + // SubmitJob request with any body SubmitJobWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -140,11 +143,6 @@ type ClientInterface interface { DeleteJobMass(ctx context.Context, body DeleteJobMassJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - // QueryJobs request with any body - QueryJobsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - QueryJobs(ctx context.Context, body QueryJobsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - // GetJobType request GetJobType(ctx context.Context, typeName string, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -434,6 +432,18 @@ func (c *Client) GetVariables(ctx context.Context, audience ManagerVariableAudie return c.Client.Do(req) } +func (c *Client) FetchJobs(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewFetchJobsRequest(c.Server) + 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) SubmitJobWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewSubmitJobRequestWithBody(c.Server, contentType, body) if err != nil { @@ -518,30 +528,6 @@ func (c *Client) DeleteJobMass(ctx context.Context, body DeleteJobMassJSONReques return c.Client.Do(req) } -func (c *Client) QueryJobsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewQueryJobsRequestWithBody(c.Server, 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) QueryJobs(ctx context.Context, body QueryJobsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewQueryJobsRequest(c.Server, 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) GetJobType(ctx context.Context, typeName string, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewGetJobTypeRequest(c.Server, typeName) if err != nil { @@ -1509,6 +1495,33 @@ func NewGetVariablesRequest(server string, audience ManagerVariableAudience, pla return req, nil } +// NewFetchJobsRequest generates requests for FetchJobs +func NewFetchJobsRequest(server string) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/api/v3/jobs") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + // NewSubmitJobRequest calls the generic SubmitJob builder with application/json body func NewSubmitJobRequest(server string, body SubmitJobJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader @@ -1656,46 +1669,6 @@ func NewDeleteJobMassRequestWithBody(server string, contentType string, body io. return req, nil } -// NewQueryJobsRequest calls the generic QueryJobs builder with application/json body -func NewQueryJobsRequest(server string, body QueryJobsJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewQueryJobsRequestWithBody(server, "application/json", bodyReader) -} - -// NewQueryJobsRequestWithBody generates requests for QueryJobs with any type of body -func NewQueryJobsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/api/v3/jobs/query") - 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 -} - // NewGetJobTypeRequest generates requests for GetJobType func NewGetJobTypeRequest(server string, typeName string) (*http.Request, error) { var err error @@ -3334,6 +3307,9 @@ type ClientWithResponsesInterface interface { // GetVariables request GetVariablesWithResponse(ctx context.Context, audience ManagerVariableAudience, platform string, reqEditors ...RequestEditorFn) (*GetVariablesResponse, error) + // FetchJobs request + FetchJobsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchJobsResponse, error) + // SubmitJob request with any body SubmitJobWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SubmitJobResponse, error) @@ -3352,11 +3328,6 @@ type ClientWithResponsesInterface interface { DeleteJobMassWithResponse(ctx context.Context, body DeleteJobMassJSONRequestBody, reqEditors ...RequestEditorFn) (*DeleteJobMassResponse, error) - // QueryJobs request with any body - QueryJobsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*QueryJobsResponse, error) - - QueryJobsWithResponse(ctx context.Context, body QueryJobsJSONRequestBody, reqEditors ...RequestEditorFn) (*QueryJobsResponse, error) - // GetJobType request GetJobTypeWithResponse(ctx context.Context, typeName string, reqEditors ...RequestEditorFn) (*GetJobTypeResponse, error) @@ -3696,6 +3667,29 @@ func (r GetVariablesResponse) StatusCode() int { return 0 } +type FetchJobsResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *JobsQueryResult + JSONDefault *Error +} + +// Status returns HTTPResponse.Status +func (r FetchJobsResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r FetchJobsResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + type SubmitJobResponse struct { Body []byte HTTPResponse *http.Response @@ -3788,29 +3782,6 @@ func (r DeleteJobMassResponse) StatusCode() int { return 0 } -type QueryJobsResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *JobsQueryResult - JSONDefault *Error -} - -// Status returns HTTPResponse.Status -func (r QueryJobsResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r QueryJobsResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - type GetJobTypeResponse struct { Body []byte HTTPResponse *http.Response @@ -4852,6 +4823,15 @@ func (c *ClientWithResponses) GetVariablesWithResponse(ctx context.Context, audi return ParseGetVariablesResponse(rsp) } +// FetchJobsWithResponse request returning *FetchJobsResponse +func (c *ClientWithResponses) FetchJobsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*FetchJobsResponse, error) { + rsp, err := c.FetchJobs(ctx, reqEditors...) + if err != nil { + return nil, err + } + return ParseFetchJobsResponse(rsp) +} + // SubmitJobWithBodyWithResponse request with arbitrary body returning *SubmitJobResponse func (c *ClientWithResponses) SubmitJobWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SubmitJobResponse, error) { rsp, err := c.SubmitJobWithBody(ctx, contentType, body, reqEditors...) @@ -4912,23 +4892,6 @@ func (c *ClientWithResponses) DeleteJobMassWithResponse(ctx context.Context, bod return ParseDeleteJobMassResponse(rsp) } -// QueryJobsWithBodyWithResponse request with arbitrary body returning *QueryJobsResponse -func (c *ClientWithResponses) QueryJobsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*QueryJobsResponse, error) { - rsp, err := c.QueryJobsWithBody(ctx, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseQueryJobsResponse(rsp) -} - -func (c *ClientWithResponses) QueryJobsWithResponse(ctx context.Context, body QueryJobsJSONRequestBody, reqEditors ...RequestEditorFn) (*QueryJobsResponse, error) { - rsp, err := c.QueryJobs(ctx, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseQueryJobsResponse(rsp) -} - // GetJobTypeWithResponse request returning *GetJobTypeResponse func (c *ClientWithResponses) GetJobTypeWithResponse(ctx context.Context, typeName string, reqEditors ...RequestEditorFn) (*GetJobTypeResponse, error) { rsp, err := c.GetJobType(ctx, typeName, reqEditors...) @@ -5665,6 +5628,39 @@ func ParseGetVariablesResponse(rsp *http.Response) (*GetVariablesResponse, error return response, nil } +// ParseFetchJobsResponse parses an HTTP response from a FetchJobsWithResponse call +func ParseFetchJobsResponse(rsp *http.Response) (*FetchJobsResponse, error) { + bodyBytes, err := ioutil.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &FetchJobsResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest JobsQueryResult + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + 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 +} + // ParseSubmitJobResponse parses an HTTP response from a SubmitJobWithResponse call func ParseSubmitJobResponse(rsp *http.Response) (*SubmitJobResponse, error) { bodyBytes, err := ioutil.ReadAll(rsp.Body) @@ -5797,39 +5793,6 @@ func ParseDeleteJobMassResponse(rsp *http.Response) (*DeleteJobMassResponse, err return response, nil } -// ParseQueryJobsResponse parses an HTTP response from a QueryJobsWithResponse call -func ParseQueryJobsResponse(rsp *http.Response) (*QueryJobsResponse, error) { - bodyBytes, err := ioutil.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &QueryJobsResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest JobsQueryResult - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - 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 -} - // ParseGetJobTypeResponse parses an HTTP response from a GetJobTypeWithResponse call func ParseGetJobTypeResponse(rsp *http.Response) (*GetJobTypeResponse, error) { bodyBytes, err := ioutil.ReadAll(rsp.Body) diff --git a/pkg/api/openapi_server.gen.go b/pkg/api/openapi_server.gen.go index 5a492e4b..507ff154 100644 --- a/pkg/api/openapi_server.gen.go +++ b/pkg/api/openapi_server.gen.go @@ -37,6 +37,9 @@ type ServerInterface interface { // Get the variables of this Manager. Used by the Blender add-on to recognise two-way variables, and for the web interface to do variable replacement based on the browser's platform. // (GET /api/v3/configuration/variables/{audience}/{platform}) GetVariables(ctx echo.Context, audience ManagerVariableAudience, platform string) error + // List all jobs in the database. + // (GET /api/v3/jobs) + FetchJobs(ctx echo.Context) error // Submit a new job for Flamenco Manager to execute. // (POST /api/v3/jobs) SubmitJob(ctx echo.Context) error @@ -49,9 +52,6 @@ type ServerInterface interface { // Mark jobs for deletion, based on certain criteria. // (DELETE /api/v3/jobs/mass-delete) DeleteJobMass(ctx echo.Context) error - // Fetch list of jobs. - // (POST /api/v3/jobs/query) - QueryJobs(ctx echo.Context) error // Get single job type and its parameters. // (GET /api/v3/jobs/type/{typeName}) GetJobType(ctx echo.Context, typeName string) error @@ -288,6 +288,15 @@ func (w *ServerInterfaceWrapper) GetVariables(ctx echo.Context) error { return err } +// FetchJobs converts echo context to params. +func (w *ServerInterfaceWrapper) FetchJobs(ctx echo.Context) error { + var err error + + // Invoke the callback with all the unmarshalled arguments + err = w.Handler.FetchJobs(ctx) + return err +} + // SubmitJob converts echo context to params. func (w *ServerInterfaceWrapper) SubmitJob(ctx echo.Context) error { var err error @@ -324,15 +333,6 @@ func (w *ServerInterfaceWrapper) DeleteJobMass(ctx echo.Context) error { return err } -// QueryJobs converts echo context to params. -func (w *ServerInterfaceWrapper) QueryJobs(ctx echo.Context) error { - var err error - - // Invoke the callback with all the unmarshalled arguments - err = w.Handler.QueryJobs(ctx) - return err -} - // GetJobType converts echo context to params. func (w *ServerInterfaceWrapper) GetJobType(ctx echo.Context) error { var err error @@ -1010,11 +1010,11 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL router.POST(baseURL+"/api/v3/configuration/setup-assistant", wrapper.SaveSetupAssistantConfig) router.GET(baseURL+"/api/v3/configuration/shared-storage/:audience/:platform", wrapper.GetSharedStorage) router.GET(baseURL+"/api/v3/configuration/variables/:audience/:platform", wrapper.GetVariables) + router.GET(baseURL+"/api/v3/jobs", wrapper.FetchJobs) router.POST(baseURL+"/api/v3/jobs", wrapper.SubmitJob) router.POST(baseURL+"/api/v3/jobs/check", wrapper.SubmitJobCheck) router.GET(baseURL+"/api/v3/jobs/last-rendered", wrapper.FetchGlobalLastRenderedInfo) router.DELETE(baseURL+"/api/v3/jobs/mass-delete", wrapper.DeleteJobMass) - router.POST(baseURL+"/api/v3/jobs/query", wrapper.QueryJobs) router.GET(baseURL+"/api/v3/jobs/type/:typeName", wrapper.GetJobType) router.GET(baseURL+"/api/v3/jobs/types", wrapper.GetJobTypes) router.DELETE(baseURL+"/api/v3/jobs/:job_id", wrapper.DeleteJob) diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index 2969e07e..881c10df 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -18,234 +18,234 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "XDiHLXdw/dv1/wkAAP//uSDAIkARAQA=", } // 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 c12156f9..6fe64ce9 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -935,9 +935,6 @@ type SubmitJobCheckJSONBody SubmittedJob // DeleteJobMassJSONBody defines parameters for DeleteJobMass. type DeleteJobMassJSONBody JobMassDeletionSelection -// QueryJobsJSONBody defines parameters for QueryJobs. -type QueryJobsJSONBody JobsQuery - // RemoveJobBlocklistJSONBody defines parameters for RemoveJobBlocklist. type RemoveJobBlocklistJSONBody JobBlocklist @@ -1010,9 +1007,6 @@ type SubmitJobCheckJSONRequestBody SubmitJobCheckJSONBody // DeleteJobMassJSONRequestBody defines body for DeleteJobMass for application/json ContentType. type DeleteJobMassJSONRequestBody DeleteJobMassJSONBody -// QueryJobsJSONRequestBody defines body for QueryJobs for application/json ContentType. -type QueryJobsJSONRequestBody QueryJobsJSONBody - // RemoveJobBlocklistJSONRequestBody defines body for RemoveJobBlocklist for application/json ContentType. type RemoveJobBlocklistJSONRequestBody RemoveJobBlocklistJSONBody