function getProject(callback) { if (data.workflowId) { Workflow.findById(data.workflowId).then(function (workflowItem) { workflow = workflowItem; if (!workflow) { return callback('Workflow not found'); } workflow.getProject().then(function (projectItem) { project = projectItem; callback(); }).catch(function (err) { callback(err.message); }); }).catch(function (err) { callback(err.message); }); } else if (data.projectId) { Project.findById(data.projectId).then(function (projectItem) { project = projectItem; callback(); }).catch(function (err) { callback(err.message); }); } else { callback('Project not found'); } },
function (callback) { if(!query.workflowId){ return callback(); } Workflow.find({where:{id: query.workflowId},attributes:['id','name','projectId']}).then(function (item) { response.workflowId = item ? item.name : ''; callback(); }); },
function (callback) { Workflow.findById( workflowId ).then(function (workflow) { if(!workflow){ return callback('Töövoogu ei leitud'); } callback(null, workflow); }).catch(function (err) { callback(err.message); }); },
function getRunningWorkflows(callback) { Workflow.findAll({ where: { status: Workflow.statusCodes.RUNNING } }).then(function (data) { workflows = data; callback(); }).catch(function (err) { callback( err.message ); }); },
function(user, definition, callback){ var workflowData = { projectId : data.projectId, workflowDefinitionId: definition.id, userId : user.id, name : definition.name, description : definition.description, purpose : definition.purpose }; Workflow.create(workflowData).then(function (workflow) { callback( null, workflow); }).catch(function (err) { callback(err.message); }); }
function createWorkflow(user, callback) { workflowDefinitionData.userId = user.id; var workflow = Workflow.build(workflowDefinitionData, {fields: ['name', 'description', 'purpose', 'projectId', 'userId']}); workflow.validate().then(function (err) { if (err) { return callback(err.message); } workflow.save().then(function () { callback( null, workflow); }).catch(function (err) { callback(err.message); }); }); },
function (callback) { Workflow.find({ where: {id: workflowId}, attributes:['id','name','description','purpose'], include: [ { model: WorkflowDefinition, as: 'workflowDefinition', attributes:['id','accessStatus', 'workflowId'] } ] }).then(function (item) { callback(null, item); }).catch(function (err) { callback(err.message); }); },