import { prepareDispatchParams } from '@baserow/modules/builder/utils/params' export default (client) => { return { create(pageId, workflowActionType, eventType, configuration = null) { const payload = { type: workflowActionType, event: eventType, ...configuration, } return client.post(`builder/page/${pageId}/workflow_actions/`, payload) }, fetchAll(pageId) { return client.get(`builder/page/${pageId}/workflow_actions/`) }, delete(workflowActionId) { return client.delete(`builder/workflow_action/${workflowActionId}/`) }, update(workflowActionId, values) { return client.patch( `builder/workflow_action/${workflowActionId}/`, values ) }, order(pageId, order, elementId = null) { const payload = { workflow_action_ids: order } if (elementId) { payload.element_id = elementId } return client.post( `builder/page/${pageId}/workflow_actions/order/`, payload ) }, dispatch(workflowActionId, data, dispatchRefinements) { const params = prepareDispatchParams(dispatchRefinements) return client.post( `builder/workflow_action/${workflowActionId}/dispatch/`, data, { params } ) }, } }