Built motion from commit 994c64e1.|2.6.1
[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 _0x14a4=['rows','catch','show','params','keys','find','create','body','getFields','VtigerField','hasOwnProperty','findOne','order','getSubjects','getDescriptions','eml-format','rimraf','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','sendStatus','error','name','send','index','map','VtigerConfiguration','rawAttributes','fieldName','type','query','filters','intersection','model','attributes','fields','length','nolimit','sort','where','pick','filter','merge','options','includeAll','include'];(function(_0x325e1c,_0x52fb08){var _0x149f3f=function(_0x47bf0f){while(--_0x47bf0f){_0x325e1c['push'](_0x325e1c['shift']());}};_0x149f3f(++_0x52fb08);}(_0x14a4,0x147));var _0x414a=function(_0x8c2d70,_0x3e7490){_0x8c2d70=_0x8c2d70-0x0;var _0x444162=_0x14a4[_0x8c2d70];return _0x444162;};'use strict';var emlformat=require(_0x414a('0x0'));var rimraf=require(_0x414a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x414a('0x2'));var BPromise=require(_0x414a('0x3'));var Mustache=require(_0x414a('0x4'));var util=require('util');var path=require(_0x414a('0x5'));var sox=require(_0x414a('0x6'));var csv=require(_0x414a('0x7'));var ejs=require(_0x414a('0x8'));var fs=require('fs');var fs_extra=require(_0x414a('0x9'));var _=require(_0x414a('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x414a('0xb'));var toCsv=require(_0x414a('0x7'));var querystring=require(_0x414a('0xc'));var Papa=require(_0x414a('0xd'));var Redis=require(_0x414a('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x414a('0xf'));var as=require(_0x414a('0x10'));var hardwareService=require(_0x414a('0x11'));var logger=require(_0x414a('0x12'))(_0x414a('0x13'));var utils=require(_0x414a('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x414a('0x15'));var db=require(_0x414a('0x16'))['db'];function respondWithStatusCode(_0x2c5aa4,_0x5473d0){_0x5473d0=_0x5473d0||0xcc;return function(_0x2302c3){if(_0x2302c3){return _0x2c5aa4['sendStatus'](_0x5473d0);}return _0x2c5aa4[_0x414a('0x17')](_0x5473d0)[_0x414a('0x18')]();};}function respondWithResult(_0x2b732f,_0x8d5363){_0x8d5363=_0x8d5363||0xc8;return function(_0x443f5b){if(_0x443f5b){return _0x2b732f[_0x414a('0x17')](_0x8d5363)[_0x414a('0x19')](_0x443f5b);}};}function respondWithFilteredResult(_0x553d78,_0x2b5fb9){return function(_0x3e4822){if(_0x3e4822){var _0x2f0b07=typeof _0x2b5fb9[_0x414a('0x1a')]===_0x414a('0x1b')&&typeof _0x2b5fb9[_0x414a('0x1c')]==='undefined';var _0x498390=_0x3e4822['count'];var _0x1f2fb7=_0x2f0b07?0x0:_0x2b5fb9[_0x414a('0x1a')];var _0x5d6a03=_0x2f0b07?_0x3e4822[_0x414a('0x1d')]:_0x2b5fb9[_0x414a('0x1a')]+_0x2b5fb9[_0x414a('0x1c')];var _0x4cc39c;if(_0x5d6a03>=_0x498390){_0x5d6a03=_0x498390;_0x4cc39c=0xc8;}else{_0x4cc39c=0xce;}_0x553d78['status'](_0x4cc39c);return _0x553d78[_0x414a('0x1e')](_0x414a('0x1f'),_0x1f2fb7+'-'+_0x5d6a03+'/'+_0x498390)[_0x414a('0x19')](_0x3e4822);}return null;};}function patchUpdates(_0x3a9225){return function(_0x30c68d){try{jsonpatch[_0x414a('0x20')](_0x30c68d,_0x3a9225,!![]);}catch(_0x47ce27){return BPromise[_0x414a('0x21')](_0x47ce27);}return _0x30c68d['save']();};}function saveUpdates(_0x50c3b9,_0x2e5feb){return function(_0x3e2b00){if(_0x3e2b00){return _0x3e2b00[_0x414a('0x22')](_0x50c3b9)[_0x414a('0x23')](function(_0x1620f1){return _0x1620f1;});}return null;};}function removeEntity(_0x1fe031,_0x4b9296){return function(_0xcb0e7b){if(_0xcb0e7b){return _0xcb0e7b[_0x414a('0x24')]()[_0x414a('0x23')](function(){_0x1fe031['status'](0xcc)[_0x414a('0x18')]();});}};}function handleEntityNotFound(_0x59420b,_0x50178c){return function(_0x5ede8a){if(!_0x5ede8a){_0x59420b[_0x414a('0x25')](0x194);}return _0x5ede8a;};}function handleError(_0x38b992,_0x58e730){_0x58e730=_0x58e730||0x1f4;return function(_0x5b2818){logger[_0x414a('0x26')](_0x5b2818['stack']);if(_0x5b2818[_0x414a('0x27')]){delete _0x5b2818['name'];}_0x38b992[_0x414a('0x17')](_0x58e730)[_0x414a('0x28')](_0x5b2818);};}exports[_0x414a('0x29')]=function(_0x382570,_0x4fb914){var _0x47e230={},_0x4d5bad={},_0x3b9f50={'count':0x0,'rows':[]};var _0x2f328f=_[_0x414a('0x2a')](db[_0x414a('0x2b')][_0x414a('0x2c')],function(_0x461ceb){return{'name':_0x461ceb[_0x414a('0x2d')],'type':_0x461ceb[_0x414a('0x2e')]['key']};});_0x4d5bad['model']=_[_0x414a('0x2a')](_0x2f328f,_0x414a('0x27'));_0x4d5bad[_0x414a('0x2f')]=_['keys'](_0x382570[_0x414a('0x2f')]);_0x4d5bad[_0x414a('0x30')]=_[_0x414a('0x31')](_0x4d5bad[_0x414a('0x32')],_0x4d5bad[_0x414a('0x2f')]);_0x47e230[_0x414a('0x33')]=_['intersection'](_0x4d5bad[_0x414a('0x32')],qs['fields'](_0x382570['query'][_0x414a('0x34')]));_0x47e230['attributes']=_0x47e230[_0x414a('0x33')][_0x414a('0x35')]?_0x47e230[_0x414a('0x33')]:_0x4d5bad[_0x414a('0x32')];if(!_0x382570['query']['hasOwnProperty'](_0x414a('0x36'))){_0x47e230['limit']=qs[_0x414a('0x1c')](_0x382570[_0x414a('0x2f')][_0x414a('0x1c')]);_0x47e230[_0x414a('0x1a')]=qs['offset'](_0x382570[_0x414a('0x2f')][_0x414a('0x1a')]);}_0x47e230['order']=qs[_0x414a('0x37')](_0x382570['query']['sort']);_0x47e230[_0x414a('0x38')]=qs['filters'](_[_0x414a('0x39')](_0x382570[_0x414a('0x2f')],_0x4d5bad[_0x414a('0x30')]),_0x2f328f);if(_0x382570[_0x414a('0x2f')][_0x414a('0x3a')]){_0x47e230[_0x414a('0x38')]=_[_0x414a('0x3b')](_0x47e230[_0x414a('0x38')],{'$or':_[_0x414a('0x2a')](_0x2f328f,function(_0x586b98){if(_0x586b98[_0x414a('0x2e')]!=='VIRTUAL'){var _0x1600c6={};_0x1600c6[_0x586b98[_0x414a('0x27')]]={'$like':'%'+_0x382570[_0x414a('0x2f')]['filter']+'%'};return _0x1600c6;}})});}_0x47e230=_[_0x414a('0x3b')]({},_0x47e230,_0x382570[_0x414a('0x3c')]);var _0x137608={'where':_0x47e230[_0x414a('0x38')]};return db['VtigerConfiguration'][_0x414a('0x1d')](_0x137608)[_0x414a('0x23')](function(_0x3f6c38){_0x3b9f50[_0x414a('0x1d')]=_0x3f6c38;if(_0x382570[_0x414a('0x2f')][_0x414a('0x3d')]){_0x47e230[_0x414a('0x3e')]=[{'all':!![]}];}return db[_0x414a('0x2b')]['findAll'](_0x47e230);})[_0x414a('0x23')](function(_0xd54bfe){_0x3b9f50[_0x414a('0x3f')]=_0xd54bfe;return _0x3b9f50;})[_0x414a('0x23')](respondWithFilteredResult(_0x4fb914,_0x47e230))[_0x414a('0x40')](handleError(_0x4fb914,null));};exports[_0x414a('0x41')]=function(_0x1f68ef,_0x2b2f17){var _0x76a2ea={'raw':![],'where':{'id':_0x1f68ef[_0x414a('0x42')]['id']}},_0x16565a={};_0x16565a['model']=_[_0x414a('0x43')](db[_0x414a('0x2b')][_0x414a('0x2c')]);_0x16565a[_0x414a('0x2f')]=_['keys'](_0x1f68ef[_0x414a('0x2f')]);_0x16565a[_0x414a('0x30')]=_[_0x414a('0x31')](_0x16565a[_0x414a('0x32')],_0x16565a[_0x414a('0x2f')]);_0x76a2ea[_0x414a('0x33')]=_['intersection'](_0x16565a['model'],qs['fields'](_0x1f68ef[_0x414a('0x2f')][_0x414a('0x34')]));_0x76a2ea[_0x414a('0x33')]=_0x76a2ea[_0x414a('0x33')]['length']?_0x76a2ea[_0x414a('0x33')]:_0x16565a[_0x414a('0x32')];if(_0x1f68ef[_0x414a('0x2f')][_0x414a('0x3d')]){_0x76a2ea['include']=[{'all':!![]}];}_0x76a2ea=_[_0x414a('0x3b')]({},_0x76a2ea,_0x1f68ef['options']);return db['VtigerConfiguration'][_0x414a('0x44')](_0x76a2ea)['then'](handleEntityNotFound(_0x2b2f17,null))[_0x414a('0x23')](respondWithResult(_0x2b2f17,null))[_0x414a('0x40')](handleError(_0x2b2f17,null));};exports['create']=function(_0xdf519a,_0x5d2309){return db['VtigerConfiguration'][_0x414a('0x45')](_0xdf519a[_0x414a('0x46')],{})[_0x414a('0x23')](respondWithResult(_0x5d2309,0xc9))[_0x414a('0x40')](handleError(_0x5d2309,null));};exports[_0x414a('0x22')]=function(_0x148a55,_0x2e5938){if(_0x148a55[_0x414a('0x46')]['id']){delete _0x148a55[_0x414a('0x46')]['id'];}return db[_0x414a('0x2b')]['find']({'where':{'id':_0x148a55['params']['id']}})[_0x414a('0x23')](handleEntityNotFound(_0x2e5938,null))[_0x414a('0x23')](saveUpdates(_0x148a55[_0x414a('0x46')],null))[_0x414a('0x23')](respondWithResult(_0x2e5938,null))[_0x414a('0x40')](handleError(_0x2e5938,null));};exports[_0x414a('0x24')]=function(_0x4ef1b9,_0x55196a){return db[_0x414a('0x2b')]['find']({'where':{'id':_0x4ef1b9[_0x414a('0x42')]['id']}})[_0x414a('0x23')](handleEntityNotFound(_0x55196a,null))[_0x414a('0x23')](removeEntity(_0x55196a,null))[_0x414a('0x40')](handleError(_0x55196a,null));};exports[_0x414a('0x47')]=function(_0x3900a3,_0x458c88,_0x8232c0){var _0x134be1={};var _0xa0c50a={};var _0x136090;var _0x51c53a;return db[_0x414a('0x2b')]['findOne']({'where':{'id':_0x3900a3[_0x414a('0x42')]['id']}})[_0x414a('0x23')](handleEntityNotFound(_0x458c88,null))[_0x414a('0x23')](function(_0x38a12a){if(_0x38a12a){_0x136090=_0x38a12a;_0xa0c50a[_0x414a('0x32')]=_['keys'](db[_0x414a('0x48')][_0x414a('0x2c')]);_0xa0c50a['query']=_['keys'](_0x3900a3[_0x414a('0x2f')]);_0xa0c50a[_0x414a('0x30')]=_[_0x414a('0x31')](_0xa0c50a['model'],_0xa0c50a[_0x414a('0x2f')]);_0x134be1[_0x414a('0x33')]=_[_0x414a('0x31')](_0xa0c50a[_0x414a('0x32')],qs[_0x414a('0x34')](_0x3900a3[_0x414a('0x2f')][_0x414a('0x34')]));_0x134be1[_0x414a('0x33')]=_0x134be1[_0x414a('0x33')]['length']?_0x134be1['attributes']:_0xa0c50a[_0x414a('0x32')];_0x134be1['order']=qs[_0x414a('0x37')](_0x3900a3[_0x414a('0x2f')]['sort']);_0x134be1['where']=qs[_0x414a('0x30')](_['pick'](_0x3900a3[_0x414a('0x2f')],_0xa0c50a[_0x414a('0x30')]));if(_0x3900a3['query']['filter']){_0x134be1[_0x414a('0x38')]=_[_0x414a('0x3b')](_0x134be1[_0x414a('0x38')],{'$or':_[_0x414a('0x2a')](_0x134be1[_0x414a('0x33')],function(_0x1a84cb){var _0x2b942b={};_0x2b942b[_0x1a84cb]={'$like':'%'+_0x3900a3['query'][_0x414a('0x3a')]+'%'};return _0x2b942b;})});}_0x134be1=_[_0x414a('0x3b')]({},_0x134be1,_0x3900a3['options']);return _0x136090['getFields'](_0x134be1);}})[_0x414a('0x23')](function(_0x46ee98){if(_0x46ee98){_0x51c53a=_0x46ee98[_0x414a('0x35')];if(!_0x3900a3[_0x414a('0x2f')][_0x414a('0x49')](_0x414a('0x36'))){_0x134be1[_0x414a('0x1c')]=qs[_0x414a('0x1c')](_0x3900a3[_0x414a('0x2f')]['limit']);_0x134be1[_0x414a('0x1a')]=qs['offset'](_0x3900a3['query'][_0x414a('0x1a')]);}return _0x136090[_0x414a('0x47')](_0x134be1);}})[_0x414a('0x23')](function(_0x3e7a14){if(_0x3e7a14){return _0x3e7a14?{'count':_0x51c53a,'rows':_0x3e7a14}:null;}})['then'](respondWithResult(_0x458c88,null))[_0x414a('0x40')](handleError(_0x458c88,null));};exports['getSubjects']=function(_0x5c4ed9,_0x1243f0,_0xd33ca){var _0x13543c={};var _0x185957={};var _0x5cc92a;var _0x463521;return db[_0x414a('0x2b')][_0x414a('0x4a')]({'where':{'id':_0x5c4ed9[_0x414a('0x42')]['id']}})[_0x414a('0x23')](handleEntityNotFound(_0x1243f0,null))[_0x414a('0x23')](function(_0x305c0e){if(_0x305c0e){_0x5cc92a=_0x305c0e;_0x185957[_0x414a('0x32')]=_['keys'](db[_0x414a('0x48')]['rawAttributes']);_0x185957[_0x414a('0x2f')]=_[_0x414a('0x43')](_0x5c4ed9[_0x414a('0x2f')]);_0x185957[_0x414a('0x30')]=_[_0x414a('0x31')](_0x185957['model'],_0x185957['query']);_0x13543c[_0x414a('0x33')]=_['intersection'](_0x185957[_0x414a('0x32')],qs[_0x414a('0x34')](_0x5c4ed9[_0x414a('0x2f')][_0x414a('0x34')]));_0x13543c[_0x414a('0x33')]=_0x13543c[_0x414a('0x33')][_0x414a('0x35')]?_0x13543c['attributes']:_0x185957['model'];_0x13543c[_0x414a('0x4b')]=qs[_0x414a('0x37')](_0x5c4ed9[_0x414a('0x2f')][_0x414a('0x37')]);_0x13543c[_0x414a('0x38')]=qs['filters'](_[_0x414a('0x39')](_0x5c4ed9[_0x414a('0x2f')],_0x185957['filters']));if(_0x5c4ed9[_0x414a('0x2f')][_0x414a('0x3a')]){_0x13543c[_0x414a('0x38')]=_[_0x414a('0x3b')](_0x13543c[_0x414a('0x38')],{'$or':_[_0x414a('0x2a')](_0x13543c[_0x414a('0x33')],function(_0x5ab68b){var _0x2c9148={};_0x2c9148[_0x5ab68b]={'$like':'%'+_0x5c4ed9['query'][_0x414a('0x3a')]+'%'};return _0x2c9148;})});}_0x13543c=_[_0x414a('0x3b')]({},_0x13543c,_0x5c4ed9['options']);return _0x5cc92a[_0x414a('0x4c')](_0x13543c);}})[_0x414a('0x23')](function(_0x4c1e64){if(_0x4c1e64){_0x463521=_0x4c1e64['length'];if(!_0x5c4ed9[_0x414a('0x2f')][_0x414a('0x49')]('nolimit')){_0x13543c[_0x414a('0x1c')]=qs['limit'](_0x5c4ed9['query'][_0x414a('0x1c')]);_0x13543c['offset']=qs[_0x414a('0x1a')](_0x5c4ed9['query'][_0x414a('0x1a')]);}return _0x5cc92a['getSubjects'](_0x13543c);}})['then'](function(_0x6a973){if(_0x6a973){return _0x6a973?{'count':_0x463521,'rows':_0x6a973}:null;}})['then'](respondWithResult(_0x1243f0,null))[_0x414a('0x40')](handleError(_0x1243f0,null));};exports[_0x414a('0x4d')]=function(_0x33bc72,_0x57060b,_0x5c89f2){var _0x20b3c0={};var _0x452ae7={};var _0x4071ff;var _0x57df45;return db[_0x414a('0x2b')][_0x414a('0x4a')]({'where':{'id':_0x33bc72[_0x414a('0x42')]['id']}})[_0x414a('0x23')](handleEntityNotFound(_0x57060b,null))[_0x414a('0x23')](function(_0x25bba2){if(_0x25bba2){_0x4071ff=_0x25bba2;_0x452ae7[_0x414a('0x32')]=_[_0x414a('0x43')](db[_0x414a('0x48')][_0x414a('0x2c')]);_0x452ae7['query']=_[_0x414a('0x43')](_0x33bc72[_0x414a('0x2f')]);_0x452ae7[_0x414a('0x30')]=_[_0x414a('0x31')](_0x452ae7[_0x414a('0x32')],_0x452ae7[_0x414a('0x2f')]);_0x20b3c0['attributes']=_[_0x414a('0x31')](_0x452ae7['model'],qs[_0x414a('0x34')](_0x33bc72[_0x414a('0x2f')]['fields']));_0x20b3c0[_0x414a('0x33')]=_0x20b3c0[_0x414a('0x33')][_0x414a('0x35')]?_0x20b3c0[_0x414a('0x33')]:_0x452ae7[_0x414a('0x32')];_0x20b3c0[_0x414a('0x4b')]=qs['sort'](_0x33bc72[_0x414a('0x2f')][_0x414a('0x37')]);_0x20b3c0[_0x414a('0x38')]=qs[_0x414a('0x30')](_[_0x414a('0x39')](_0x33bc72['query'],_0x452ae7['filters']));if(_0x33bc72['query'][_0x414a('0x3a')]){_0x20b3c0['where']=_[_0x414a('0x3b')](_0x20b3c0[_0x414a('0x38')],{'$or':_['map'](_0x20b3c0[_0x414a('0x33')],function(_0x5d06f4){var _0x4c2e76={};_0x4c2e76[_0x5d06f4]={'$like':'%'+_0x33bc72['query']['filter']+'%'};return _0x4c2e76;})});}_0x20b3c0=_[_0x414a('0x3b')]({},_0x20b3c0,_0x33bc72[_0x414a('0x3c')]);return _0x4071ff['getDescriptions'](_0x20b3c0);}})[_0x414a('0x23')](function(_0x51e8ca){if(_0x51e8ca){_0x57df45=_0x51e8ca[_0x414a('0x35')];if(!_0x33bc72[_0x414a('0x2f')][_0x414a('0x49')]('nolimit')){_0x20b3c0[_0x414a('0x1c')]=qs[_0x414a('0x1c')](_0x33bc72[_0x414a('0x2f')][_0x414a('0x1c')]);_0x20b3c0[_0x414a('0x1a')]=qs[_0x414a('0x1a')](_0x33bc72[_0x414a('0x2f')][_0x414a('0x1a')]);}return _0x4071ff['getDescriptions'](_0x20b3c0);}})[_0x414a('0x23')](function(_0x2c3e74){if(_0x2c3e74){return _0x2c3e74?{'count':_0x57df45,'rows':_0x2c3e74}:null;}})[_0x414a('0x23')](respondWithResult(_0x57060b,null))[_0x414a('0x40')](handleError(_0x57060b,null));};