UNPKG

@kuflow/kuflow-rest

Version:
239 lines 9.81 kB
"use strict"; /** * The MIT License * Copyright © 2021-present KuFlow S.L. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ProcessOperations = void 0; /** Class containing ProcessOperations operations. */ class ProcessOperations { processOperations; /** * Initialize a new instance of the class ProcessOperations class. * @param clientGenerated Reference to the service client */ constructor(clientGenerated) { this.processOperations = clientGenerated.processOperations; } /** * List all the Processes that have been created and the credentials has access. * * Available sort query values: id, createdAt, lastModifiedAt * * @param options The options parameters. */ async findProcesses(options) { const { sort, tenantId, ...optionsRest } = options ?? {}; return await this.processOperations.findProcesses({ ...optionsRest, sort: typeof sort === 'string' ? [sort] : sort, tenantId: typeof tenantId === 'string' ? [tenantId] : tenantId, }); } /** * Creates a process. This option has direct correspondence to the action of starting a process in the * Kuflow GUI. * * When a process is created, the current user is assigned as the process initiator, if you want to * change it, you can pass a valid initiator using the following options: * * * If you know the `principal ID` you can assign it to `initiator.id` * * If you know the `user ID` you can assign it to `initiator.user.id` * * If you know the `user email` you can assign it to `initiator.user.email` * * If you know the `application ID` you can assign it to `initiator.application.id` * * If you want the method to be idempotent, please specify the `id` field in the request body. * * @param processCreateParams Process to create * @param options The options parameters. */ async createProcess(processCreateParams, options) { return await this.processOperations.createProcess(processCreateParams, options); } /** * Returns the requested Process when has access to do it. * @param id The resource ID. * @param options The options parameters. */ async retrieveProcess(id, options) { return await this.processOperations.retrieveProcess(id, options); } /** * Complete a Process. The state of Process is set to 'completed'. * * If you are already in this state, no action is taken. * * @param id The resource ID. * @param options The options parameters. */ async completeProcess(id, options) { return await this.processOperations.completeProcess(id, options); } /** * Cancel a Process. The Process state is set to 'cancelled'. * * All the active tasks will be marked as cancelled too. * * If you are already in this state, no action is taken. * * @param id The resource ID. * @param options The options parameters. */ async cancelProcess(id, options) { return await this.processOperations.cancelProcess(id, options); } /** * Change the current initiator of a process. * * Allows you to choose a user (by email or principal identifier) or an application (principal identifier). * Only one option will be necessary. * * @param id The resource ID. * @param processChangeInitiatorParams Params to change the process initiator. * @param options The options parameters. */ async changeProcessInitiator(id, processChangeInitiatorParams, options) { return await this.processOperations.changeProcessInitiator(id, processChangeInitiatorParams, options); } /** * Allow saving a user action document uploading the content. * * @param id The resource ID. * @param processUploadProcessUserActionDocumentParams Params info * @param document Document to upload. * @param options The options parameters. * * @return the process if the document could be saved or undefined if not */ async uploadProcessUserActionDocument(id, processUploadProcessUserActionDocumentParams, document, options) { const fileContentType = document.contentType; const fileName = document.fileName; const file = document.fileContent; const userActionValueId = processUploadProcessUserActionDocumentParams.userActionValueId; let rawResponse = undefined; const optionsExt = { ...options, onResponse: rawResponseInner => { rawResponse = rawResponseInner; }, }; const process = await this.processOperations.uploadProcessUserActionDocument(id, fileContentType, fileName, userActionValueId, file, optionsExt); if (rawResponse == null) { return; } if (options?.onResponse != null) { options.onResponse(rawResponse, process); } if (rawResponse.status === 304) { return; } return process; } /** * Save process metadata validating the data following the related schema. * * @param id The resource ID. * @param processMetadataUpdateParams Params to save de entity data. * @param options The options parameters. */ async updateProcessMetadata(id, processMetadataUpdateParams, options) { return await this.processOperations.updateProcessMetadata(id, processMetadataUpdateParams, options); } /** * Allow to patch a JSON data validating that the data follow the related schema. If the data is * invalid, then the json is marked as invalid. * * @param id The resource ID. * @param jsonPatch Params to save de entity data. * @param options The options parameters. */ async patchProcessMetadata(id, jsonPatch, options) { return await this.processOperations.patchProcessMetadata(id, jsonPatch, options); } /** * Allow to save a JSON validating that the data follow the related schema. If the data is invalid, * then * the json form is marked as invalid. * * @param id The resource ID. * @param processEntityUpdateParams Params to save the JSON value. * @param options The options parameters. */ async updateProcessEntity(id, processEntityUpdateParams, options) { return await this.processOperations.updateProcessEntity(id, processEntityUpdateParams, options); } /** * Allow to patch a JSON data validating that the data follow the related schema. If the data is * invalid, then the json is marked as invalid. * * @param id The resource ID. * @param jsonPatch Params to save the JSON value. * @param options The options parameters. */ async patchProcessEntity(id, jsonPatch, options) { return await this.processOperations.patchProcessEntity(id, jsonPatch, options); } /** * Upload a temporal document into the process that later on must be linked with a process domain * resource. * <p> * Documents uploaded with this API will be deleted after 24 hours as long as they have not been linked * to a process or process item. * * @param id The resource ID. * @param document Document to upload. * @param options The options parameters. */ async uploadProcessDocument(id, document, options) { const fileContentType = document.contentType; const fileName = document.fileName; const file = document.fileContent; let rawResponse = undefined; const optionsExt = { ...options, onResponse: rawResponseInner => { rawResponse = rawResponseInner; }, }; const process = await this.processOperations.uploadProcessDocument(id, fileContentType, fileName, file, optionsExt); if (rawResponse == null) { return; } if (options?.onResponse != null) { options.onResponse(rawResponse, process); } if (rawResponse.status === 304) { return; } return process; } /** * Given a process and a documentUri, download a document. * @param id The resource ID. * @param documentUri Document URI to download. * @param options The options parameters. */ async downloadProcessDocument(id, documentUri, options) { return await this.processOperations.downloadProcessDocument(id, documentUri, options); } } exports.ProcessOperations = ProcessOperations; //# sourceMappingURL=processOperations.js.map