UNPKG

@wenn/onb

Version:

onb-core

67 lines (57 loc) 1.76 kB
import { SAVE_CAMUNDA } from '../constants'; import { loadingPage } from './loading.actions'; import Camunda from '../../services/Camunda'; import { stompClient } from './run.actions'; import { validateSendSchema } from './../../utils/alerts'; const { REACT_APP_ENV } = process.env; const devEnviroment = REACT_APP_ENV === 'dev' || REACT_APP_ENV === 'stage' || window.log === 'true'; function saveCamundaRedux(camunda) { return { type: SAVE_CAMUNDA, camunda }; } export function sendToCamunda(page, args = {}) { return (dispatch, getState) => { dispatch(loadingPage(true)); const { camunda: allObject, settings: { utils: { SMS, metadata }, config: { CAMUNDA: camundaUrl, camundaObjects, alerts } } } = getState(); const state = camundaObjects[page].reduce((obj, p) => { obj[p] = allObject[p]; return obj; }, {}); const camunda = new Camunda(); const object = camunda.buildObject(camundaUrl, SMS.SEND.STEP, { ...state, ...args }, metadata); // CONSOLE SEND CAMUNDA if (devEnviroment) console.log('SEND-CAMUNDA-DATA:::', JSON.stringify(object)); if (page && object && alerts && alerts.send) { validateSendSchema(page, object, alerts.send); } stompClient.publish({ destination: SMS.SEND_TO, body: JSON.stringify(object) }); }; } export function saveCamunda(data) { return (dispatch, getState) => { let allObject = getState().camunda; for (const value in data) { if (data.hasOwnProperty(value)) { allObject = { ...allObject, [value]: { type: 'String', value: data[value] } }; } } dispatch(saveCamundaRedux(allObject)); }; }