Built motion from commit 25580385.|2.6.2
[motion2.git] / server / api / automation / automation.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xfd3d=['keys','intersection','model','attributes','fields','nolimit','order','sort','pick','filters','filter','where','merge','type','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','length','include','body','find','addConditions','Condition','omit','ids','getConditions','findOne','hasOwnProperty','addActions','Action','getActions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','json','offset','undefined','limit','count','set','apply','save','update','then','destroy','end','error','name','send','map','Automation','rawAttributes','fieldName','key','query'];(function(_0x245c4f,_0x34b70f){var _0x3157a1=function(_0x18bfc7){while(--_0x18bfc7){_0x245c4f['push'](_0x245c4f['shift']());}};_0x3157a1(++_0x34b70f);}(_0xfd3d,0xcc));var _0xdfd3=function(_0x5d8edc,_0x48f6cd){_0x5d8edc=_0x5d8edc-0x0;var _0x1802d3=_0xfd3d[_0x5d8edc];return _0x1802d3;};'use strict';var emlformat=require(_0xdfd3('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdfd3('0x1'));var jsonpatch=require(_0xdfd3('0x2'));var rp=require(_0xdfd3('0x3'));var moment=require(_0xdfd3('0x4'));var BPromise=require(_0xdfd3('0x5'));var Mustache=require(_0xdfd3('0x6'));var util=require(_0xdfd3('0x7'));var path=require(_0xdfd3('0x8'));var sox=require(_0xdfd3('0x9'));var csv=require(_0xdfd3('0xa'));var ejs=require(_0xdfd3('0xb'));var fs=require('fs');var fs_extra=require(_0xdfd3('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xdfd3('0xd'));var jsforce=require(_0xdfd3('0xe'));var deskjs=require(_0xdfd3('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xdfd3('0x10'));var Redis=require(_0xdfd3('0x11'));var authService=require(_0xdfd3('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xdfd3('0x13'));var hardwareService=require(_0xdfd3('0x14'));var logger=require(_0xdfd3('0x15'))(_0xdfd3('0x16'));var utils=require(_0xdfd3('0x17'));var config=require(_0xdfd3('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4bff62,_0x2646eb){_0x2646eb=_0x2646eb||0xcc;return function(_0x4d6265){if(_0x4d6265){return _0x4bff62[_0xdfd3('0x19')](_0x2646eb);}return _0x4bff62[_0xdfd3('0x1a')](_0x2646eb)['end']();};}function respondWithResult(_0x122717,_0x5b362e){_0x5b362e=_0x5b362e||0xc8;return function(_0xa801c1){if(_0xa801c1){return _0x122717[_0xdfd3('0x1a')](_0x5b362e)[_0xdfd3('0x1b')](_0xa801c1);}};}function respondWithFilteredResult(_0x40786c,_0x425d35){return function(_0x4ed9e6){if(_0x4ed9e6){var _0x2867d2=typeof _0x425d35[_0xdfd3('0x1c')]===_0xdfd3('0x1d')&&typeof _0x425d35[_0xdfd3('0x1e')]===_0xdfd3('0x1d');var _0x4a4313=_0x4ed9e6[_0xdfd3('0x1f')];var _0x1981cf=_0x2867d2?0x0:_0x425d35[_0xdfd3('0x1c')];var _0x5df88b=_0x2867d2?_0x4ed9e6['count']:_0x425d35[_0xdfd3('0x1c')]+_0x425d35[_0xdfd3('0x1e')];var _0x54ce4e;if(_0x5df88b>=_0x4a4313){_0x5df88b=_0x4a4313;_0x54ce4e=0xc8;}else{_0x54ce4e=0xce;}_0x40786c['status'](_0x54ce4e);return _0x40786c[_0xdfd3('0x20')]('Content-Range',_0x1981cf+'-'+_0x5df88b+'/'+_0x4a4313)[_0xdfd3('0x1b')](_0x4ed9e6);}return null;};}function patchUpdates(_0x18aa04){return function(_0x659891){try{jsonpatch[_0xdfd3('0x21')](_0x659891,_0x18aa04,!![]);}catch(_0x10dcf9){return BPromise['reject'](_0x10dcf9);}return _0x659891[_0xdfd3('0x22')]();};}function saveUpdates(_0x396319,_0x23e48a){return function(_0x65a4a4){if(_0x65a4a4){return _0x65a4a4[_0xdfd3('0x23')](_0x396319)[_0xdfd3('0x24')](function(_0x158018){return _0x158018;});}return null;};}function removeEntity(_0x478b02,_0x4acef4){return function(_0x3e7022){if(_0x3e7022){return _0x3e7022[_0xdfd3('0x25')]()[_0xdfd3('0x24')](function(){_0x478b02[_0xdfd3('0x1a')](0xcc)[_0xdfd3('0x26')]();});}};}function handleEntityNotFound(_0x5523dd,_0x5c7db6){return function(_0x404846){if(!_0x404846){_0x5523dd[_0xdfd3('0x19')](0x194);}return _0x404846;};}function handleError(_0x3a8d45,_0x525d57){_0x525d57=_0x525d57||0x1f4;return function(_0x4a4784){logger[_0xdfd3('0x27')](_0x4a4784['stack']);if(_0x4a4784[_0xdfd3('0x28')]){delete _0x4a4784['name'];}_0x3a8d45[_0xdfd3('0x1a')](_0x525d57)[_0xdfd3('0x29')](_0x4a4784);};}exports['index']=function(_0x375b3c,_0x509bd1){var _0x15893a={},_0x5579a6={},_0x1475b5={'count':0x0,'rows':[]};var _0x2b47de=_[_0xdfd3('0x2a')](db[_0xdfd3('0x2b')][_0xdfd3('0x2c')],function(_0xd8c2e1){return{'name':_0xd8c2e1[_0xdfd3('0x2d')],'type':_0xd8c2e1['type'][_0xdfd3('0x2e')]};});_0x5579a6['model']=_[_0xdfd3('0x2a')](_0x2b47de,_0xdfd3('0x28'));_0x5579a6[_0xdfd3('0x2f')]=_[_0xdfd3('0x30')](_0x375b3c[_0xdfd3('0x2f')]);_0x5579a6['filters']=_[_0xdfd3('0x31')](_0x5579a6[_0xdfd3('0x32')],_0x5579a6[_0xdfd3('0x2f')]);_0x15893a[_0xdfd3('0x33')]=_[_0xdfd3('0x31')](_0x5579a6[_0xdfd3('0x32')],qs[_0xdfd3('0x34')](_0x375b3c['query'][_0xdfd3('0x34')]));_0x15893a[_0xdfd3('0x33')]=_0x15893a[_0xdfd3('0x33')]['length']?_0x15893a[_0xdfd3('0x33')]:_0x5579a6[_0xdfd3('0x32')];if(!_0x375b3c[_0xdfd3('0x2f')]['hasOwnProperty'](_0xdfd3('0x35'))){_0x15893a[_0xdfd3('0x1e')]=qs[_0xdfd3('0x1e')](_0x375b3c[_0xdfd3('0x2f')][_0xdfd3('0x1e')]);_0x15893a[_0xdfd3('0x1c')]=qs[_0xdfd3('0x1c')](_0x375b3c['query']['offset']);}_0x15893a[_0xdfd3('0x36')]=qs[_0xdfd3('0x37')](_0x375b3c[_0xdfd3('0x2f')][_0xdfd3('0x37')]);_0x15893a['where']=qs['filters'](_[_0xdfd3('0x38')](_0x375b3c[_0xdfd3('0x2f')],_0x5579a6[_0xdfd3('0x39')]),_0x2b47de);if(_0x375b3c[_0xdfd3('0x2f')][_0xdfd3('0x3a')]){_0x15893a[_0xdfd3('0x3b')]=_[_0xdfd3('0x3c')](_0x15893a[_0xdfd3('0x3b')],{'$or':_[_0xdfd3('0x2a')](_0x2b47de,function(_0x4342f5){if(_0x4342f5[_0xdfd3('0x3d')]!==_0xdfd3('0x3e')){var _0x4231ad={};_0x4231ad[_0x4342f5[_0xdfd3('0x28')]]={'$like':'%'+_0x375b3c[_0xdfd3('0x2f')][_0xdfd3('0x3a')]+'%'};return _0x4231ad;}})});}_0x15893a=_[_0xdfd3('0x3c')]({},_0x15893a,_0x375b3c[_0xdfd3('0x3f')]);var _0x2a6b80={'where':_0x15893a[_0xdfd3('0x3b')]};return db[_0xdfd3('0x2b')]['count'](_0x2a6b80)[_0xdfd3('0x24')](function(_0x55c61a){_0x1475b5[_0xdfd3('0x1f')]=_0x55c61a;if(_0x375b3c[_0xdfd3('0x2f')][_0xdfd3('0x40')]){_0x15893a['include']=[{'all':!![]}];}return db[_0xdfd3('0x2b')][_0xdfd3('0x41')](_0x15893a);})['then'](function(_0x3b22b0){_0x1475b5[_0xdfd3('0x42')]=_0x3b22b0;return _0x1475b5;})[_0xdfd3('0x24')](respondWithFilteredResult(_0x509bd1,_0x15893a))[_0xdfd3('0x43')](handleError(_0x509bd1,null));};exports[_0xdfd3('0x44')]=function(_0x3491cf,_0x5f04a9){var _0x22ef82={'raw':![],'where':{'id':_0x3491cf[_0xdfd3('0x45')]['id']}},_0x10db9a={};_0x10db9a[_0xdfd3('0x32')]=_[_0xdfd3('0x30')](db['Automation'][_0xdfd3('0x2c')]);_0x10db9a[_0xdfd3('0x2f')]=_[_0xdfd3('0x30')](_0x3491cf['query']);_0x10db9a[_0xdfd3('0x39')]=_['intersection'](_0x10db9a[_0xdfd3('0x32')],_0x10db9a['query']);_0x22ef82[_0xdfd3('0x33')]=_[_0xdfd3('0x31')](_0x10db9a[_0xdfd3('0x32')],qs[_0xdfd3('0x34')](_0x3491cf['query'][_0xdfd3('0x34')]));_0x22ef82[_0xdfd3('0x33')]=_0x22ef82['attributes'][_0xdfd3('0x46')]?_0x22ef82['attributes']:_0x10db9a[_0xdfd3('0x32')];if(_0x3491cf[_0xdfd3('0x2f')][_0xdfd3('0x40')]){_0x22ef82[_0xdfd3('0x47')]=[{'all':!![]}];}_0x22ef82=_[_0xdfd3('0x3c')]({},_0x22ef82,_0x3491cf[_0xdfd3('0x3f')]);return db[_0xdfd3('0x2b')]['find'](_0x22ef82)[_0xdfd3('0x24')](handleEntityNotFound(_0x5f04a9,null))[_0xdfd3('0x24')](respondWithResult(_0x5f04a9,null))[_0xdfd3('0x43')](handleError(_0x5f04a9,null));};exports['create']=function(_0x315a0a,_0x289e0f){return db[_0xdfd3('0x2b')]['create'](_0x315a0a['body'],{})[_0xdfd3('0x24')](respondWithResult(_0x289e0f,0xc9))[_0xdfd3('0x43')](handleError(_0x289e0f,null));};exports[_0xdfd3('0x23')]=function(_0x50f656,_0x4b4f78){if(_0x50f656[_0xdfd3('0x48')]['id']){delete _0x50f656['body']['id'];}return db[_0xdfd3('0x2b')][_0xdfd3('0x49')]({'where':{'id':_0x50f656[_0xdfd3('0x45')]['id']}})[_0xdfd3('0x24')](handleEntityNotFound(_0x4b4f78,null))['then'](saveUpdates(_0x50f656[_0xdfd3('0x48')],null))[_0xdfd3('0x24')](respondWithResult(_0x4b4f78,null))[_0xdfd3('0x43')](handleError(_0x4b4f78,null));};exports[_0xdfd3('0x25')]=function(_0x54f455,_0x4857d4){return db[_0xdfd3('0x2b')][_0xdfd3('0x49')]({'where':{'id':_0x54f455['params']['id']}})[_0xdfd3('0x24')](handleEntityNotFound(_0x4857d4,null))[_0xdfd3('0x24')](removeEntity(_0x4857d4,null))[_0xdfd3('0x43')](handleError(_0x4857d4,null));};exports[_0xdfd3('0x4a')]=function(_0x1e32fc,_0xf712b5,_0x9c6576){return db[_0xdfd3('0x4b')]['find']({'where':{'id':_0x1e32fc[_0xdfd3('0x45')]['id']}})[_0xdfd3('0x24')](handleEntityNotFound(_0xf712b5,null))[_0xdfd3('0x24')](function(_0x419f58){if(_0x419f58){return _0x419f58['addConditions'](_0x1e32fc[_0xdfd3('0x48')]['ids'],_[_0xdfd3('0x4c')](_0x1e32fc[_0xdfd3('0x48')],[_0xdfd3('0x4d'),'id'])||{});}})[_0xdfd3('0x24')](respondWithResult(_0xf712b5,null))[_0xdfd3('0x43')](handleError(_0xf712b5,null));};exports[_0xdfd3('0x4e')]=function(_0x59ead7,_0x512c42,_0x5092ef){var _0x36d042={};var _0x1de748={};var _0x22c2b3;var _0x3145a2;return db[_0xdfd3('0x2b')][_0xdfd3('0x4f')]({'where':{'id':_0x59ead7[_0xdfd3('0x45')]['id']}})['then'](handleEntityNotFound(_0x512c42,null))[_0xdfd3('0x24')](function(_0x21987c){if(_0x21987c){_0x22c2b3=_0x21987c;_0x1de748[_0xdfd3('0x32')]=_['keys'](db[_0xdfd3('0x4b')][_0xdfd3('0x2c')]);_0x1de748[_0xdfd3('0x2f')]=_[_0xdfd3('0x30')](_0x59ead7[_0xdfd3('0x2f')]);_0x1de748['filters']=_['intersection'](_0x1de748[_0xdfd3('0x32')],_0x1de748[_0xdfd3('0x2f')]);_0x36d042['attributes']=_['intersection'](_0x1de748[_0xdfd3('0x32')],qs[_0xdfd3('0x34')](_0x59ead7[_0xdfd3('0x2f')][_0xdfd3('0x34')]));_0x36d042[_0xdfd3('0x33')]=_0x36d042['attributes'][_0xdfd3('0x46')]?_0x36d042[_0xdfd3('0x33')]:_0x1de748[_0xdfd3('0x32')];_0x36d042[_0xdfd3('0x36')]=qs[_0xdfd3('0x37')](_0x59ead7[_0xdfd3('0x2f')][_0xdfd3('0x37')]);_0x36d042[_0xdfd3('0x3b')]=qs['filters'](_[_0xdfd3('0x38')](_0x59ead7[_0xdfd3('0x2f')],_0x1de748[_0xdfd3('0x39')]));if(_0x59ead7['query'][_0xdfd3('0x3a')]){_0x36d042[_0xdfd3('0x3b')]=_[_0xdfd3('0x3c')](_0x36d042[_0xdfd3('0x3b')],{'$or':_[_0xdfd3('0x2a')](_0x36d042[_0xdfd3('0x33')],function(_0x2f9d81){var _0x3b23c3={};_0x3b23c3[_0x2f9d81]={'$like':'%'+_0x59ead7[_0xdfd3('0x2f')][_0xdfd3('0x3a')]+'%'};return _0x3b23c3;})});}_0x36d042=_['merge']({},_0x36d042,_0x59ead7[_0xdfd3('0x3f')]);return _0x22c2b3['getConditions'](_0x36d042);}})[_0xdfd3('0x24')](function(_0x141a37){if(_0x141a37){_0x3145a2=_0x141a37[_0xdfd3('0x46')];if(!_0x59ead7[_0xdfd3('0x2f')][_0xdfd3('0x50')](_0xdfd3('0x35'))){_0x36d042[_0xdfd3('0x1e')]=qs[_0xdfd3('0x1e')](_0x59ead7[_0xdfd3('0x2f')][_0xdfd3('0x1e')]);_0x36d042[_0xdfd3('0x1c')]=qs['offset'](_0x59ead7[_0xdfd3('0x2f')][_0xdfd3('0x1c')]);}return _0x22c2b3[_0xdfd3('0x4e')](_0x36d042);}})['then'](function(_0x2a2041){if(_0x2a2041){return _0x2a2041?{'count':_0x3145a2,'rows':_0x2a2041}:null;}})['then'](respondWithResult(_0x512c42,null))[_0xdfd3('0x43')](handleError(_0x512c42,null));};exports[_0xdfd3('0x51')]=function(_0x19627d,_0x44ec3c,_0x533e89){return db[_0xdfd3('0x52')][_0xdfd3('0x49')]({'where':{'id':_0x19627d[_0xdfd3('0x45')]['id']}})['then'](handleEntityNotFound(_0x44ec3c,null))[_0xdfd3('0x24')](function(_0x36dffe){if(_0x36dffe){return _0x36dffe[_0xdfd3('0x51')](_0x19627d['body'][_0xdfd3('0x4d')],_[_0xdfd3('0x4c')](_0x19627d[_0xdfd3('0x48')],[_0xdfd3('0x4d'),'id'])||{});}})[_0xdfd3('0x24')](respondWithResult(_0x44ec3c,null))[_0xdfd3('0x43')](handleError(_0x44ec3c,null));};exports[_0xdfd3('0x53')]=function(_0x2030a2,_0x382b29,_0x11c4a1){var _0x5061f2={};var _0x4e271f={};var _0x5aaf8e;var _0x3ffd5e;return db[_0xdfd3('0x2b')]['findOne']({'where':{'id':_0x2030a2[_0xdfd3('0x45')]['id']}})[_0xdfd3('0x24')](handleEntityNotFound(_0x382b29,null))['then'](function(_0x282cdd){if(_0x282cdd){_0x5aaf8e=_0x282cdd;_0x4e271f[_0xdfd3('0x32')]=_[_0xdfd3('0x30')](db[_0xdfd3('0x52')][_0xdfd3('0x2c')]);_0x4e271f[_0xdfd3('0x2f')]=_[_0xdfd3('0x30')](_0x2030a2[_0xdfd3('0x2f')]);_0x4e271f[_0xdfd3('0x39')]=_[_0xdfd3('0x31')](_0x4e271f[_0xdfd3('0x32')],_0x4e271f[_0xdfd3('0x2f')]);_0x5061f2[_0xdfd3('0x33')]=_['intersection'](_0x4e271f[_0xdfd3('0x32')],qs[_0xdfd3('0x34')](_0x2030a2[_0xdfd3('0x2f')][_0xdfd3('0x34')]));_0x5061f2[_0xdfd3('0x33')]=_0x5061f2[_0xdfd3('0x33')][_0xdfd3('0x46')]?_0x5061f2[_0xdfd3('0x33')]:_0x4e271f[_0xdfd3('0x32')];_0x5061f2[_0xdfd3('0x36')]=qs['sort'](_0x2030a2[_0xdfd3('0x2f')][_0xdfd3('0x37')]);_0x5061f2[_0xdfd3('0x3b')]=qs[_0xdfd3('0x39')](_[_0xdfd3('0x38')](_0x2030a2[_0xdfd3('0x2f')],_0x4e271f[_0xdfd3('0x39')]));if(_0x2030a2[_0xdfd3('0x2f')][_0xdfd3('0x3a')]){_0x5061f2[_0xdfd3('0x3b')]=_[_0xdfd3('0x3c')](_0x5061f2['where'],{'$or':_[_0xdfd3('0x2a')](_0x5061f2['attributes'],function(_0x4e3df4){var _0x1e3621={};_0x1e3621[_0x4e3df4]={'$like':'%'+_0x2030a2[_0xdfd3('0x2f')][_0xdfd3('0x3a')]+'%'};return _0x1e3621;})});}_0x5061f2=_['merge']({},_0x5061f2,_0x2030a2[_0xdfd3('0x3f')]);return _0x5aaf8e[_0xdfd3('0x53')](_0x5061f2);}})[_0xdfd3('0x24')](function(_0x19e10c){if(_0x19e10c){_0x3ffd5e=_0x19e10c[_0xdfd3('0x46')];if(!_0x2030a2[_0xdfd3('0x2f')]['hasOwnProperty'](_0xdfd3('0x35'))){_0x5061f2[_0xdfd3('0x1e')]=qs[_0xdfd3('0x1e')](_0x2030a2[_0xdfd3('0x2f')][_0xdfd3('0x1e')]);_0x5061f2[_0xdfd3('0x1c')]=qs['offset'](_0x2030a2[_0xdfd3('0x2f')][_0xdfd3('0x1c')]);}return _0x5aaf8e[_0xdfd3('0x53')](_0x5061f2);}})[_0xdfd3('0x24')](function(_0x1d1c09){if(_0x1d1c09){return _0x1d1c09?{'count':_0x3ffd5e,'rows':_0x1d1c09}:null;}})[_0xdfd3('0x24')](respondWithResult(_0x382b29,null))[_0xdfd3('0x43')](handleError(_0x382b29,null));};