UNPKG

tuain-bpm-lib

Version:

Servicio de gestión de manejo de procesos de la plataforma Tuain

121 lines (109 loc) 4.37 kB
const Joi = require('joi'); const { requestReference } = require('../common'); const newProcess = Joi.object().keys({ data: Joi.object().keys({ name: Joi.string().description('Nombre del proceso'), description: Joi.string().description('Descripción del proceso'), }), _requestReference: requestReference, }); /** * variables: Joi.array().items(Joi.object().keys({ name: Joi.string().required(), type: Joi.string().required(), })).description('Variables del proceso'), roles: Joi.array().items(Joi.object().keys({ name: Joi.string().required(), type: Joi.string().required(), })).description('Variables del proceso'), */ const updateProcess = Joi.object().keys({ data: Joi.object().keys({ name: Joi.string().description('Nombre del proceso'), variables: Joi.array().items(Joi.object().keys({ name: Joi.string().required(), type: Joi.string().required(), })).description('Variables del proceso'), roles: Joi.array().items(Joi.object().keys({ name: Joi.string().required(), type: Joi.string().required(), })).description('Variables del proceso'), }), _requestReference: requestReference, }); const getProcesses = Joi.object().keys({ data: Joi.object().keys({ processId: Joi.string().optional().description('identificador del proceso'), name: Joi.string().optional().description('Nombre del proceso'), }), _requestReference: requestReference, }); const createTask = Joi.object().keys({ data: Joi.object().keys({ processId: Joi.string().description('identificador del proceso'), taskId: Joi.string().description('identificador de la tarea'), name: Joi.string().description('Nombre de la tarea'), type: Joi.string().description('Tipo de la tarea'), variables: Joi.array().items(Joi.object().keys({ name: Joi.string().required(), type: Joi.string().required(), required: Joi.boolean().required(), })).description('Variables del proceso'), }), _requestReference: requestReference, }); const updateTask = Joi.object().keys({ data: Joi.object().keys({ name: Joi.string().description('Nombre de la tarea'), type: Joi.string().description('Tipo de la tarea'), variables: Joi.array().items(Joi.object().keys({ name: Joi.string().required(), type: Joi.string().required(), required: Joi.boolean().required(), })).description('Variables del proceso'), }), _requestReference: requestReference, }); const createConnector = Joi.object().keys({ data: Joi.object().keys({ processId: Joi.string().description('identificador del proceso'), connectorId: Joi.string().description('identificador del conector'), name: Joi.string().description('Nombre del conector'), type: Joi.string().description('Tipo del conector'), outputs: Joi.array().items(Joi.object()).description('Variables del proceso'), sources: Joi.array().items(Joi.string()).description('identificador de las tareas de inicio'), destinations: Joi.array().items(Joi.string()).description('identificador de las tareas destino'), }), _requestReference: requestReference, }); const updateConnector = Joi.object().keys({ data: Joi.object().keys({ processId: Joi.string().description('identificador del proceso'), connectorId: Joi.string().description('identificador del conector'), name: Joi.string().description('Nombre del conector'), type: Joi.string().description('Tipo del conector'), outputs: Joi.array().items(Joi.object()).description('Variables del proceso'), sources: Joi.array().items(Joi.string()).description('identificador de las tareas de inicio'), destinations: Joi.array().items(Joi.string()).description('identificador de las tareas destino'), }), _requestReference: requestReference, }); const getManualTasks = Joi.object().keys({ data: Joi.object().keys({ processId: Joi.string().optional().description('identificador del proceso'), taskId: Joi.string().optional().description('identificador de la tarea'), instanceId: Joi.string().optional().description('identificador de la instancia'), }), _requestReference: requestReference, }); const schemas = { newProcess, updateProcess, getProcesses, createTask, updateTask, createConnector, updateConnector, getManualTasks, }; module.exports = schemas;