c5a34420fcdc2a1606af7f0428b920445d4fc47b
[motion2.git] / server / api / intVtigerConfiguration / intVtigerConfiguration.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 _0xefbb=['offset','limit','undefined','count','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','rawAttributes','type','key','model','map','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','VtigerConfiguration','include','findAll','rows','catch','params','length','find','create','body','findOne','VtigerField','options','getFields','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','fs-extra','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json'];(function(_0x242dfd,_0x46bbb8){var _0x4005f7=function(_0x4b77c9){while(--_0x4b77c9){_0x242dfd['push'](_0x242dfd['shift']());}};_0x4005f7(++_0x46bbb8);}(_0xefbb,0x11b));var _0xbefb=function(_0x50b903,_0x5bddf5){_0x50b903=_0x50b903-0x0;var _0x9a105d=_0xefbb[_0x50b903];return _0x9a105d;};'use strict';var emlformat=require(_0xbefb('0x0'));var rimraf=require(_0xbefb('0x1'));var zipdir=require(_0xbefb('0x2'));var jsonpatch=require(_0xbefb('0x3'));var rp=require(_0xbefb('0x4'));var moment=require('moment');var BPromise=require(_0xbefb('0x5'));var Mustache=require(_0xbefb('0x6'));var util=require(_0xbefb('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbefb('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xbefb('0x9'));var toCsv=require(_0xbefb('0xa'));var querystring=require(_0xbefb('0xb'));var Papa=require(_0xbefb('0xc'));var Redis=require(_0xbefb('0xd'));var authService=require(_0xbefb('0xe'));var qs=require(_0xbefb('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbefb('0x10'));var logger=require('../../config/logger')(_0xbefb('0x11'));var utils=require(_0xbefb('0x12'));var config=require(_0xbefb('0x13'));var licenseUtil=require(_0xbefb('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x17e171,_0x26a956){_0x26a956=_0x26a956||0xcc;return function(_0x1be587){if(_0x1be587){return _0x17e171[_0xbefb('0x15')](_0x26a956);}return _0x17e171[_0xbefb('0x16')](_0x26a956)[_0xbefb('0x17')]();};}function respondWithResult(_0x1605c6,_0x468611){_0x468611=_0x468611||0xc8;return function(_0x46e0d2){if(_0x46e0d2){return _0x1605c6[_0xbefb('0x16')](_0x468611)[_0xbefb('0x18')](_0x46e0d2);}};}function respondWithFilteredResult(_0xb6e1ee,_0x3b466a){return function(_0x3092fd){if(_0x3092fd){var _0x552f44=typeof _0x3b466a[_0xbefb('0x19')]==='undefined'&&typeof _0x3b466a[_0xbefb('0x1a')]===_0xbefb('0x1b');var _0x422be1=_0x3092fd[_0xbefb('0x1c')];var _0x1ad15a=_0x552f44?0x0:_0x3b466a['offset'];var _0x53b462=_0x552f44?_0x3092fd[_0xbefb('0x1c')]:_0x3b466a[_0xbefb('0x19')]+_0x3b466a[_0xbefb('0x1a')];var _0x41af49;if(_0x53b462>=_0x422be1){_0x53b462=_0x422be1;_0x41af49=0xc8;}else{_0x41af49=0xce;}_0xb6e1ee[_0xbefb('0x16')](_0x41af49);return _0xb6e1ee[_0xbefb('0x1d')](_0xbefb('0x1e'),_0x1ad15a+'-'+_0x53b462+'/'+_0x422be1)[_0xbefb('0x18')](_0x3092fd);}return null;};}function patchUpdates(_0x186f1b){return function(_0x4a42c7){try{jsonpatch[_0xbefb('0x1f')](_0x4a42c7,_0x186f1b,!![]);}catch(_0x3c9198){return BPromise['reject'](_0x3c9198);}return _0x4a42c7[_0xbefb('0x20')]();};}function saveUpdates(_0x595e82,_0x38c0db){return function(_0x586a61){if(_0x586a61){return _0x586a61[_0xbefb('0x21')](_0x595e82)[_0xbefb('0x22')](function(_0x3188a8){return _0x3188a8;});}return null;};}function removeEntity(_0x19ae01,_0xfae7ee){return function(_0x24fa00){if(_0x24fa00){return _0x24fa00[_0xbefb('0x23')]()['then'](function(){_0x19ae01[_0xbefb('0x16')](0xcc)[_0xbefb('0x17')]();});}};}function handleEntityNotFound(_0x18e47c,_0x175a52){return function(_0x3c68b5){if(!_0x3c68b5){_0x18e47c['sendStatus'](0x194);}return _0x3c68b5;};}function handleError(_0x1b9e9d,_0x716c80){_0x716c80=_0x716c80||0x1f4;return function(_0x38daf3){logger[_0xbefb('0x24')](_0x38daf3[_0xbefb('0x25')]);if(_0x38daf3[_0xbefb('0x26')]){delete _0x38daf3[_0xbefb('0x26')];}_0x1b9e9d[_0xbefb('0x16')](_0x716c80)[_0xbefb('0x27')](_0x38daf3);};}exports[_0xbefb('0x28')]=function(_0x2c313b,_0x2539bc){var _0x5b4baf={},_0x338f72={},_0x5beee0={'count':0x0,'rows':[]};var _0x46d4f3=_['map'](db['VtigerConfiguration'][_0xbefb('0x29')],function(_0x264a18){return{'name':_0x264a18['fieldName'],'type':_0x264a18[_0xbefb('0x2a')][_0xbefb('0x2b')]};});_0x338f72[_0xbefb('0x2c')]=_[_0xbefb('0x2d')](_0x46d4f3,_0xbefb('0x26'));_0x338f72[_0xbefb('0x2e')]=_[_0xbefb('0x2f')](_0x2c313b[_0xbefb('0x2e')]);_0x338f72[_0xbefb('0x30')]=_['intersection'](_0x338f72[_0xbefb('0x2c')],_0x338f72[_0xbefb('0x2e')]);_0x5b4baf[_0xbefb('0x31')]=_[_0xbefb('0x32')](_0x338f72['model'],qs['fields'](_0x2c313b['query'][_0xbefb('0x33')]));_0x5b4baf[_0xbefb('0x31')]=_0x5b4baf[_0xbefb('0x31')]['length']?_0x5b4baf['attributes']:_0x338f72['model'];if(!_0x2c313b[_0xbefb('0x2e')][_0xbefb('0x34')](_0xbefb('0x35'))){_0x5b4baf[_0xbefb('0x1a')]=qs['limit'](_0x2c313b[_0xbefb('0x2e')][_0xbefb('0x1a')]);_0x5b4baf[_0xbefb('0x19')]=qs['offset'](_0x2c313b[_0xbefb('0x2e')]['offset']);}_0x5b4baf[_0xbefb('0x36')]=qs[_0xbefb('0x37')](_0x2c313b[_0xbefb('0x2e')][_0xbefb('0x37')]);_0x5b4baf[_0xbefb('0x38')]=qs['filters'](_[_0xbefb('0x39')](_0x2c313b[_0xbefb('0x2e')],_0x338f72[_0xbefb('0x30')]),_0x46d4f3);if(_0x2c313b['query'][_0xbefb('0x3a')]){_0x5b4baf[_0xbefb('0x38')]=_[_0xbefb('0x3b')](_0x5b4baf[_0xbefb('0x38')],{'$or':_[_0xbefb('0x2d')](_0x46d4f3,function(_0x3848f7){if(_0x3848f7[_0xbefb('0x2a')]!==_0xbefb('0x3c')){var _0x234118={};_0x234118[_0x3848f7['name']]={'$like':'%'+_0x2c313b[_0xbefb('0x2e')][_0xbefb('0x3a')]+'%'};return _0x234118;}})});}_0x5b4baf=_['merge']({},_0x5b4baf,_0x2c313b['options']);var _0x39929d={'where':_0x5b4baf[_0xbefb('0x38')]};return db[_0xbefb('0x3d')][_0xbefb('0x1c')](_0x39929d)[_0xbefb('0x22')](function(_0x1ef53a){_0x5beee0[_0xbefb('0x1c')]=_0x1ef53a;if(_0x2c313b[_0xbefb('0x2e')]['includeAll']){_0x5b4baf[_0xbefb('0x3e')]=[{'all':!![]}];}return db[_0xbefb('0x3d')][_0xbefb('0x3f')](_0x5b4baf);})[_0xbefb('0x22')](function(_0x5e2250){_0x5beee0[_0xbefb('0x40')]=_0x5e2250;return _0x5beee0;})['then'](respondWithFilteredResult(_0x2539bc,_0x5b4baf))[_0xbefb('0x41')](handleError(_0x2539bc,null));};exports['show']=function(_0x5ad55b,_0x480251){var _0xf13a71={'raw':![],'where':{'id':_0x5ad55b[_0xbefb('0x42')]['id']}},_0x10fbff={};_0x10fbff[_0xbefb('0x2c')]=_[_0xbefb('0x2f')](db[_0xbefb('0x3d')][_0xbefb('0x29')]);_0x10fbff[_0xbefb('0x2e')]=_[_0xbefb('0x2f')](_0x5ad55b[_0xbefb('0x2e')]);_0x10fbff[_0xbefb('0x30')]=_[_0xbefb('0x32')](_0x10fbff[_0xbefb('0x2c')],_0x10fbff[_0xbefb('0x2e')]);_0xf13a71['attributes']=_[_0xbefb('0x32')](_0x10fbff['model'],qs[_0xbefb('0x33')](_0x5ad55b[_0xbefb('0x2e')][_0xbefb('0x33')]));_0xf13a71['attributes']=_0xf13a71[_0xbefb('0x31')][_0xbefb('0x43')]?_0xf13a71[_0xbefb('0x31')]:_0x10fbff[_0xbefb('0x2c')];if(_0x5ad55b[_0xbefb('0x2e')]['includeAll']){_0xf13a71[_0xbefb('0x3e')]=[{'all':!![]}];}_0xf13a71=_[_0xbefb('0x3b')]({},_0xf13a71,_0x5ad55b['options']);return db['VtigerConfiguration'][_0xbefb('0x44')](_0xf13a71)['then'](handleEntityNotFound(_0x480251,null))['then'](respondWithResult(_0x480251,null))[_0xbefb('0x41')](handleError(_0x480251,null));};exports[_0xbefb('0x45')]=function(_0x5ca673,_0x1ecbe8){return db[_0xbefb('0x3d')][_0xbefb('0x45')](_0x5ca673[_0xbefb('0x46')],{})[_0xbefb('0x22')](respondWithResult(_0x1ecbe8,0xc9))[_0xbefb('0x41')](handleError(_0x1ecbe8,null));};exports[_0xbefb('0x21')]=function(_0x2cfbfa,_0x2a0c86){if(_0x2cfbfa[_0xbefb('0x46')]['id']){delete _0x2cfbfa['body']['id'];}return db[_0xbefb('0x3d')][_0xbefb('0x44')]({'where':{'id':_0x2cfbfa['params']['id']}})[_0xbefb('0x22')](handleEntityNotFound(_0x2a0c86,null))[_0xbefb('0x22')](saveUpdates(_0x2cfbfa[_0xbefb('0x46')],null))['then'](respondWithResult(_0x2a0c86,null))['catch'](handleError(_0x2a0c86,null));};exports[_0xbefb('0x23')]=function(_0x509377,_0x2d46dc){return db[_0xbefb('0x3d')]['find']({'where':{'id':_0x509377[_0xbefb('0x42')]['id']}})[_0xbefb('0x22')](handleEntityNotFound(_0x2d46dc,null))[_0xbefb('0x22')](removeEntity(_0x2d46dc,null))[_0xbefb('0x41')](handleError(_0x2d46dc,null));};exports['getFields']=function(_0x3c28a2,_0x27b65e,_0x323b23){var _0x2651b1={};var _0x55e73a={};var _0x3134f4;var _0x313ccc;return db[_0xbefb('0x3d')][_0xbefb('0x47')]({'where':{'id':_0x3c28a2[_0xbefb('0x42')]['id']}})[_0xbefb('0x22')](handleEntityNotFound(_0x27b65e,null))[_0xbefb('0x22')](function(_0x2cbd85){if(_0x2cbd85){_0x3134f4=_0x2cbd85;_0x55e73a[_0xbefb('0x2c')]=_[_0xbefb('0x2f')](db[_0xbefb('0x48')][_0xbefb('0x29')]);_0x55e73a[_0xbefb('0x2e')]=_[_0xbefb('0x2f')](_0x3c28a2['query']);_0x55e73a['filters']=_[_0xbefb('0x32')](_0x55e73a[_0xbefb('0x2c')],_0x55e73a[_0xbefb('0x2e')]);_0x2651b1[_0xbefb('0x31')]=_[_0xbefb('0x32')](_0x55e73a[_0xbefb('0x2c')],qs[_0xbefb('0x33')](_0x3c28a2[_0xbefb('0x2e')][_0xbefb('0x33')]));_0x2651b1['attributes']=_0x2651b1[_0xbefb('0x31')][_0xbefb('0x43')]?_0x2651b1[_0xbefb('0x31')]:_0x55e73a[_0xbefb('0x2c')];_0x2651b1[_0xbefb('0x36')]=qs[_0xbefb('0x37')](_0x3c28a2[_0xbefb('0x2e')][_0xbefb('0x37')]);_0x2651b1[_0xbefb('0x38')]=qs[_0xbefb('0x30')](_['pick'](_0x3c28a2['query'],_0x55e73a['filters']));if(_0x3c28a2[_0xbefb('0x2e')]['filter']){_0x2651b1[_0xbefb('0x38')]=_[_0xbefb('0x3b')](_0x2651b1['where'],{'$or':_[_0xbefb('0x2d')](_0x2651b1[_0xbefb('0x31')],function(_0x38dd34){var _0x551cf2={};_0x551cf2[_0x38dd34]={'$like':'%'+_0x3c28a2[_0xbefb('0x2e')][_0xbefb('0x3a')]+'%'};return _0x551cf2;})});}_0x2651b1=_[_0xbefb('0x3b')]({},_0x2651b1,_0x3c28a2[_0xbefb('0x49')]);return _0x3134f4[_0xbefb('0x4a')](_0x2651b1);}})[_0xbefb('0x22')](function(_0x3270fb){if(_0x3270fb){_0x313ccc=_0x3270fb[_0xbefb('0x43')];if(!_0x3c28a2[_0xbefb('0x2e')][_0xbefb('0x34')](_0xbefb('0x35'))){_0x2651b1[_0xbefb('0x1a')]=qs[_0xbefb('0x1a')](_0x3c28a2[_0xbefb('0x2e')][_0xbefb('0x1a')]);_0x2651b1[_0xbefb('0x19')]=qs[_0xbefb('0x19')](_0x3c28a2[_0xbefb('0x2e')]['offset']);}return _0x3134f4['getFields'](_0x2651b1);}})[_0xbefb('0x22')](function(_0x342f02){if(_0x342f02){return _0x342f02?{'count':_0x313ccc,'rows':_0x342f02}:null;}})[_0xbefb('0x22')](respondWithResult(_0x27b65e,null))[_0xbefb('0x41')](handleError(_0x27b65e,null));};exports[_0xbefb('0x4b')]=function(_0x2ad655,_0x560c98,_0x52d8e9){var _0x2a4c38={};var _0x14c0fb={};var _0x1fc89e;var _0x1265eb;return db['VtigerConfiguration'][_0xbefb('0x47')]({'where':{'id':_0x2ad655[_0xbefb('0x42')]['id']}})[_0xbefb('0x22')](handleEntityNotFound(_0x560c98,null))[_0xbefb('0x22')](function(_0x591dd7){if(_0x591dd7){_0x1fc89e=_0x591dd7;_0x14c0fb[_0xbefb('0x2c')]=_[_0xbefb('0x2f')](db[_0xbefb('0x48')][_0xbefb('0x29')]);_0x14c0fb['query']=_[_0xbefb('0x2f')](_0x2ad655['query']);_0x14c0fb[_0xbefb('0x30')]=_['intersection'](_0x14c0fb['model'],_0x14c0fb[_0xbefb('0x2e')]);_0x2a4c38['attributes']=_[_0xbefb('0x32')](_0x14c0fb[_0xbefb('0x2c')],qs[_0xbefb('0x33')](_0x2ad655['query']['fields']));_0x2a4c38[_0xbefb('0x31')]=_0x2a4c38[_0xbefb('0x31')]['length']?_0x2a4c38[_0xbefb('0x31')]:_0x14c0fb['model'];_0x2a4c38['order']=qs[_0xbefb('0x37')](_0x2ad655[_0xbefb('0x2e')][_0xbefb('0x37')]);_0x2a4c38[_0xbefb('0x38')]=qs[_0xbefb('0x30')](_['pick'](_0x2ad655[_0xbefb('0x2e')],_0x14c0fb[_0xbefb('0x30')]));if(_0x2ad655[_0xbefb('0x2e')][_0xbefb('0x3a')]){_0x2a4c38[_0xbefb('0x38')]=_[_0xbefb('0x3b')](_0x2a4c38[_0xbefb('0x38')],{'$or':_['map'](_0x2a4c38[_0xbefb('0x31')],function(_0x59a765){var _0x169fe9={};_0x169fe9[_0x59a765]={'$like':'%'+_0x2ad655[_0xbefb('0x2e')][_0xbefb('0x3a')]+'%'};return _0x169fe9;})});}_0x2a4c38=_[_0xbefb('0x3b')]({},_0x2a4c38,_0x2ad655[_0xbefb('0x49')]);return _0x1fc89e[_0xbefb('0x4b')](_0x2a4c38);}})[_0xbefb('0x22')](function(_0x1e17a3){if(_0x1e17a3){_0x1265eb=_0x1e17a3[_0xbefb('0x43')];if(!_0x2ad655[_0xbefb('0x2e')][_0xbefb('0x34')](_0xbefb('0x35'))){_0x2a4c38[_0xbefb('0x1a')]=qs[_0xbefb('0x1a')](_0x2ad655[_0xbefb('0x2e')][_0xbefb('0x1a')]);_0x2a4c38[_0xbefb('0x19')]=qs[_0xbefb('0x19')](_0x2ad655['query'][_0xbefb('0x19')]);}return _0x1fc89e[_0xbefb('0x4b')](_0x2a4c38);}})[_0xbefb('0x22')](function(_0x528124){if(_0x528124){return _0x528124?{'count':_0x1265eb,'rows':_0x528124}:null;}})[_0xbefb('0x22')](respondWithResult(_0x560c98,null))['catch'](handleError(_0x560c98,null));};exports[_0xbefb('0x4c')]=function(_0x24d1ea,_0x43f4ca,_0x4d9945){var _0x1a2bfe={};var _0x424e37={};var _0x101d4c;var _0x2a3f5e;return db[_0xbefb('0x3d')]['findOne']({'where':{'id':_0x24d1ea[_0xbefb('0x42')]['id']}})[_0xbefb('0x22')](handleEntityNotFound(_0x43f4ca,null))[_0xbefb('0x22')](function(_0x5294e8){if(_0x5294e8){_0x101d4c=_0x5294e8;_0x424e37[_0xbefb('0x2c')]=_[_0xbefb('0x2f')](db['VtigerField']['rawAttributes']);_0x424e37[_0xbefb('0x2e')]=_['keys'](_0x24d1ea[_0xbefb('0x2e')]);_0x424e37[_0xbefb('0x30')]=_[_0xbefb('0x32')](_0x424e37[_0xbefb('0x2c')],_0x424e37[_0xbefb('0x2e')]);_0x1a2bfe[_0xbefb('0x31')]=_[_0xbefb('0x32')](_0x424e37['model'],qs[_0xbefb('0x33')](_0x24d1ea[_0xbefb('0x2e')][_0xbefb('0x33')]));_0x1a2bfe['attributes']=_0x1a2bfe['attributes'][_0xbefb('0x43')]?_0x1a2bfe[_0xbefb('0x31')]:_0x424e37['model'];_0x1a2bfe[_0xbefb('0x36')]=qs[_0xbefb('0x37')](_0x24d1ea[_0xbefb('0x2e')][_0xbefb('0x37')]);_0x1a2bfe['where']=qs[_0xbefb('0x30')](_[_0xbefb('0x39')](_0x24d1ea[_0xbefb('0x2e')],_0x424e37[_0xbefb('0x30')]));if(_0x24d1ea['query'][_0xbefb('0x3a')]){_0x1a2bfe[_0xbefb('0x38')]=_[_0xbefb('0x3b')](_0x1a2bfe[_0xbefb('0x38')],{'$or':_[_0xbefb('0x2d')](_0x1a2bfe['attributes'],function(_0x514b6e){var _0x5c4c70={};_0x5c4c70[_0x514b6e]={'$like':'%'+_0x24d1ea[_0xbefb('0x2e')][_0xbefb('0x3a')]+'%'};return _0x5c4c70;})});}_0x1a2bfe=_[_0xbefb('0x3b')]({},_0x1a2bfe,_0x24d1ea[_0xbefb('0x49')]);return _0x101d4c[_0xbefb('0x4c')](_0x1a2bfe);}})[_0xbefb('0x22')](function(_0x3499e0){if(_0x3499e0){_0x2a3f5e=_0x3499e0[_0xbefb('0x43')];if(!_0x24d1ea[_0xbefb('0x2e')][_0xbefb('0x34')](_0xbefb('0x35'))){_0x1a2bfe[_0xbefb('0x1a')]=qs['limit'](_0x24d1ea[_0xbefb('0x2e')][_0xbefb('0x1a')]);_0x1a2bfe['offset']=qs[_0xbefb('0x19')](_0x24d1ea['query'][_0xbefb('0x19')]);}return _0x101d4c['getDescriptions'](_0x1a2bfe);}})['then'](function(_0x3def28){if(_0x3def28){return _0x3def28?{'count':_0x2a3f5e,'rows':_0x3def28}:null;}})[_0xbefb('0x22')](respondWithResult(_0x43f4ca,null))['catch'](handleError(_0x43f4ca,null));};