dfbd52a4c18f753f3b0076066e9bdba780ee12e0
[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 _0xe88e=['filter','options','includeAll','include','findAll','rows','catch','show','params','keys','length','create','body','find','getFields','VtigerField','getSubjects','findOne','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','index','map','VtigerConfiguration','rawAttributes','fieldName','key','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','type','VIRTUAL'];(function(_0xcf82b2,_0x49ab9a){var _0x4275e9=function(_0x5b768f){while(--_0x5b768f){_0xcf82b2['push'](_0xcf82b2['shift']());}};_0x4275e9(++_0x49ab9a);}(_0xe88e,0x167));var _0xee88=function(_0x90e9ab,_0x426802){_0x90e9ab=_0x90e9ab-0x0;var _0xdfa58b=_0xe88e[_0x90e9ab];return _0xdfa58b;};'use strict';var emlformat=require(_0xee88('0x0'));var rimraf=require(_0xee88('0x1'));var zipdir=require(_0xee88('0x2'));var jsonpatch=require(_0xee88('0x3'));var rp=require(_0xee88('0x4'));var moment=require(_0xee88('0x5'));var BPromise=require(_0xee88('0x6'));var Mustache=require(_0xee88('0x7'));var util=require(_0xee88('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xee88('0x9'));var ejs=require(_0xee88('0xa'));var fs=require('fs');var fs_extra=require(_0xee88('0xb'));var _=require('lodash');var squel=require(_0xee88('0xc'));var crypto=require(_0xee88('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xee88('0x9'));var querystring=require(_0xee88('0xe'));var Papa=require(_0xee88('0xf'));var Redis=require(_0xee88('0x10'));var authService=require(_0xee88('0x11'));var qs=require(_0xee88('0x12'));var as=require(_0xee88('0x13'));var hardwareService=require(_0xee88('0x14'));var logger=require(_0xee88('0x15'))(_0xee88('0x16'));var utils=require(_0xee88('0x17'));var config=require(_0xee88('0x18'));var licenseUtil=require(_0xee88('0x19'));var db=require(_0xee88('0x1a'))['db'];function respondWithStatusCode(_0x31df35,_0x16c551){_0x16c551=_0x16c551||0xcc;return function(_0x2bde1e){if(_0x2bde1e){return _0x31df35['sendStatus'](_0x16c551);}return _0x31df35[_0xee88('0x1b')](_0x16c551)[_0xee88('0x1c')]();};}function respondWithResult(_0x5f50e0,_0x786409){_0x786409=_0x786409||0xc8;return function(_0xec7f38){if(_0xec7f38){return _0x5f50e0[_0xee88('0x1b')](_0x786409)[_0xee88('0x1d')](_0xec7f38);}};}function respondWithFilteredResult(_0x9d3308,_0x3b78c9){return function(_0xbb7e0d){if(_0xbb7e0d){var _0x23672f=typeof _0x3b78c9['offset']===_0xee88('0x1e')&&typeof _0x3b78c9[_0xee88('0x1f')]==='undefined';var _0x5f117f=_0xbb7e0d['count'];var _0x32000f=_0x23672f?0x0:_0x3b78c9['offset'];var _0xc4d755=_0x23672f?_0xbb7e0d[_0xee88('0x20')]:_0x3b78c9[_0xee88('0x21')]+_0x3b78c9['limit'];var _0x4d9cd9;if(_0xc4d755>=_0x5f117f){_0xc4d755=_0x5f117f;_0x4d9cd9=0xc8;}else{_0x4d9cd9=0xce;}_0x9d3308[_0xee88('0x1b')](_0x4d9cd9);return _0x9d3308[_0xee88('0x22')](_0xee88('0x23'),_0x32000f+'-'+_0xc4d755+'/'+_0x5f117f)[_0xee88('0x1d')](_0xbb7e0d);}return null;};}function patchUpdates(_0x187532){return function(_0x19f575){try{jsonpatch[_0xee88('0x24')](_0x19f575,_0x187532,!![]);}catch(_0x43727e){return BPromise[_0xee88('0x25')](_0x43727e);}return _0x19f575['save']();};}function saveUpdates(_0x4dd2a3,_0x1df7a4){return function(_0xbc67b3){if(_0xbc67b3){return _0xbc67b3[_0xee88('0x26')](_0x4dd2a3)[_0xee88('0x27')](function(_0x1f016f){return _0x1f016f;});}return null;};}function removeEntity(_0x1b5463,_0x15cc82){return function(_0x4e0bd7){if(_0x4e0bd7){return _0x4e0bd7[_0xee88('0x28')]()[_0xee88('0x27')](function(){_0x1b5463[_0xee88('0x1b')](0xcc)[_0xee88('0x1c')]();});}};}function handleEntityNotFound(_0x14376f,_0x1a3bea){return function(_0x2c3d62){if(!_0x2c3d62){_0x14376f[_0xee88('0x29')](0x194);}return _0x2c3d62;};}function handleError(_0x4228f0,_0x280b60){_0x280b60=_0x280b60||0x1f4;return function(_0x3a3ce2){logger[_0xee88('0x2a')](_0x3a3ce2[_0xee88('0x2b')]);if(_0x3a3ce2[_0xee88('0x2c')]){delete _0x3a3ce2[_0xee88('0x2c')];}_0x4228f0[_0xee88('0x1b')](_0x280b60)['send'](_0x3a3ce2);};}exports[_0xee88('0x2d')]=function(_0x3f7c6f,_0x1ddcf6){var _0x3a695d={},_0xadac0c={},_0x44c981={'count':0x0,'rows':[]};var _0x51aaba=_[_0xee88('0x2e')](db[_0xee88('0x2f')][_0xee88('0x30')],function(_0x5b2ee6){return{'name':_0x5b2ee6[_0xee88('0x31')],'type':_0x5b2ee6['type'][_0xee88('0x32')]};});_0xadac0c[_0xee88('0x33')]=_[_0xee88('0x2e')](_0x51aaba,'name');_0xadac0c[_0xee88('0x34')]=_['keys'](_0x3f7c6f['query']);_0xadac0c['filters']=_[_0xee88('0x35')](_0xadac0c[_0xee88('0x33')],_0xadac0c[_0xee88('0x34')]);_0x3a695d[_0xee88('0x36')]=_['intersection'](_0xadac0c[_0xee88('0x33')],qs[_0xee88('0x37')](_0x3f7c6f['query'][_0xee88('0x37')]));_0x3a695d['attributes']=_0x3a695d['attributes']['length']?_0x3a695d[_0xee88('0x36')]:_0xadac0c[_0xee88('0x33')];if(!_0x3f7c6f[_0xee88('0x34')][_0xee88('0x38')](_0xee88('0x39'))){_0x3a695d[_0xee88('0x1f')]=qs[_0xee88('0x1f')](_0x3f7c6f[_0xee88('0x34')][_0xee88('0x1f')]);_0x3a695d[_0xee88('0x21')]=qs[_0xee88('0x21')](_0x3f7c6f[_0xee88('0x34')][_0xee88('0x21')]);}_0x3a695d[_0xee88('0x3a')]=qs[_0xee88('0x3b')](_0x3f7c6f[_0xee88('0x34')][_0xee88('0x3b')]);_0x3a695d[_0xee88('0x3c')]=qs[_0xee88('0x3d')](_[_0xee88('0x3e')](_0x3f7c6f[_0xee88('0x34')],_0xadac0c[_0xee88('0x3d')]),_0x51aaba);if(_0x3f7c6f[_0xee88('0x34')]['filter']){_0x3a695d[_0xee88('0x3c')]=_[_0xee88('0x3f')](_0x3a695d[_0xee88('0x3c')],{'$or':_[_0xee88('0x2e')](_0x51aaba,function(_0x5318cb){if(_0x5318cb[_0xee88('0x40')]!==_0xee88('0x41')){var _0x69365b={};_0x69365b[_0x5318cb[_0xee88('0x2c')]]={'$like':'%'+_0x3f7c6f[_0xee88('0x34')][_0xee88('0x42')]+'%'};return _0x69365b;}})});}_0x3a695d=_[_0xee88('0x3f')]({},_0x3a695d,_0x3f7c6f[_0xee88('0x43')]);var _0x447caf={'where':_0x3a695d[_0xee88('0x3c')]};return db[_0xee88('0x2f')][_0xee88('0x20')](_0x447caf)[_0xee88('0x27')](function(_0x2e7140){_0x44c981[_0xee88('0x20')]=_0x2e7140;if(_0x3f7c6f[_0xee88('0x34')][_0xee88('0x44')]){_0x3a695d[_0xee88('0x45')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0xee88('0x46')](_0x3a695d);})[_0xee88('0x27')](function(_0x1ca1b7){_0x44c981[_0xee88('0x47')]=_0x1ca1b7;return _0x44c981;})['then'](respondWithFilteredResult(_0x1ddcf6,_0x3a695d))[_0xee88('0x48')](handleError(_0x1ddcf6,null));};exports[_0xee88('0x49')]=function(_0x286d69,_0x4496db){var _0x30139a={'raw':![],'where':{'id':_0x286d69[_0xee88('0x4a')]['id']}},_0x264629={};_0x264629[_0xee88('0x33')]=_[_0xee88('0x4b')](db[_0xee88('0x2f')][_0xee88('0x30')]);_0x264629['query']=_[_0xee88('0x4b')](_0x286d69[_0xee88('0x34')]);_0x264629[_0xee88('0x3d')]=_[_0xee88('0x35')](_0x264629['model'],_0x264629['query']);_0x30139a[_0xee88('0x36')]=_[_0xee88('0x35')](_0x264629[_0xee88('0x33')],qs[_0xee88('0x37')](_0x286d69[_0xee88('0x34')][_0xee88('0x37')]));_0x30139a['attributes']=_0x30139a[_0xee88('0x36')][_0xee88('0x4c')]?_0x30139a[_0xee88('0x36')]:_0x264629[_0xee88('0x33')];if(_0x286d69['query'][_0xee88('0x44')]){_0x30139a[_0xee88('0x45')]=[{'all':!![]}];}_0x30139a=_['merge']({},_0x30139a,_0x286d69[_0xee88('0x43')]);return db[_0xee88('0x2f')]['find'](_0x30139a)[_0xee88('0x27')](handleEntityNotFound(_0x4496db,null))['then'](respondWithResult(_0x4496db,null))[_0xee88('0x48')](handleError(_0x4496db,null));};exports[_0xee88('0x4d')]=function(_0x506166,_0x31caf2){return db['VtigerConfiguration'][_0xee88('0x4d')](_0x506166[_0xee88('0x4e')],{})[_0xee88('0x27')](respondWithResult(_0x31caf2,0xc9))[_0xee88('0x48')](handleError(_0x31caf2,null));};exports[_0xee88('0x26')]=function(_0x2caf26,_0x5198b0){if(_0x2caf26[_0xee88('0x4e')]['id']){delete _0x2caf26[_0xee88('0x4e')]['id'];}return db[_0xee88('0x2f')][_0xee88('0x4f')]({'where':{'id':_0x2caf26[_0xee88('0x4a')]['id']}})['then'](handleEntityNotFound(_0x5198b0,null))[_0xee88('0x27')](saveUpdates(_0x2caf26[_0xee88('0x4e')],null))['then'](respondWithResult(_0x5198b0,null))['catch'](handleError(_0x5198b0,null));};exports[_0xee88('0x28')]=function(_0x52cd25,_0x263b44){return db[_0xee88('0x2f')][_0xee88('0x4f')]({'where':{'id':_0x52cd25['params']['id']}})['then'](handleEntityNotFound(_0x263b44,null))['then'](removeEntity(_0x263b44,null))[_0xee88('0x48')](handleError(_0x263b44,null));};exports[_0xee88('0x50')]=function(_0x20d3b9,_0x2ba41b,_0x1f41ca){var _0x109db6={};var _0x3aefce={};var _0x13ebfc;var _0x3c3445;return db[_0xee88('0x2f')]['findOne']({'where':{'id':_0x20d3b9[_0xee88('0x4a')]['id']}})[_0xee88('0x27')](handleEntityNotFound(_0x2ba41b,null))[_0xee88('0x27')](function(_0x102114){if(_0x102114){_0x13ebfc=_0x102114;_0x3aefce[_0xee88('0x33')]=_[_0xee88('0x4b')](db[_0xee88('0x51')]['rawAttributes']);_0x3aefce[_0xee88('0x34')]=_[_0xee88('0x4b')](_0x20d3b9[_0xee88('0x34')]);_0x3aefce[_0xee88('0x3d')]=_[_0xee88('0x35')](_0x3aefce[_0xee88('0x33')],_0x3aefce[_0xee88('0x34')]);_0x109db6[_0xee88('0x36')]=_['intersection'](_0x3aefce[_0xee88('0x33')],qs['fields'](_0x20d3b9[_0xee88('0x34')][_0xee88('0x37')]));_0x109db6[_0xee88('0x36')]=_0x109db6[_0xee88('0x36')][_0xee88('0x4c')]?_0x109db6['attributes']:_0x3aefce[_0xee88('0x33')];_0x109db6[_0xee88('0x3a')]=qs[_0xee88('0x3b')](_0x20d3b9['query'][_0xee88('0x3b')]);_0x109db6[_0xee88('0x3c')]=qs[_0xee88('0x3d')](_['pick'](_0x20d3b9[_0xee88('0x34')],_0x3aefce['filters']));if(_0x20d3b9[_0xee88('0x34')][_0xee88('0x42')]){_0x109db6['where']=_['merge'](_0x109db6['where'],{'$or':_['map'](_0x109db6[_0xee88('0x36')],function(_0x18d1c9){var _0x277448={};_0x277448[_0x18d1c9]={'$like':'%'+_0x20d3b9[_0xee88('0x34')]['filter']+'%'};return _0x277448;})});}_0x109db6=_[_0xee88('0x3f')]({},_0x109db6,_0x20d3b9['options']);return _0x13ebfc[_0xee88('0x50')](_0x109db6);}})['then'](function(_0x544c9b){if(_0x544c9b){_0x3c3445=_0x544c9b['length'];if(!_0x20d3b9['query']['hasOwnProperty'](_0xee88('0x39'))){_0x109db6[_0xee88('0x1f')]=qs[_0xee88('0x1f')](_0x20d3b9[_0xee88('0x34')][_0xee88('0x1f')]);_0x109db6[_0xee88('0x21')]=qs[_0xee88('0x21')](_0x20d3b9[_0xee88('0x34')][_0xee88('0x21')]);}return _0x13ebfc[_0xee88('0x50')](_0x109db6);}})[_0xee88('0x27')](function(_0x49eaf4){if(_0x49eaf4){return _0x49eaf4?{'count':_0x3c3445,'rows':_0x49eaf4}:null;}})[_0xee88('0x27')](respondWithResult(_0x2ba41b,null))[_0xee88('0x48')](handleError(_0x2ba41b,null));};exports[_0xee88('0x52')]=function(_0x11db1c,_0x4909da,_0x4354ee){var _0x4d3f1e={};var _0x12d77e={};var _0x595226;var _0x1af510;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x11db1c[_0xee88('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4909da,null))[_0xee88('0x27')](function(_0x4208e7){if(_0x4208e7){_0x595226=_0x4208e7;_0x12d77e[_0xee88('0x33')]=_[_0xee88('0x4b')](db[_0xee88('0x51')][_0xee88('0x30')]);_0x12d77e[_0xee88('0x34')]=_[_0xee88('0x4b')](_0x11db1c[_0xee88('0x34')]);_0x12d77e[_0xee88('0x3d')]=_['intersection'](_0x12d77e[_0xee88('0x33')],_0x12d77e[_0xee88('0x34')]);_0x4d3f1e[_0xee88('0x36')]=_[_0xee88('0x35')](_0x12d77e[_0xee88('0x33')],qs[_0xee88('0x37')](_0x11db1c['query'][_0xee88('0x37')]));_0x4d3f1e[_0xee88('0x36')]=_0x4d3f1e[_0xee88('0x36')]['length']?_0x4d3f1e['attributes']:_0x12d77e['model'];_0x4d3f1e['order']=qs[_0xee88('0x3b')](_0x11db1c[_0xee88('0x34')]['sort']);_0x4d3f1e[_0xee88('0x3c')]=qs[_0xee88('0x3d')](_['pick'](_0x11db1c['query'],_0x12d77e[_0xee88('0x3d')]));if(_0x11db1c[_0xee88('0x34')][_0xee88('0x42')]){_0x4d3f1e[_0xee88('0x3c')]=_[_0xee88('0x3f')](_0x4d3f1e[_0xee88('0x3c')],{'$or':_[_0xee88('0x2e')](_0x4d3f1e[_0xee88('0x36')],function(_0x48980c){var _0x91ef79={};_0x91ef79[_0x48980c]={'$like':'%'+_0x11db1c['query']['filter']+'%'};return _0x91ef79;})});}_0x4d3f1e=_[_0xee88('0x3f')]({},_0x4d3f1e,_0x11db1c[_0xee88('0x43')]);return _0x595226['getSubjects'](_0x4d3f1e);}})['then'](function(_0x4310f0){if(_0x4310f0){_0x1af510=_0x4310f0[_0xee88('0x4c')];if(!_0x11db1c[_0xee88('0x34')]['hasOwnProperty']('nolimit')){_0x4d3f1e['limit']=qs[_0xee88('0x1f')](_0x11db1c['query'][_0xee88('0x1f')]);_0x4d3f1e[_0xee88('0x21')]=qs[_0xee88('0x21')](_0x11db1c[_0xee88('0x34')]['offset']);}return _0x595226[_0xee88('0x52')](_0x4d3f1e);}})['then'](function(_0x403556){if(_0x403556){return _0x403556?{'count':_0x1af510,'rows':_0x403556}:null;}})[_0xee88('0x27')](respondWithResult(_0x4909da,null))[_0xee88('0x48')](handleError(_0x4909da,null));};exports['getDescriptions']=function(_0x500651,_0x2a5b55,_0x5eff7a){var _0x819e8a={};var _0x53d448={};var _0x51e031;var _0x3bce86;return db[_0xee88('0x2f')][_0xee88('0x53')]({'where':{'id':_0x500651[_0xee88('0x4a')]['id']}})[_0xee88('0x27')](handleEntityNotFound(_0x2a5b55,null))['then'](function(_0x509058){if(_0x509058){_0x51e031=_0x509058;_0x53d448['model']=_['keys'](db['VtigerField'][_0xee88('0x30')]);_0x53d448[_0xee88('0x34')]=_[_0xee88('0x4b')](_0x500651[_0xee88('0x34')]);_0x53d448[_0xee88('0x3d')]=_['intersection'](_0x53d448['model'],_0x53d448[_0xee88('0x34')]);_0x819e8a[_0xee88('0x36')]=_['intersection'](_0x53d448['model'],qs[_0xee88('0x37')](_0x500651[_0xee88('0x34')][_0xee88('0x37')]));_0x819e8a[_0xee88('0x36')]=_0x819e8a[_0xee88('0x36')]['length']?_0x819e8a[_0xee88('0x36')]:_0x53d448[_0xee88('0x33')];_0x819e8a[_0xee88('0x3a')]=qs[_0xee88('0x3b')](_0x500651[_0xee88('0x34')]['sort']);_0x819e8a[_0xee88('0x3c')]=qs['filters'](_[_0xee88('0x3e')](_0x500651[_0xee88('0x34')],_0x53d448[_0xee88('0x3d')]));if(_0x500651['query'][_0xee88('0x42')]){_0x819e8a['where']=_[_0xee88('0x3f')](_0x819e8a['where'],{'$or':_['map'](_0x819e8a[_0xee88('0x36')],function(_0x16da97){var _0x340d63={};_0x340d63[_0x16da97]={'$like':'%'+_0x500651[_0xee88('0x34')][_0xee88('0x42')]+'%'};return _0x340d63;})});}_0x819e8a=_['merge']({},_0x819e8a,_0x500651[_0xee88('0x43')]);return _0x51e031[_0xee88('0x54')](_0x819e8a);}})[_0xee88('0x27')](function(_0x10c44f){if(_0x10c44f){_0x3bce86=_0x10c44f['length'];if(!_0x500651['query'][_0xee88('0x38')]('nolimit')){_0x819e8a[_0xee88('0x1f')]=qs[_0xee88('0x1f')](_0x500651[_0xee88('0x34')][_0xee88('0x1f')]);_0x819e8a[_0xee88('0x21')]=qs[_0xee88('0x21')](_0x500651[_0xee88('0x34')][_0xee88('0x21')]);}return _0x51e031[_0xee88('0x54')](_0x819e8a);}})[_0xee88('0x27')](function(_0x5a175f){if(_0x5a175f){return _0x5a175f?{'count':_0x3bce86,'rows':_0x5a175f}:null;}})[_0xee88('0x27')](respondWithResult(_0x2a5b55,null))['catch'](handleError(_0x2a5b55,null));};