Built motion from commit 3d6333b4.|2.6.31
[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 _0xed1c=['length','includeAll','find','create','body','update','destroy','ids','getConditions','findOne','Condition','addActions','omit','Action','getActions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','count','set','reject','save','then','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','type','options','include','Automation','findAll','rows','catch','show','params'];(function(_0x1a0383,_0x3f753e){var _0x156826=function(_0x85a1dd){while(--_0x85a1dd){_0x1a0383['push'](_0x1a0383['shift']());}};_0x156826(++_0x3f753e);}(_0xed1c,0xbb));var _0xced1=function(_0xf59c7d,_0x39b84f){_0xf59c7d=_0xf59c7d-0x0;var _0x41087f=_0xed1c[_0xf59c7d];return _0x41087f;};'use strict';var emlformat=require(_0xced1('0x0'));var rimraf=require(_0xced1('0x1'));var zipdir=require(_0xced1('0x2'));var jsonpatch=require(_0xced1('0x3'));var rp=require(_0xced1('0x4'));var moment=require(_0xced1('0x5'));var BPromise=require(_0xced1('0x6'));var Mustache=require(_0xced1('0x7'));var util=require('util');var path=require(_0xced1('0x8'));var sox=require('sox');var csv=require(_0xced1('0x9'));var ejs=require(_0xced1('0xa'));var fs=require('fs');var fs_extra=require(_0xced1('0xb'));var _=require(_0xced1('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xced1('0xd'));var deskjs=require(_0xced1('0xe'));var toCsv=require(_0xced1('0x9'));var querystring=require(_0xced1('0xf'));var Papa=require(_0xced1('0x10'));var Redis=require(_0xced1('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xced1('0x12'));var hardwareService=require(_0xced1('0x13'));var logger=require(_0xced1('0x14'))(_0xced1('0x15'));var utils=require(_0xced1('0x16'));var config=require(_0xced1('0x17'));var licenseUtil=require(_0xced1('0x18'));var db=require(_0xced1('0x19'))['db'];function respondWithStatusCode(_0x24df8e,_0x377702){_0x377702=_0x377702||0xcc;return function(_0xff8017){if(_0xff8017){return _0x24df8e[_0xced1('0x1a')](_0x377702);}return _0x24df8e[_0xced1('0x1b')](_0x377702)[_0xced1('0x1c')]();};}function respondWithResult(_0x19ac82,_0x5e5716){_0x5e5716=_0x5e5716||0xc8;return function(_0xf089bd){if(_0xf089bd){return _0x19ac82[_0xced1('0x1b')](_0x5e5716)[_0xced1('0x1d')](_0xf089bd);}};}function respondWithFilteredResult(_0x2fcda7,_0x4ea5c0){return function(_0x2073bb){if(_0x2073bb){var _0x322493=typeof _0x4ea5c0['offset']===_0xced1('0x1e')&&typeof _0x4ea5c0[_0xced1('0x1f')]===_0xced1('0x1e');var _0x5cba63=_0x2073bb['count'];var _0x43e3fb=_0x322493?0x0:_0x4ea5c0[_0xced1('0x20')];var _0x586eed=_0x322493?_0x2073bb[_0xced1('0x21')]:_0x4ea5c0[_0xced1('0x20')]+_0x4ea5c0[_0xced1('0x1f')];var _0x2ead6d;if(_0x586eed>=_0x5cba63){_0x586eed=_0x5cba63;_0x2ead6d=0xc8;}else{_0x2ead6d=0xce;}_0x2fcda7[_0xced1('0x1b')](_0x2ead6d);return _0x2fcda7[_0xced1('0x22')]('Content-Range',_0x43e3fb+'-'+_0x586eed+'/'+_0x5cba63)['json'](_0x2073bb);}return null;};}function patchUpdates(_0x4d7154){return function(_0x5b0fa6){try{jsonpatch['apply'](_0x5b0fa6,_0x4d7154,!![]);}catch(_0x164c52){return BPromise[_0xced1('0x23')](_0x164c52);}return _0x5b0fa6[_0xced1('0x24')]();};}function saveUpdates(_0x5e144d,_0x3a3b94){return function(_0x474882){if(_0x474882){return _0x474882['update'](_0x5e144d)['then'](function(_0x3a2975){return _0x3a2975;});}return null;};}function removeEntity(_0x3e9eb3,_0x5b5f9b){return function(_0x506112){if(_0x506112){return _0x506112['destroy']()[_0xced1('0x25')](function(){_0x3e9eb3[_0xced1('0x1b')](0xcc)[_0xced1('0x1c')]();});}};}function handleEntityNotFound(_0x1b11ab,_0x455e4d){return function(_0x1ab071){if(!_0x1ab071){_0x1b11ab[_0xced1('0x1a')](0x194);}return _0x1ab071;};}function handleError(_0x408e6d,_0x2e8ce3){_0x2e8ce3=_0x2e8ce3||0x1f4;return function(_0x433564){logger[_0xced1('0x26')](_0x433564[_0xced1('0x27')]);if(_0x433564['name']){delete _0x433564[_0xced1('0x28')];}_0x408e6d[_0xced1('0x1b')](_0x2e8ce3)[_0xced1('0x29')](_0x433564);};}exports[_0xced1('0x2a')]=function(_0x111239,_0x40c528){var _0x5b3cae={},_0x24e036={},_0x14b8a7={'count':0x0,'rows':[]};var _0xe91614=_[_0xced1('0x2b')](db['Automation'][_0xced1('0x2c')],function(_0x2a4b7f){return{'name':_0x2a4b7f[_0xced1('0x2d')],'type':_0x2a4b7f['type'][_0xced1('0x2e')]};});_0x24e036[_0xced1('0x2f')]=_[_0xced1('0x2b')](_0xe91614,_0xced1('0x28'));_0x24e036['query']=_[_0xced1('0x30')](_0x111239[_0xced1('0x31')]);_0x24e036['filters']=_[_0xced1('0x32')](_0x24e036[_0xced1('0x2f')],_0x24e036[_0xced1('0x31')]);_0x5b3cae[_0xced1('0x33')]=_[_0xced1('0x32')](_0x24e036[_0xced1('0x2f')],qs[_0xced1('0x34')](_0x111239[_0xced1('0x31')][_0xced1('0x34')]));_0x5b3cae['attributes']=_0x5b3cae[_0xced1('0x33')]['length']?_0x5b3cae['attributes']:_0x24e036[_0xced1('0x2f')];if(!_0x111239['query'][_0xced1('0x35')](_0xced1('0x36'))){_0x5b3cae[_0xced1('0x1f')]=qs[_0xced1('0x1f')](_0x111239['query'][_0xced1('0x1f')]);_0x5b3cae['offset']=qs[_0xced1('0x20')](_0x111239['query'][_0xced1('0x20')]);}_0x5b3cae[_0xced1('0x37')]=qs[_0xced1('0x38')](_0x111239[_0xced1('0x31')][_0xced1('0x38')]);_0x5b3cae[_0xced1('0x39')]=qs[_0xced1('0x3a')](_[_0xced1('0x3b')](_0x111239['query'],_0x24e036[_0xced1('0x3a')]),_0xe91614);if(_0x111239['query'][_0xced1('0x3c')]){_0x5b3cae[_0xced1('0x39')]=_[_0xced1('0x3d')](_0x5b3cae[_0xced1('0x39')],{'$or':_[_0xced1('0x2b')](_0xe91614,function(_0x16a91e){if(_0x16a91e[_0xced1('0x3e')]!=='VIRTUAL'){var _0x536543={};_0x536543[_0x16a91e[_0xced1('0x28')]]={'$like':'%'+_0x111239[_0xced1('0x31')][_0xced1('0x3c')]+'%'};return _0x536543;}})});}_0x5b3cae=_[_0xced1('0x3d')]({},_0x5b3cae,_0x111239[_0xced1('0x3f')]);var _0x16105b={'where':_0x5b3cae[_0xced1('0x39')]};return db['Automation'][_0xced1('0x21')](_0x16105b)['then'](function(_0x558900){_0x14b8a7[_0xced1('0x21')]=_0x558900;if(_0x111239[_0xced1('0x31')]['includeAll']){_0x5b3cae[_0xced1('0x40')]=[{'all':!![]}];}return db[_0xced1('0x41')][_0xced1('0x42')](_0x5b3cae);})[_0xced1('0x25')](function(_0x3ec140){_0x14b8a7[_0xced1('0x43')]=_0x3ec140;return _0x14b8a7;})[_0xced1('0x25')](respondWithFilteredResult(_0x40c528,_0x5b3cae))[_0xced1('0x44')](handleError(_0x40c528,null));};exports[_0xced1('0x45')]=function(_0x54c554,_0x29b404){var _0x48320f={'raw':![],'where':{'id':_0x54c554[_0xced1('0x46')]['id']}},_0x517653={};_0x517653[_0xced1('0x2f')]=_[_0xced1('0x30')](db[_0xced1('0x41')][_0xced1('0x2c')]);_0x517653['query']=_['keys'](_0x54c554[_0xced1('0x31')]);_0x517653[_0xced1('0x3a')]=_[_0xced1('0x32')](_0x517653['model'],_0x517653[_0xced1('0x31')]);_0x48320f['attributes']=_[_0xced1('0x32')](_0x517653['model'],qs[_0xced1('0x34')](_0x54c554['query'][_0xced1('0x34')]));_0x48320f[_0xced1('0x33')]=_0x48320f['attributes'][_0xced1('0x47')]?_0x48320f['attributes']:_0x517653[_0xced1('0x2f')];if(_0x54c554[_0xced1('0x31')][_0xced1('0x48')]){_0x48320f['include']=[{'all':!![]}];}_0x48320f=_[_0xced1('0x3d')]({},_0x48320f,_0x54c554[_0xced1('0x3f')]);return db[_0xced1('0x41')][_0xced1('0x49')](_0x48320f)['then'](handleEntityNotFound(_0x29b404,null))[_0xced1('0x25')](respondWithResult(_0x29b404,null))[_0xced1('0x44')](handleError(_0x29b404,null));};exports[_0xced1('0x4a')]=function(_0x33c35c,_0x4aa4bb){return db[_0xced1('0x41')][_0xced1('0x4a')](_0x33c35c[_0xced1('0x4b')],{})[_0xced1('0x25')](respondWithResult(_0x4aa4bb,0xc9))[_0xced1('0x44')](handleError(_0x4aa4bb,null));};exports[_0xced1('0x4c')]=function(_0x549bd3,_0x2177fd){if(_0x549bd3[_0xced1('0x4b')]['id']){delete _0x549bd3[_0xced1('0x4b')]['id'];}return db[_0xced1('0x41')][_0xced1('0x49')]({'where':{'id':_0x549bd3[_0xced1('0x46')]['id']}})['then'](handleEntityNotFound(_0x2177fd,null))['then'](saveUpdates(_0x549bd3[_0xced1('0x4b')],null))[_0xced1('0x25')](respondWithResult(_0x2177fd,null))[_0xced1('0x44')](handleError(_0x2177fd,null));};exports[_0xced1('0x4d')]=function(_0x39b773,_0x562cb7){return db[_0xced1('0x41')][_0xced1('0x49')]({'where':{'id':_0x39b773[_0xced1('0x46')]['id']}})['then'](handleEntityNotFound(_0x562cb7,null))[_0xced1('0x25')](removeEntity(_0x562cb7,null))[_0xced1('0x44')](handleError(_0x562cb7,null));};exports['addConditions']=function(_0x8b7f37,_0x4800e9,_0xacb449){return db['Condition'][_0xced1('0x49')]({'where':{'id':_0x8b7f37[_0xced1('0x46')]['id']}})[_0xced1('0x25')](handleEntityNotFound(_0x4800e9,null))[_0xced1('0x25')](function(_0x5dcd23){if(_0x5dcd23){return _0x5dcd23['addConditions'](_0x8b7f37[_0xced1('0x4b')][_0xced1('0x4e')],_['omit'](_0x8b7f37[_0xced1('0x4b')],[_0xced1('0x4e'),'id'])||{});}})[_0xced1('0x25')](respondWithResult(_0x4800e9,null))[_0xced1('0x44')](handleError(_0x4800e9,null));};exports[_0xced1('0x4f')]=function(_0x488785,_0x4fa3d0,_0x11988c){var _0x198565={};var _0x222929={};var _0x367326;var _0x69796b;return db['Automation'][_0xced1('0x50')]({'where':{'id':_0x488785[_0xced1('0x46')]['id']}})[_0xced1('0x25')](handleEntityNotFound(_0x4fa3d0,null))[_0xced1('0x25')](function(_0x187806){if(_0x187806){_0x367326=_0x187806;_0x222929[_0xced1('0x2f')]=_[_0xced1('0x30')](db[_0xced1('0x51')][_0xced1('0x2c')]);_0x222929['query']=_[_0xced1('0x30')](_0x488785['query']);_0x222929['filters']=_[_0xced1('0x32')](_0x222929['model'],_0x222929[_0xced1('0x31')]);_0x198565['attributes']=_[_0xced1('0x32')](_0x222929[_0xced1('0x2f')],qs[_0xced1('0x34')](_0x488785[_0xced1('0x31')][_0xced1('0x34')]));_0x198565[_0xced1('0x33')]=_0x198565[_0xced1('0x33')][_0xced1('0x47')]?_0x198565[_0xced1('0x33')]:_0x222929[_0xced1('0x2f')];_0x198565[_0xced1('0x37')]=qs[_0xced1('0x38')](_0x488785['query'][_0xced1('0x38')]);_0x198565[_0xced1('0x39')]=qs['filters'](_[_0xced1('0x3b')](_0x488785[_0xced1('0x31')],_0x222929[_0xced1('0x3a')]));if(_0x488785[_0xced1('0x31')][_0xced1('0x3c')]){_0x198565[_0xced1('0x39')]=_[_0xced1('0x3d')](_0x198565[_0xced1('0x39')],{'$or':_[_0xced1('0x2b')](_0x198565[_0xced1('0x33')],function(_0x3049c5){var _0x3ce3ab={};_0x3ce3ab[_0x3049c5]={'$like':'%'+_0x488785[_0xced1('0x31')]['filter']+'%'};return _0x3ce3ab;})});}_0x198565=_[_0xced1('0x3d')]({},_0x198565,_0x488785['options']);return _0x367326[_0xced1('0x4f')](_0x198565);}})[_0xced1('0x25')](function(_0xba7916){if(_0xba7916){_0x69796b=_0xba7916[_0xced1('0x47')];if(!_0x488785['query']['hasOwnProperty'](_0xced1('0x36'))){_0x198565[_0xced1('0x1f')]=qs[_0xced1('0x1f')](_0x488785[_0xced1('0x31')]['limit']);_0x198565[_0xced1('0x20')]=qs['offset'](_0x488785[_0xced1('0x31')][_0xced1('0x20')]);}return _0x367326[_0xced1('0x4f')](_0x198565);}})['then'](function(_0x5edc5d){if(_0x5edc5d){return _0x5edc5d?{'count':_0x69796b,'rows':_0x5edc5d}:null;}})[_0xced1('0x25')](respondWithResult(_0x4fa3d0,null))[_0xced1('0x44')](handleError(_0x4fa3d0,null));};exports[_0xced1('0x52')]=function(_0x5d4504,_0x431a4e,_0x437db2){return db['Action'][_0xced1('0x49')]({'where':{'id':_0x5d4504[_0xced1('0x46')]['id']}})[_0xced1('0x25')](handleEntityNotFound(_0x431a4e,null))[_0xced1('0x25')](function(_0x225fa2){if(_0x225fa2){return _0x225fa2[_0xced1('0x52')](_0x5d4504[_0xced1('0x4b')][_0xced1('0x4e')],_[_0xced1('0x53')](_0x5d4504[_0xced1('0x4b')],[_0xced1('0x4e'),'id'])||{});}})[_0xced1('0x25')](respondWithResult(_0x431a4e,null))[_0xced1('0x44')](handleError(_0x431a4e,null));};exports['getActions']=function(_0x2fc461,_0x12d872,_0x43687b){var _0x213f6d={};var _0x271193={};var _0x23ccf4;var _0x146676;return db[_0xced1('0x41')][_0xced1('0x50')]({'where':{'id':_0x2fc461[_0xced1('0x46')]['id']}})[_0xced1('0x25')](handleEntityNotFound(_0x12d872,null))[_0xced1('0x25')](function(_0x43694c){if(_0x43694c){_0x23ccf4=_0x43694c;_0x271193[_0xced1('0x2f')]=_[_0xced1('0x30')](db[_0xced1('0x54')][_0xced1('0x2c')]);_0x271193[_0xced1('0x31')]=_[_0xced1('0x30')](_0x2fc461['query']);_0x271193[_0xced1('0x3a')]=_[_0xced1('0x32')](_0x271193[_0xced1('0x2f')],_0x271193[_0xced1('0x31')]);_0x213f6d[_0xced1('0x33')]=_[_0xced1('0x32')](_0x271193[_0xced1('0x2f')],qs['fields'](_0x2fc461[_0xced1('0x31')][_0xced1('0x34')]));_0x213f6d[_0xced1('0x33')]=_0x213f6d['attributes']['length']?_0x213f6d['attributes']:_0x271193[_0xced1('0x2f')];_0x213f6d[_0xced1('0x37')]=qs['sort'](_0x2fc461['query'][_0xced1('0x38')]);_0x213f6d[_0xced1('0x39')]=qs[_0xced1('0x3a')](_['pick'](_0x2fc461[_0xced1('0x31')],_0x271193['filters']));if(_0x2fc461['query'][_0xced1('0x3c')]){_0x213f6d[_0xced1('0x39')]=_[_0xced1('0x3d')](_0x213f6d[_0xced1('0x39')],{'$or':_[_0xced1('0x2b')](_0x213f6d['attributes'],function(_0x38768d){var _0x2eea8d={};_0x2eea8d[_0x38768d]={'$like':'%'+_0x2fc461['query'][_0xced1('0x3c')]+'%'};return _0x2eea8d;})});}_0x213f6d=_[_0xced1('0x3d')]({},_0x213f6d,_0x2fc461['options']);return _0x23ccf4[_0xced1('0x55')](_0x213f6d);}})[_0xced1('0x25')](function(_0x1e274d){if(_0x1e274d){_0x146676=_0x1e274d[_0xced1('0x47')];if(!_0x2fc461[_0xced1('0x31')]['hasOwnProperty']('nolimit')){_0x213f6d[_0xced1('0x1f')]=qs[_0xced1('0x1f')](_0x2fc461[_0xced1('0x31')][_0xced1('0x1f')]);_0x213f6d[_0xced1('0x20')]=qs['offset'](_0x2fc461[_0xced1('0x31')]['offset']);}return _0x23ccf4[_0xced1('0x55')](_0x213f6d);}})[_0xced1('0x25')](function(_0x29fb9c){if(_0x29fb9c){return _0x29fb9c?{'count':_0x146676,'rows':_0x29fb9c}:null;}})[_0xced1('0x25')](respondWithResult(_0x12d872,null))[_0xced1('0x44')](handleError(_0x12d872,null));};