import Step from '../../src/models/step'; | |
import { createFlow } from './flow'; | |
export const createStep = async (params = {}) => { | |
params.flowId = params?.flowId || (await createFlow()).id; | |
params.type = params?.type || 'action'; | |
const lastStep = await Step.query() | |
.where('flow_id', params.flowId) | |
.andWhere('deleted_at', null) | |
.orderBy('position', 'desc') | |
.limit(1) | |
.first(); | |
params.position = | |
params?.position || (lastStep?.position ? lastStep.position + 1 : 1); | |
params.status = params?.status || 'completed'; | |
params.appKey = | |
params?.appKey || (params.type === 'action' ? 'deepl' : 'webhook'); | |
params.parameters = params?.parameters || {}; | |
const step = await Step.query().insertAndFetch(params); | |
return step; | |
}; | |