From d772d40f98f8bd6a6db81e86737b156e61bbce2b Mon Sep 17 00:00:00 2001 From: nikitam Date: Tue, 9 Oct 2018 11:51:13 +0530 Subject: [PATCH] exclusive-gateway-functionality-added --- client/src/components/SchemaView.vue | 2 +- client/src/masterLayout/SideBar.vue | 1 + client/src/pages/schema/New.vue | 4 + .../services/dflowzdata/dflowzdata.hooks.js | 174 ++++++++++++++---- .../email-receive/email-receive.class.js | 4 +- 5 files changed, 149 insertions(+), 36 deletions(-) diff --git a/client/src/components/SchemaView.vue b/client/src/components/SchemaView.vue index 63becc5..2a88706 100644 --- a/client/src/components/SchemaView.vue +++ b/client/src/components/SchemaView.vue @@ -1553,7 +1553,7 @@ export default { }, 'dflowzdata': { _created (data) { - console.log('================created==============', data) + // console.log('================created==============', data) let keys = Object.keys(data) for (let tName of keys) { if (tName === this.$route.params.id.replace(/-/g, '_')) { diff --git a/client/src/masterLayout/SideBar.vue b/client/src/masterLayout/SideBar.vue index 05ccba3..90e1c04 100644 --- a/client/src/masterLayout/SideBar.vue +++ b/client/src/masterLayout/SideBar.vue @@ -472,6 +472,7 @@ export default { } }, _removed (data) { + // console.log('==============patched============', data) let keys = Object.keys(data) for (let tName of keys) { if (data[tName]._currentStatus) { diff --git a/client/src/pages/schema/New.vue b/client/src/pages/schema/New.vue index 6d992b2..8d40371 100644 --- a/client/src/pages/schema/New.vue +++ b/client/src/pages/schema/New.vue @@ -665,4 +665,8 @@ export default { .ivu-form-item-error-tip { position: relative; } + .ivu-select-dropdown-list { + max-height: inherit; + overflow-y: scroll; + } diff --git a/service/src/services/dflowzdata/dflowzdata.hooks.js b/service/src/services/dflowzdata/dflowzdata.hooks.js index 2902332..4a5e6d8 100644 --- a/service/src/services/dflowzdata/dflowzdata.hooks.js +++ b/service/src/services/dflowzdata/dflowzdata.hooks.js @@ -1,5 +1,6 @@ const errors = require('@feathersjs/errors'); const uuidv4 = require('uuid/v4'); +const _ = require('lodash') module.exports = { before: { @@ -112,6 +113,30 @@ function beforeCreate (hook) { hook.data._uuid = uuidv4() hook.data._next = null } + if (res.processList[hook.data._state].type === 'exclusivegateway') { + // console.log('???????????????????????????????????????????????????') + let gatewayObj = res.processList[hook.data._state] + // console.log('gatewayObj', gatewayObj) + if (gatewayObj['var_name'] !== undefined && gatewayObj['var_name'] !== '' && gatewayObj.condition !== undefined && gatewayObj.condition !== '') { + if (hook.data.hasOwnProperty(gatewayObj['var_name'])) { + // console.log('hook.data', hook.data[gatewayObj['var_name']]) + if (gatewayObj.condition == '=') { + // console.log('') + let targetIndex = _.findIndex(gatewayObj.target, {label: hook.data[gatewayObj['var_name']]}) + // console.log('targetIndex', targetIndex) + if (targetIndex !== -1) { + // console.log('hook.data', hook.data, hook.params) + // hook.data._previous = + hook.params.isEGateway = true + hook.data._currentStatus = false + // hook.data._next = null + // console.log('gatewayObj.target[targetIndex].id', gatewayObj.target[targetIndex].id) + hook.params.isEGatewayTarget = gatewayObj.target[targetIndex].id + } + } + } + } + } return hook; }).catch(err => { console.log('err', err) @@ -135,40 +160,122 @@ function beforeCreate (hook) { function afterCreate (hook) { - // console.log('afterCreate ================================', hook.data) // If first state found add another entry with nexttarget - if (hook.params.done && hook.params.first !== undefined) { - hook.data._state = hook.data._nextTarget - hook.data._nextTarget = '' - // hook.data._createdAt = new Date().toISOString() - hook.data._previous = hook.result.id - delete hook.params.first - delete hook.data.id - // console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', hook.data) - return hook.app.service(hook.path).create(hook.data, hook.params).then(res => { - return hook; - }).catch(err => { - console.log('err', err) - throw new errors.BadRequest('Error', { - errors: { message: err.toString() } - }); - }) - } else { - hook.params.headers.normalpatch = true - // console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', hook.data._previous, hook.result.id) - return hook.app.service(hook.path).patch(hook.data._previous, { - // _state: hook.data._state, - _next: hook.result.id, - _completedAt: new Date().toISOString() - // _currentStatus: false - }, hook.params).then(resp => { - return hook - }) + + if (hook.params.done) { // to avoid called afterhook multiple times + // console.log('*********************************************') + + + if (hook.params.first !== undefined) { + hook.data._state = hook.data._nextTarget + hook.data._nextTarget = '' + hook.data._previous = hook.result.id + + delete hook.params.first + delete hook.params.isEGateway + delete hook.data.id + + return hook.app.service(hook.path).create(hook.data, hook.params).then(res => { + return hook; + }).catch(err => { + console.log('err', err) + throw new errors.BadRequest('Error', { + errors: { message: err.toString() } + }); + }) + } else { + // console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', hook.result.id) + hook.params.headers.normalpatch = true + // console.log('hook.data._previous', hook.data._previous) + if (hook.params.isEGateway !== undefined) { + return hook.app.service(hook.path).patch(hook.data._previous, { + _next: hook.result.id, + _completedAt: new Date().toISOString() + }, hook.params).then(resp => { + + hook.data._nextTarget = hook.params.isEGatewayTarget + // hook.data._previous = hook.result.id + delete hook.params.first + delete hook.params.isEGateway + delete hook.params.isEGatewayTarget + // delete hook.data.id + // console.log(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;', hook.data) + let params = Object.assign({}, hook.params) + + delete params.headers.normalpatch + + return hook.app.service(hook.path).patch(hook.result.id, hook.data, params).then(res => { + // hook.params.headers.normalpatch = true + // console.log('hook.data._previous', hook.data._previous) + // return hook.app.service(hook.path).patch(hook.data._previous, { + // _next: hook.result.id, + // _completedAt: new Date().toISOString() + // }, hook.params).then(resp => { + // return hook + // }) + return hook; + }).catch(err => { + console.log('err', err) + throw new errors.BadRequest('Error', { + errors: { message: err.toString() } + }); + }) + + return hook + }) + } else { + return hook.app.service(hook.path).patch(hook.data._previous, { + _next: hook.result.id, + _completedAt: new Date().toISOString() + }, hook.params).then(resp => { + return hook + }) + } + // hook.app.service(hook.path).patch(hook.data._previous, { + // _next: hook.result.id, + // _completedAt: new Date().toISOString() + // }, hook.params).then(resp => { + // return hook + // }) + + // if (hook.params.isEGateway !== undefined) { + // // console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>..', hook.params, hook.data, hook.result.id) + // // hook.data._state = hook.data._nextTarget + // hook.data._nextTarget = hook.params.isEGatewayTarget + // // hook.data._previous = hook.result.id + // delete hook.params.first + // delete hook.params.isEGateway + // delete hook.params.isEGatewayTarget + // // delete hook.data.id + // console.log(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;', hook.data) + // delete hook.params.headers.normalpatch + // return hook.app.service(hook.path).patch(hook.result.id, hook.data, hook.params).then(res => { + // // hook.params.headers.normalpatch = true + // // console.log('hook.data._previous', hook.data._previous) + // // return hook.app.service(hook.path).patch(hook.data._previous, { + // // _next: hook.result.id, + // // _completedAt: new Date().toISOString() + // // }, hook.params).then(resp => { + // // return hook + // // }) + // return hook; + // }).catch(err => { + // console.log('err', err) + // throw new errors.BadRequest('Error', { + // errors: { message: err.toString() } + // }); + // }) + // } + + } + } -} + + +} // end afterCreate function function beforePatch (hook) { - // console.log('beforePatch =============================>>>>>>>>>>>>>>>>>>>>', hook.params, hook.id, hook.data) + // console.log('beforePatch ============================beforePatch=>>>>>>>>>>>>>>>>>>>>', hook.params, hook.id, hook.data) hook.params.done1 = true if (hook.params.headers.ftablename !== undefined) { if (hook.params.headers.normalpatch !== undefined) { @@ -210,12 +317,13 @@ function beforePatch (hook) { } function afterPatch (hook) { - // console.log('================================ afterPatch', hook.data, hook.id) + // console.log('================================ afterPatch', hook.id, hook.params.headers.normalpatch) if (hook.params.headers.normalpatch !== undefined) { // console.log('..................................... ', hook.params.headers.normalpatch) } else { if (hook.params.done1) { - // console.log('111111111111111111111111111111111111111111111111111111111111111111', hook.path) + // console.log('111111111111111111111111111111111111111111111111111111111111111111', hook.params) + delete hook.params.done1 return hook.app.service(hook.path).get(hook.id, hook.params).then(resp => { hook.data._state = hook.data._nextTarget hook.data._nextTarget = '' @@ -228,7 +336,7 @@ function afterPatch (hook) { hook.data._next = null hook.data._uuid = resp._uuid delete hook.data.id - // console.log('???????????????????????????????????????????????????????????????//', hook.path) + // console.log('???????????????????????????????????????????????????????????????//', hook.data) return hook.app.service(hook.path).create(hook.data, hook.params).then(res => { return hook; }).catch(err => { diff --git a/service/src/services/email-receive/email-receive.class.js b/service/src/services/email-receive/email-receive.class.js index 3718922..7cb821b 100644 --- a/service/src/services/email-receive/email-receive.class.js +++ b/service/src/services/email-receive/email-receive.class.js @@ -37,8 +37,8 @@ class Service { let mdata = resp mdata._nextTarget = targetId mdata.userId = '' - mdata.subscriptionId = '' - mdata.subscriptionOwnerId = '' + // mdata.subscriptionId = '' + // mdata.subscriptionOwnerId = '' mdata._currentStatus = false return this.app.service('dflowzdataInt').patch(resp.id, mdata, {headers: headers}).then(res => {