cfae8b01fb2a5fe833f943dbd42178cf8a29600e
[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 _0xd57a=['../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','error','name','send','map','VtigerConfiguration','rawAttributes','fieldName','key','query','keys','filters','attributes','model','fields','length','hasOwnProperty','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','rows','catch','show','params','intersection','find','create','body','getFields','findOne','VtigerField','order','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x3ac1ce,_0x11372e){var _0x3e6184=function(_0x8509f5){while(--_0x8509f5){_0x3ac1ce['push'](_0x3ac1ce['shift']());}};_0x3e6184(++_0x11372e);}(_0xd57a,0xdf));var _0xad57=function(_0x1c33b6,_0x28c509){_0x1c33b6=_0x1c33b6-0x0;var _0x57e532=_0xd57a[_0x1c33b6];return _0x57e532;};'use strict';var emlformat=require(_0xad57('0x0'));var rimraf=require(_0xad57('0x1'));var zipdir=require(_0xad57('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xad57('0x3'));var moment=require(_0xad57('0x4'));var BPromise=require(_0xad57('0x5'));var Mustache=require(_0xad57('0x6'));var util=require(_0xad57('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xad57('0x8'));var ejs=require(_0xad57('0x9'));var fs=require('fs');var fs_extra=require(_0xad57('0xa'));var _=require(_0xad57('0xb'));var squel=require(_0xad57('0xc'));var crypto=require(_0xad57('0xd'));var jsforce=require(_0xad57('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xad57('0x8'));var querystring=require(_0xad57('0xf'));var Papa=require(_0xad57('0x10'));var Redis=require(_0xad57('0x11'));var authService=require(_0xad57('0x12'));var qs=require(_0xad57('0x13'));var as=require(_0xad57('0x14'));var hardwareService=require(_0xad57('0x15'));var logger=require('../../config/logger')(_0xad57('0x16'));var utils=require(_0xad57('0x17'));var config=require(_0xad57('0x18'));var licenseUtil=require(_0xad57('0x19'));var db=require(_0xad57('0x1a'))['db'];function respondWithStatusCode(_0x3505d4,_0x181b77){_0x181b77=_0x181b77||0xcc;return function(_0x19d8d8){if(_0x19d8d8){return _0x3505d4[_0xad57('0x1b')](_0x181b77);}return _0x3505d4[_0xad57('0x1c')](_0x181b77)[_0xad57('0x1d')]();};}function respondWithResult(_0x1ca726,_0x4d46f2){_0x4d46f2=_0x4d46f2||0xc8;return function(_0x3a6440){if(_0x3a6440){return _0x1ca726[_0xad57('0x1c')](_0x4d46f2)[_0xad57('0x1e')](_0x3a6440);}};}function respondWithFilteredResult(_0x4831e2,_0x491ace){return function(_0x186775){if(_0x186775){var _0x138e96=typeof _0x491ace[_0xad57('0x1f')]===_0xad57('0x20')&&typeof _0x491ace['limit']===_0xad57('0x20');var _0x208c0e=_0x186775['count'];var _0x91512d=_0x138e96?0x0:_0x491ace[_0xad57('0x1f')];var _0x1e456b=_0x138e96?_0x186775[_0xad57('0x21')]:_0x491ace[_0xad57('0x1f')]+_0x491ace[_0xad57('0x22')];var _0x3a211f;if(_0x1e456b>=_0x208c0e){_0x1e456b=_0x208c0e;_0x3a211f=0xc8;}else{_0x3a211f=0xce;}_0x4831e2[_0xad57('0x1c')](_0x3a211f);return _0x4831e2[_0xad57('0x23')](_0xad57('0x24'),_0x91512d+'-'+_0x1e456b+'/'+_0x208c0e)[_0xad57('0x1e')](_0x186775);}return null;};}function patchUpdates(_0x16f0a1){return function(_0xa0fb51){try{jsonpatch[_0xad57('0x25')](_0xa0fb51,_0x16f0a1,!![]);}catch(_0x13050b){return BPromise[_0xad57('0x26')](_0x13050b);}return _0xa0fb51['save']();};}function saveUpdates(_0x19a52b,_0x3d7535){return function(_0x6d3058){if(_0x6d3058){return _0x6d3058[_0xad57('0x27')](_0x19a52b)[_0xad57('0x28')](function(_0x38213b){return _0x38213b;});}return null;};}function removeEntity(_0x1d350b,_0xeeb037){return function(_0x150ffb){if(_0x150ffb){return _0x150ffb['destroy']()[_0xad57('0x28')](function(){_0x1d350b[_0xad57('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x466646,_0x4b5f2f){return function(_0x4d2ab1){if(!_0x4d2ab1){_0x466646[_0xad57('0x1b')](0x194);}return _0x4d2ab1;};}function handleError(_0x2c51de,_0x2c15e4){_0x2c15e4=_0x2c15e4||0x1f4;return function(_0x203db3){logger[_0xad57('0x29')](_0x203db3['stack']);if(_0x203db3['name']){delete _0x203db3[_0xad57('0x2a')];}_0x2c51de[_0xad57('0x1c')](_0x2c15e4)[_0xad57('0x2b')](_0x203db3);};}exports['index']=function(_0x38e8fd,_0x3872c3){var _0x514781={},_0x2e0ec1={},_0x2fc151={'count':0x0,'rows':[]};var _0x28bc16=_[_0xad57('0x2c')](db[_0xad57('0x2d')][_0xad57('0x2e')],function(_0x38c1b7){return{'name':_0x38c1b7[_0xad57('0x2f')],'type':_0x38c1b7['type'][_0xad57('0x30')]};});_0x2e0ec1['model']=_[_0xad57('0x2c')](_0x28bc16,_0xad57('0x2a'));_0x2e0ec1[_0xad57('0x31')]=_[_0xad57('0x32')](_0x38e8fd['query']);_0x2e0ec1[_0xad57('0x33')]=_['intersection'](_0x2e0ec1['model'],_0x2e0ec1[_0xad57('0x31')]);_0x514781[_0xad57('0x34')]=_['intersection'](_0x2e0ec1[_0xad57('0x35')],qs[_0xad57('0x36')](_0x38e8fd[_0xad57('0x31')]['fields']));_0x514781[_0xad57('0x34')]=_0x514781[_0xad57('0x34')][_0xad57('0x37')]?_0x514781[_0xad57('0x34')]:_0x2e0ec1[_0xad57('0x35')];if(!_0x38e8fd[_0xad57('0x31')][_0xad57('0x38')]('nolimit')){_0x514781[_0xad57('0x22')]=qs['limit'](_0x38e8fd[_0xad57('0x31')][_0xad57('0x22')]);_0x514781['offset']=qs[_0xad57('0x1f')](_0x38e8fd[_0xad57('0x31')][_0xad57('0x1f')]);}_0x514781['order']=qs[_0xad57('0x39')](_0x38e8fd[_0xad57('0x31')]['sort']);_0x514781[_0xad57('0x3a')]=qs[_0xad57('0x33')](_[_0xad57('0x3b')](_0x38e8fd[_0xad57('0x31')],_0x2e0ec1[_0xad57('0x33')]),_0x28bc16);if(_0x38e8fd[_0xad57('0x31')][_0xad57('0x3c')]){_0x514781[_0xad57('0x3a')]=_[_0xad57('0x3d')](_0x514781[_0xad57('0x3a')],{'$or':_[_0xad57('0x2c')](_0x28bc16,function(_0x315932){if(_0x315932[_0xad57('0x3e')]!==_0xad57('0x3f')){var _0x53c238={};_0x53c238[_0x315932[_0xad57('0x2a')]]={'$like':'%'+_0x38e8fd['query'][_0xad57('0x3c')]+'%'};return _0x53c238;}})});}_0x514781=_['merge']({},_0x514781,_0x38e8fd[_0xad57('0x40')]);var _0x42df62={'where':_0x514781[_0xad57('0x3a')]};return db[_0xad57('0x2d')]['count'](_0x42df62)['then'](function(_0x588711){_0x2fc151[_0xad57('0x21')]=_0x588711;if(_0x38e8fd[_0xad57('0x31')][_0xad57('0x41')]){_0x514781['include']=[{'all':!![]}];}return db[_0xad57('0x2d')]['findAll'](_0x514781);})['then'](function(_0x491eee){_0x2fc151[_0xad57('0x42')]=_0x491eee;return _0x2fc151;})[_0xad57('0x28')](respondWithFilteredResult(_0x3872c3,_0x514781))[_0xad57('0x43')](handleError(_0x3872c3,null));};exports[_0xad57('0x44')]=function(_0x4b2da3,_0x5a70ba){var _0x126cda={'raw':![],'where':{'id':_0x4b2da3[_0xad57('0x45')]['id']}},_0x440732={};_0x440732['model']=_[_0xad57('0x32')](db[_0xad57('0x2d')][_0xad57('0x2e')]);_0x440732['query']=_[_0xad57('0x32')](_0x4b2da3[_0xad57('0x31')]);_0x440732['filters']=_[_0xad57('0x46')](_0x440732[_0xad57('0x35')],_0x440732[_0xad57('0x31')]);_0x126cda[_0xad57('0x34')]=_[_0xad57('0x46')](_0x440732[_0xad57('0x35')],qs[_0xad57('0x36')](_0x4b2da3[_0xad57('0x31')][_0xad57('0x36')]));_0x126cda['attributes']=_0x126cda[_0xad57('0x34')][_0xad57('0x37')]?_0x126cda[_0xad57('0x34')]:_0x440732['model'];if(_0x4b2da3['query'][_0xad57('0x41')]){_0x126cda['include']=[{'all':!![]}];}_0x126cda=_['merge']({},_0x126cda,_0x4b2da3[_0xad57('0x40')]);return db[_0xad57('0x2d')][_0xad57('0x47')](_0x126cda)[_0xad57('0x28')](handleEntityNotFound(_0x5a70ba,null))[_0xad57('0x28')](respondWithResult(_0x5a70ba,null))[_0xad57('0x43')](handleError(_0x5a70ba,null));};exports[_0xad57('0x48')]=function(_0x2bc50e,_0x3ec518){return db[_0xad57('0x2d')][_0xad57('0x48')](_0x2bc50e[_0xad57('0x49')],{})[_0xad57('0x28')](respondWithResult(_0x3ec518,0xc9))['catch'](handleError(_0x3ec518,null));};exports['update']=function(_0x1c5b02,_0x486ded){if(_0x1c5b02[_0xad57('0x49')]['id']){delete _0x1c5b02['body']['id'];}return db[_0xad57('0x2d')][_0xad57('0x47')]({'where':{'id':_0x1c5b02[_0xad57('0x45')]['id']}})[_0xad57('0x28')](handleEntityNotFound(_0x486ded,null))[_0xad57('0x28')](saveUpdates(_0x1c5b02[_0xad57('0x49')],null))[_0xad57('0x28')](respondWithResult(_0x486ded,null))['catch'](handleError(_0x486ded,null));};exports['destroy']=function(_0x70a182,_0x26f17e){return db['VtigerConfiguration'][_0xad57('0x47')]({'where':{'id':_0x70a182[_0xad57('0x45')]['id']}})['then'](handleEntityNotFound(_0x26f17e,null))[_0xad57('0x28')](removeEntity(_0x26f17e,null))[_0xad57('0x43')](handleError(_0x26f17e,null));};exports[_0xad57('0x4a')]=function(_0x306b41,_0x3e40b2,_0x52de23){var _0x3af93f={};var _0x56e758={};var _0x305d30;var _0x50a8b2;return db[_0xad57('0x2d')][_0xad57('0x4b')]({'where':{'id':_0x306b41[_0xad57('0x45')]['id']}})[_0xad57('0x28')](handleEntityNotFound(_0x3e40b2,null))['then'](function(_0x53d4e3){if(_0x53d4e3){_0x305d30=_0x53d4e3;_0x56e758[_0xad57('0x35')]=_[_0xad57('0x32')](db[_0xad57('0x4c')][_0xad57('0x2e')]);_0x56e758[_0xad57('0x31')]=_['keys'](_0x306b41[_0xad57('0x31')]);_0x56e758[_0xad57('0x33')]=_[_0xad57('0x46')](_0x56e758['model'],_0x56e758[_0xad57('0x31')]);_0x3af93f['attributes']=_['intersection'](_0x56e758['model'],qs[_0xad57('0x36')](_0x306b41[_0xad57('0x31')]['fields']));_0x3af93f[_0xad57('0x34')]=_0x3af93f[_0xad57('0x34')]['length']?_0x3af93f[_0xad57('0x34')]:_0x56e758[_0xad57('0x35')];_0x3af93f[_0xad57('0x4d')]=qs[_0xad57('0x39')](_0x306b41['query'][_0xad57('0x39')]);_0x3af93f['where']=qs[_0xad57('0x33')](_[_0xad57('0x3b')](_0x306b41[_0xad57('0x31')],_0x56e758[_0xad57('0x33')]));if(_0x306b41[_0xad57('0x31')][_0xad57('0x3c')]){_0x3af93f['where']=_[_0xad57('0x3d')](_0x3af93f[_0xad57('0x3a')],{'$or':_[_0xad57('0x2c')](_0x3af93f[_0xad57('0x34')],function(_0x402944){var _0x4ceba7={};_0x4ceba7[_0x402944]={'$like':'%'+_0x306b41['query'][_0xad57('0x3c')]+'%'};return _0x4ceba7;})});}_0x3af93f=_[_0xad57('0x3d')]({},_0x3af93f,_0x306b41[_0xad57('0x40')]);return _0x305d30[_0xad57('0x4a')](_0x3af93f);}})['then'](function(_0x23efa9){if(_0x23efa9){_0x50a8b2=_0x23efa9[_0xad57('0x37')];if(!_0x306b41[_0xad57('0x31')][_0xad57('0x38')](_0xad57('0x4e'))){_0x3af93f[_0xad57('0x22')]=qs[_0xad57('0x22')](_0x306b41['query'][_0xad57('0x22')]);_0x3af93f[_0xad57('0x1f')]=qs[_0xad57('0x1f')](_0x306b41[_0xad57('0x31')]['offset']);}return _0x305d30['getFields'](_0x3af93f);}})[_0xad57('0x28')](function(_0x17ab36){if(_0x17ab36){return _0x17ab36?{'count':_0x50a8b2,'rows':_0x17ab36}:null;}})[_0xad57('0x28')](respondWithResult(_0x3e40b2,null))[_0xad57('0x43')](handleError(_0x3e40b2,null));};exports[_0xad57('0x4f')]=function(_0x2b098e,_0x26bba3,_0x5c2450){var _0x354223={};var _0x3c0e74={};var _0x390989;var _0x5c9269;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x2b098e[_0xad57('0x45')]['id']}})[_0xad57('0x28')](handleEntityNotFound(_0x26bba3,null))['then'](function(_0x5a3c45){if(_0x5a3c45){_0x390989=_0x5a3c45;_0x3c0e74[_0xad57('0x35')]=_[_0xad57('0x32')](db[_0xad57('0x4c')][_0xad57('0x2e')]);_0x3c0e74[_0xad57('0x31')]=_[_0xad57('0x32')](_0x2b098e[_0xad57('0x31')]);_0x3c0e74[_0xad57('0x33')]=_[_0xad57('0x46')](_0x3c0e74[_0xad57('0x35')],_0x3c0e74[_0xad57('0x31')]);_0x354223[_0xad57('0x34')]=_['intersection'](_0x3c0e74['model'],qs[_0xad57('0x36')](_0x2b098e['query'][_0xad57('0x36')]));_0x354223['attributes']=_0x354223['attributes'][_0xad57('0x37')]?_0x354223['attributes']:_0x3c0e74[_0xad57('0x35')];_0x354223['order']=qs['sort'](_0x2b098e[_0xad57('0x31')][_0xad57('0x39')]);_0x354223[_0xad57('0x3a')]=qs[_0xad57('0x33')](_[_0xad57('0x3b')](_0x2b098e[_0xad57('0x31')],_0x3c0e74[_0xad57('0x33')]));if(_0x2b098e[_0xad57('0x31')][_0xad57('0x3c')]){_0x354223[_0xad57('0x3a')]=_[_0xad57('0x3d')](_0x354223[_0xad57('0x3a')],{'$or':_['map'](_0x354223[_0xad57('0x34')],function(_0x49d4df){var _0x1727f3={};_0x1727f3[_0x49d4df]={'$like':'%'+_0x2b098e[_0xad57('0x31')][_0xad57('0x3c')]+'%'};return _0x1727f3;})});}_0x354223=_[_0xad57('0x3d')]({},_0x354223,_0x2b098e['options']);return _0x390989[_0xad57('0x4f')](_0x354223);}})['then'](function(_0x361d17){if(_0x361d17){_0x5c9269=_0x361d17[_0xad57('0x37')];if(!_0x2b098e[_0xad57('0x31')][_0xad57('0x38')](_0xad57('0x4e'))){_0x354223[_0xad57('0x22')]=qs['limit'](_0x2b098e[_0xad57('0x31')][_0xad57('0x22')]);_0x354223[_0xad57('0x1f')]=qs['offset'](_0x2b098e['query'][_0xad57('0x1f')]);}return _0x390989['getSubjects'](_0x354223);}})['then'](function(_0xf14654){if(_0xf14654){return _0xf14654?{'count':_0x5c9269,'rows':_0xf14654}:null;}})[_0xad57('0x28')](respondWithResult(_0x26bba3,null))[_0xad57('0x43')](handleError(_0x26bba3,null));};exports[_0xad57('0x50')]=function(_0xeae5a9,_0x76b86e,_0x5695eb){var _0x3f480c={};var _0x1d3b29={};var _0x4c08a4;var _0x1e6e84;return db[_0xad57('0x2d')]['findOne']({'where':{'id':_0xeae5a9[_0xad57('0x45')]['id']}})['then'](handleEntityNotFound(_0x76b86e,null))[_0xad57('0x28')](function(_0x58d127){if(_0x58d127){_0x4c08a4=_0x58d127;_0x1d3b29[_0xad57('0x35')]=_[_0xad57('0x32')](db[_0xad57('0x4c')][_0xad57('0x2e')]);_0x1d3b29[_0xad57('0x31')]=_['keys'](_0xeae5a9[_0xad57('0x31')]);_0x1d3b29[_0xad57('0x33')]=_[_0xad57('0x46')](_0x1d3b29[_0xad57('0x35')],_0x1d3b29[_0xad57('0x31')]);_0x3f480c[_0xad57('0x34')]=_['intersection'](_0x1d3b29[_0xad57('0x35')],qs[_0xad57('0x36')](_0xeae5a9['query'][_0xad57('0x36')]));_0x3f480c['attributes']=_0x3f480c['attributes'][_0xad57('0x37')]?_0x3f480c[_0xad57('0x34')]:_0x1d3b29['model'];_0x3f480c['order']=qs[_0xad57('0x39')](_0xeae5a9[_0xad57('0x31')][_0xad57('0x39')]);_0x3f480c[_0xad57('0x3a')]=qs['filters'](_[_0xad57('0x3b')](_0xeae5a9[_0xad57('0x31')],_0x1d3b29[_0xad57('0x33')]));if(_0xeae5a9['query']['filter']){_0x3f480c[_0xad57('0x3a')]=_[_0xad57('0x3d')](_0x3f480c['where'],{'$or':_[_0xad57('0x2c')](_0x3f480c[_0xad57('0x34')],function(_0x5eaec3){var _0x54f02c={};_0x54f02c[_0x5eaec3]={'$like':'%'+_0xeae5a9['query']['filter']+'%'};return _0x54f02c;})});}_0x3f480c=_[_0xad57('0x3d')]({},_0x3f480c,_0xeae5a9[_0xad57('0x40')]);return _0x4c08a4[_0xad57('0x50')](_0x3f480c);}})[_0xad57('0x28')](function(_0x379ce7){if(_0x379ce7){_0x1e6e84=_0x379ce7['length'];if(!_0xeae5a9[_0xad57('0x31')][_0xad57('0x38')](_0xad57('0x4e'))){_0x3f480c[_0xad57('0x22')]=qs['limit'](_0xeae5a9[_0xad57('0x31')][_0xad57('0x22')]);_0x3f480c[_0xad57('0x1f')]=qs[_0xad57('0x1f')](_0xeae5a9[_0xad57('0x31')][_0xad57('0x1f')]);}return _0x4c08a4[_0xad57('0x50')](_0x3f480c);}})[_0xad57('0x28')](function(_0x37bc66){if(_0x37bc66){return _0x37bc66?{'count':_0x1e6e84,'rows':_0x37bc66}:null;}})[_0xad57('0x28')](respondWithResult(_0x76b86e,null))['catch'](handleError(_0x76b86e,null));};