2022-05-12 15:06:05 +02:00

396 lines
13 KiB
JavaScript

/**
* 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";
import AssignedTask from '../model/AssignedTask';
import Error from '../model/Error';
import MayKeepRunning from '../model/MayKeepRunning';
import RegisteredWorker from '../model/RegisteredWorker';
import SecurityError from '../model/SecurityError';
import TaskUpdate from '../model/TaskUpdate';
import WorkerRegistration from '../model/WorkerRegistration';
import WorkerSignOn from '../model/WorkerSignOn';
import WorkerStateChange from '../model/WorkerStateChange';
import WorkerStateChanged from '../model/WorkerStateChanged';
/**
* Worker service.
* @module manager/WorkerApi
* @version 0.0.0
*/
export default class WorkerApi {
/**
* Constructs a new WorkerApi.
* @alias module:manager/WorkerApi
* @class
* @param {module:ApiClient} [apiClient] Optional API client implementation to use,
* default to {@link module:ApiClient#instance} if unspecified.
*/
constructor(apiClient) {
this.apiClient = apiClient || ApiClient.instance;
}
/**
* The response indicates whether the worker is allowed to run / keep running the task. Optionally contains a queued worker status change.
* @param {String} taskId
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/MayKeepRunning} and HTTP response
*/
mayWorkerRunWithHttpInfo(taskId) {
let postBody = null;
// verify the required parameter 'taskId' is set
if (taskId === undefined || taskId === null) {
throw new Error("Missing the required parameter 'taskId' when calling mayWorkerRun");
}
let pathParams = {
'task_id': taskId
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['worker_auth'];
let contentTypes = [];
let accepts = ['application/json'];
let returnType = MayKeepRunning;
return this.apiClient.callApi(
'/api/worker/task/{task_id}/may-i-run', 'GET',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* The response indicates whether the worker is allowed to run / keep running the task. Optionally contains a queued worker status change.
* @param {String} taskId
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/MayKeepRunning}
*/
mayWorkerRun(taskId) {
return this.mayWorkerRunWithHttpInfo(taskId)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Register a new worker
* @param {module:model/WorkerRegistration} workerRegistration Worker to register
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/RegisteredWorker} and HTTP response
*/
registerWorkerWithHttpInfo(workerRegistration) {
let postBody = workerRegistration;
// verify the required parameter 'workerRegistration' is set
if (workerRegistration === undefined || workerRegistration === null) {
throw new Error("Missing the required parameter 'workerRegistration' when calling registerWorker");
}
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = RegisteredWorker;
return this.apiClient.callApi(
'/api/worker/register-worker', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Register a new worker
* @param {module:model/WorkerRegistration} workerRegistration Worker to register
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/RegisteredWorker}
*/
registerWorker(workerRegistration) {
return this.registerWorkerWithHttpInfo(workerRegistration)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Obtain a new task to execute
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/AssignedTask} and HTTP response
*/
scheduleTaskWithHttpInfo() {
let postBody = null;
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['worker_auth'];
let contentTypes = [];
let accepts = ['application/json'];
let returnType = AssignedTask;
return this.apiClient.callApi(
'/api/worker/task', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Obtain a new task to execute
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/AssignedTask}
*/
scheduleTask() {
return this.scheduleTaskWithHttpInfo()
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Mark the worker as offline
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
signOffWithHttpInfo() {
let postBody = null;
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['worker_auth'];
let contentTypes = [];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/worker/sign-off', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Mark the worker as offline
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
signOff() {
return this.signOffWithHttpInfo()
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Authenticate & sign in the worker.
* @param {module:model/WorkerSignOn} workerSignOn Worker metadata
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/WorkerStateChange} and HTTP response
*/
signOnWithHttpInfo(workerSignOn) {
let postBody = workerSignOn;
// verify the required parameter 'workerSignOn' is set
if (workerSignOn === undefined || workerSignOn === null) {
throw new Error("Missing the required parameter 'workerSignOn' when calling signOn");
}
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['worker_auth'];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = WorkerStateChange;
return this.apiClient.callApi(
'/api/worker/sign-on', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Authenticate & sign in the worker.
* @param {module:model/WorkerSignOn} workerSignOn Worker metadata
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/WorkerStateChange}
*/
signOn(workerSignOn) {
return this.signOnWithHttpInfo(workerSignOn)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Update the task, typically to indicate progress, completion, or failure.
* @param {String} taskId
* @param {module:model/TaskUpdate} taskUpdate Task update information
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
taskUpdateWithHttpInfo(taskId, taskUpdate) {
let postBody = taskUpdate;
// verify the required parameter 'taskId' is set
if (taskId === undefined || taskId === null) {
throw new Error("Missing the required parameter 'taskId' when calling taskUpdate");
}
// verify the required parameter 'taskUpdate' is set
if (taskUpdate === undefined || taskUpdate === null) {
throw new Error("Missing the required parameter 'taskUpdate' when calling taskUpdate");
}
let pathParams = {
'task_id': taskId
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['worker_auth'];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/worker/task/{task_id}', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Update the task, typically to indicate progress, completion, or failure.
* @param {String} taskId
* @param {module:model/TaskUpdate} taskUpdate Task update information
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
taskUpdate(taskId, taskUpdate) {
return this.taskUpdateWithHttpInfo(taskId, taskUpdate)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/WorkerStateChange} and HTTP response
*/
workerStateWithHttpInfo() {
let postBody = null;
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['worker_auth'];
let contentTypes = [];
let accepts = ['application/json'];
let returnType = WorkerStateChange;
return this.apiClient.callApi(
'/api/worker/state', 'GET',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/WorkerStateChange}
*/
workerState() {
return this.workerStateWithHttpInfo()
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Worker changed state. This could be as acknowledgement of a Manager-requested state change, or in response to worker-local signals.
* @param {module:model/WorkerStateChanged} workerStateChanged New worker state
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
workerStateChangedWithHttpInfo(workerStateChanged) {
let postBody = workerStateChanged;
// verify the required parameter 'workerStateChanged' is set
if (workerStateChanged === undefined || workerStateChanged === null) {
throw new Error("Missing the required parameter 'workerStateChanged' when calling workerStateChanged");
}
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = ['worker_auth'];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/worker/state-changed', 'POST',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Worker changed state. This could be as acknowledgement of a Manager-requested state change, or in response to worker-local signals.
* @param {module:model/WorkerStateChanged} workerStateChanged New worker state
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
workerStateChanged(workerStateChanged) {
return this.workerStateChangedWithHttpInfo(workerStateChanged)
.then(function(response_and_data) {
return response_and_data.data;
});
}
}