Built motion from commit 9d0783e6.|2.6.13
[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 _0xd1a6=['send','index','VtigerConfiguration','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','length','includeAll','find','create','body','destroy','findOne','VtigerField','getFields','getSubjects','getDescriptions','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','then','end','name'];(function(_0x13d782,_0x64900d){var _0x17dc15=function(_0x296842){while(--_0x296842){_0x13d782['push'](_0x13d782['shift']());}};_0x17dc15(++_0x64900d);}(_0xd1a6,0x176));var _0x6d1a=function(_0x17f339,_0x1c4422){_0x17f339=_0x17f339-0x0;var _0x529dc2=_0xd1a6[_0x17f339];return _0x529dc2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6d1a('0x0'));var zipdir=require(_0x6d1a('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6d1a('0x2'));var moment=require(_0x6d1a('0x3'));var BPromise=require(_0x6d1a('0x4'));var Mustache=require(_0x6d1a('0x5'));var util=require(_0x6d1a('0x6'));var path=require(_0x6d1a('0x7'));var sox=require(_0x6d1a('0x8'));var csv=require(_0x6d1a('0x9'));var ejs=require(_0x6d1a('0xa'));var fs=require('fs');var fs_extra=require(_0x6d1a('0xb'));var _=require(_0x6d1a('0xc'));var squel=require(_0x6d1a('0xd'));var crypto=require(_0x6d1a('0xe'));var jsforce=require(_0x6d1a('0xf'));var deskjs=require(_0x6d1a('0x10'));var toCsv=require(_0x6d1a('0x9'));var querystring=require(_0x6d1a('0x11'));var Papa=require(_0x6d1a('0x12'));var Redis=require('ioredis');var authService=require(_0x6d1a('0x13'));var qs=require(_0x6d1a('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6d1a('0x15'));var logger=require(_0x6d1a('0x16'))('api');var utils=require(_0x6d1a('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x6d1a('0x18'));var db=require(_0x6d1a('0x19'))['db'];function respondWithStatusCode(_0x1023b0,_0x508507){_0x508507=_0x508507||0xcc;return function(_0x2c1868){if(_0x2c1868){return _0x1023b0[_0x6d1a('0x1a')](_0x508507);}return _0x1023b0[_0x6d1a('0x1b')](_0x508507)['end']();};}function respondWithResult(_0x17a2da,_0x45cfd3){_0x45cfd3=_0x45cfd3||0xc8;return function(_0x5e801c){if(_0x5e801c){return _0x17a2da['status'](_0x45cfd3)['json'](_0x5e801c);}};}function respondWithFilteredResult(_0x12e050,_0x193309){return function(_0x2e911a){if(_0x2e911a){var _0x5af663=typeof _0x193309[_0x6d1a('0x1c')]===_0x6d1a('0x1d')&&typeof _0x193309[_0x6d1a('0x1e')]==='undefined';var _0x143e5e=_0x2e911a[_0x6d1a('0x1f')];var _0x2c9b58=_0x5af663?0x0:_0x193309[_0x6d1a('0x1c')];var _0x3c30b2=_0x5af663?_0x2e911a[_0x6d1a('0x1f')]:_0x193309[_0x6d1a('0x1c')]+_0x193309[_0x6d1a('0x1e')];var _0x2d1fd5;if(_0x3c30b2>=_0x143e5e){_0x3c30b2=_0x143e5e;_0x2d1fd5=0xc8;}else{_0x2d1fd5=0xce;}_0x12e050[_0x6d1a('0x1b')](_0x2d1fd5);return _0x12e050[_0x6d1a('0x20')](_0x6d1a('0x21'),_0x2c9b58+'-'+_0x3c30b2+'/'+_0x143e5e)[_0x6d1a('0x22')](_0x2e911a);}return null;};}function patchUpdates(_0x5bd762){return function(_0x47da15){try{jsonpatch[_0x6d1a('0x23')](_0x47da15,_0x5bd762,!![]);}catch(_0x4c0703){return BPromise[_0x6d1a('0x24')](_0x4c0703);}return _0x47da15[_0x6d1a('0x25')]();};}function saveUpdates(_0x3d23be,_0x5024a3){return function(_0x2ce4b9){if(_0x2ce4b9){return _0x2ce4b9['update'](_0x3d23be)[_0x6d1a('0x26')](function(_0x573c4d){return _0x573c4d;});}return null;};}function removeEntity(_0x10a894,_0x1c4f23){return function(_0x5166f4){if(_0x5166f4){return _0x5166f4['destroy']()[_0x6d1a('0x26')](function(){_0x10a894['status'](0xcc)[_0x6d1a('0x27')]();});}};}function handleEntityNotFound(_0x28d6c9,_0x15c967){return function(_0x1e286f){if(!_0x1e286f){_0x28d6c9[_0x6d1a('0x1a')](0x194);}return _0x1e286f;};}function handleError(_0x3c486d,_0x5aabab){_0x5aabab=_0x5aabab||0x1f4;return function(_0x42d91d){logger['error'](_0x42d91d['stack']);if(_0x42d91d[_0x6d1a('0x28')]){delete _0x42d91d[_0x6d1a('0x28')];}_0x3c486d['status'](_0x5aabab)[_0x6d1a('0x29')](_0x42d91d);};}exports[_0x6d1a('0x2a')]=function(_0x654783,_0xe0f8d6){var _0x41c7d9={},_0x424f74={},_0x3a038f={'count':0x0,'rows':[]};var _0x3ea0a8=_['map'](db[_0x6d1a('0x2b')][_0x6d1a('0x2c')],function(_0x2f4709){return{'name':_0x2f4709[_0x6d1a('0x2d')],'type':_0x2f4709['type'][_0x6d1a('0x2e')]};});_0x424f74[_0x6d1a('0x2f')]=_[_0x6d1a('0x30')](_0x3ea0a8,'name');_0x424f74[_0x6d1a('0x31')]=_[_0x6d1a('0x32')](_0x654783[_0x6d1a('0x31')]);_0x424f74[_0x6d1a('0x33')]=_[_0x6d1a('0x34')](_0x424f74[_0x6d1a('0x2f')],_0x424f74[_0x6d1a('0x31')]);_0x41c7d9[_0x6d1a('0x35')]=_['intersection'](_0x424f74[_0x6d1a('0x2f')],qs[_0x6d1a('0x36')](_0x654783[_0x6d1a('0x31')][_0x6d1a('0x36')]));_0x41c7d9[_0x6d1a('0x35')]=_0x41c7d9[_0x6d1a('0x35')]['length']?_0x41c7d9['attributes']:_0x424f74[_0x6d1a('0x2f')];if(!_0x654783[_0x6d1a('0x31')][_0x6d1a('0x37')](_0x6d1a('0x38'))){_0x41c7d9[_0x6d1a('0x1e')]=qs[_0x6d1a('0x1e')](_0x654783[_0x6d1a('0x31')][_0x6d1a('0x1e')]);_0x41c7d9[_0x6d1a('0x1c')]=qs[_0x6d1a('0x1c')](_0x654783[_0x6d1a('0x31')]['offset']);}_0x41c7d9[_0x6d1a('0x39')]=qs[_0x6d1a('0x3a')](_0x654783[_0x6d1a('0x31')][_0x6d1a('0x3a')]);_0x41c7d9[_0x6d1a('0x3b')]=qs[_0x6d1a('0x33')](_[_0x6d1a('0x3c')](_0x654783[_0x6d1a('0x31')],_0x424f74[_0x6d1a('0x33')]),_0x3ea0a8);if(_0x654783['query']['filter']){_0x41c7d9['where']=_[_0x6d1a('0x3d')](_0x41c7d9[_0x6d1a('0x3b')],{'$or':_[_0x6d1a('0x30')](_0x3ea0a8,function(_0x32a318){if(_0x32a318[_0x6d1a('0x3e')]!==_0x6d1a('0x3f')){var _0x3283e2={};_0x3283e2[_0x32a318[_0x6d1a('0x28')]]={'$like':'%'+_0x654783[_0x6d1a('0x31')][_0x6d1a('0x40')]+'%'};return _0x3283e2;}})});}_0x41c7d9=_[_0x6d1a('0x3d')]({},_0x41c7d9,_0x654783[_0x6d1a('0x41')]);var _0x41023b={'where':_0x41c7d9[_0x6d1a('0x3b')]};return db[_0x6d1a('0x2b')][_0x6d1a('0x1f')](_0x41023b)['then'](function(_0x562b45){_0x3a038f[_0x6d1a('0x1f')]=_0x562b45;if(_0x654783[_0x6d1a('0x31')]['includeAll']){_0x41c7d9[_0x6d1a('0x42')]=[{'all':!![]}];}return db[_0x6d1a('0x2b')][_0x6d1a('0x43')](_0x41c7d9);})[_0x6d1a('0x26')](function(_0x521494){_0x3a038f[_0x6d1a('0x44')]=_0x521494;return _0x3a038f;})['then'](respondWithFilteredResult(_0xe0f8d6,_0x41c7d9))[_0x6d1a('0x45')](handleError(_0xe0f8d6,null));};exports[_0x6d1a('0x46')]=function(_0xcbc020,_0x30d017){var _0x45d0cc={'raw':![],'where':{'id':_0xcbc020[_0x6d1a('0x47')]['id']}},_0x3a9773={};_0x3a9773['model']=_['keys'](db[_0x6d1a('0x2b')]['rawAttributes']);_0x3a9773['query']=_[_0x6d1a('0x32')](_0xcbc020[_0x6d1a('0x31')]);_0x3a9773[_0x6d1a('0x33')]=_[_0x6d1a('0x34')](_0x3a9773[_0x6d1a('0x2f')],_0x3a9773[_0x6d1a('0x31')]);_0x45d0cc['attributes']=_[_0x6d1a('0x34')](_0x3a9773[_0x6d1a('0x2f')],qs[_0x6d1a('0x36')](_0xcbc020[_0x6d1a('0x31')][_0x6d1a('0x36')]));_0x45d0cc[_0x6d1a('0x35')]=_0x45d0cc[_0x6d1a('0x35')][_0x6d1a('0x48')]?_0x45d0cc[_0x6d1a('0x35')]:_0x3a9773[_0x6d1a('0x2f')];if(_0xcbc020[_0x6d1a('0x31')][_0x6d1a('0x49')]){_0x45d0cc[_0x6d1a('0x42')]=[{'all':!![]}];}_0x45d0cc=_['merge']({},_0x45d0cc,_0xcbc020[_0x6d1a('0x41')]);return db[_0x6d1a('0x2b')][_0x6d1a('0x4a')](_0x45d0cc)[_0x6d1a('0x26')](handleEntityNotFound(_0x30d017,null))['then'](respondWithResult(_0x30d017,null))['catch'](handleError(_0x30d017,null));};exports['create']=function(_0xa08020,_0x2b5f0a){return db[_0x6d1a('0x2b')][_0x6d1a('0x4b')](_0xa08020[_0x6d1a('0x4c')],{})[_0x6d1a('0x26')](respondWithResult(_0x2b5f0a,0xc9))[_0x6d1a('0x45')](handleError(_0x2b5f0a,null));};exports['update']=function(_0x5f23d9,_0x5c6f06){if(_0x5f23d9['body']['id']){delete _0x5f23d9[_0x6d1a('0x4c')]['id'];}return db[_0x6d1a('0x2b')]['find']({'where':{'id':_0x5f23d9[_0x6d1a('0x47')]['id']}})[_0x6d1a('0x26')](handleEntityNotFound(_0x5c6f06,null))['then'](saveUpdates(_0x5f23d9[_0x6d1a('0x4c')],null))['then'](respondWithResult(_0x5c6f06,null))['catch'](handleError(_0x5c6f06,null));};exports[_0x6d1a('0x4d')]=function(_0x231c4c,_0x4225d6){return db[_0x6d1a('0x2b')][_0x6d1a('0x4a')]({'where':{'id':_0x231c4c['params']['id']}})[_0x6d1a('0x26')](handleEntityNotFound(_0x4225d6,null))[_0x6d1a('0x26')](removeEntity(_0x4225d6,null))[_0x6d1a('0x45')](handleError(_0x4225d6,null));};exports['getFields']=function(_0x23ffd7,_0x535c33,_0x5afc54){var _0x396f5d={};var _0x4dc260={};var _0x305d09;var _0x5f219f;return db[_0x6d1a('0x2b')][_0x6d1a('0x4e')]({'where':{'id':_0x23ffd7[_0x6d1a('0x47')]['id']}})[_0x6d1a('0x26')](handleEntityNotFound(_0x535c33,null))[_0x6d1a('0x26')](function(_0x15d84c){if(_0x15d84c){_0x305d09=_0x15d84c;_0x4dc260[_0x6d1a('0x2f')]=_['keys'](db[_0x6d1a('0x4f')][_0x6d1a('0x2c')]);_0x4dc260[_0x6d1a('0x31')]=_[_0x6d1a('0x32')](_0x23ffd7[_0x6d1a('0x31')]);_0x4dc260[_0x6d1a('0x33')]=_[_0x6d1a('0x34')](_0x4dc260[_0x6d1a('0x2f')],_0x4dc260[_0x6d1a('0x31')]);_0x396f5d[_0x6d1a('0x35')]=_[_0x6d1a('0x34')](_0x4dc260['model'],qs[_0x6d1a('0x36')](_0x23ffd7[_0x6d1a('0x31')][_0x6d1a('0x36')]));_0x396f5d[_0x6d1a('0x35')]=_0x396f5d[_0x6d1a('0x35')][_0x6d1a('0x48')]?_0x396f5d[_0x6d1a('0x35')]:_0x4dc260[_0x6d1a('0x2f')];_0x396f5d[_0x6d1a('0x39')]=qs[_0x6d1a('0x3a')](_0x23ffd7[_0x6d1a('0x31')][_0x6d1a('0x3a')]);_0x396f5d[_0x6d1a('0x3b')]=qs[_0x6d1a('0x33')](_['pick'](_0x23ffd7['query'],_0x4dc260['filters']));if(_0x23ffd7[_0x6d1a('0x31')]['filter']){_0x396f5d['where']=_[_0x6d1a('0x3d')](_0x396f5d[_0x6d1a('0x3b')],{'$or':_[_0x6d1a('0x30')](_0x396f5d[_0x6d1a('0x35')],function(_0x4f6d1c){var _0x537912={};_0x537912[_0x4f6d1c]={'$like':'%'+_0x23ffd7[_0x6d1a('0x31')][_0x6d1a('0x40')]+'%'};return _0x537912;})});}_0x396f5d=_[_0x6d1a('0x3d')]({},_0x396f5d,_0x23ffd7[_0x6d1a('0x41')]);return _0x305d09[_0x6d1a('0x50')](_0x396f5d);}})[_0x6d1a('0x26')](function(_0x4506ef){if(_0x4506ef){_0x5f219f=_0x4506ef[_0x6d1a('0x48')];if(!_0x23ffd7[_0x6d1a('0x31')]['hasOwnProperty'](_0x6d1a('0x38'))){_0x396f5d[_0x6d1a('0x1e')]=qs[_0x6d1a('0x1e')](_0x23ffd7[_0x6d1a('0x31')]['limit']);_0x396f5d[_0x6d1a('0x1c')]=qs[_0x6d1a('0x1c')](_0x23ffd7[_0x6d1a('0x31')][_0x6d1a('0x1c')]);}return _0x305d09[_0x6d1a('0x50')](_0x396f5d);}})['then'](function(_0x2d74d7){if(_0x2d74d7){return _0x2d74d7?{'count':_0x5f219f,'rows':_0x2d74d7}:null;}})['then'](respondWithResult(_0x535c33,null))['catch'](handleError(_0x535c33,null));};exports['getSubjects']=function(_0x247587,_0x4b7976,_0x225405){var _0x229ecc={};var _0xff6568={};var _0x1f044;var _0x984c34;return db[_0x6d1a('0x2b')][_0x6d1a('0x4e')]({'where':{'id':_0x247587['params']['id']}})[_0x6d1a('0x26')](handleEntityNotFound(_0x4b7976,null))[_0x6d1a('0x26')](function(_0x4f8bf8){if(_0x4f8bf8){_0x1f044=_0x4f8bf8;_0xff6568[_0x6d1a('0x2f')]=_[_0x6d1a('0x32')](db[_0x6d1a('0x4f')][_0x6d1a('0x2c')]);_0xff6568[_0x6d1a('0x31')]=_['keys'](_0x247587['query']);_0xff6568[_0x6d1a('0x33')]=_[_0x6d1a('0x34')](_0xff6568[_0x6d1a('0x2f')],_0xff6568[_0x6d1a('0x31')]);_0x229ecc['attributes']=_[_0x6d1a('0x34')](_0xff6568[_0x6d1a('0x2f')],qs[_0x6d1a('0x36')](_0x247587[_0x6d1a('0x31')]['fields']));_0x229ecc['attributes']=_0x229ecc[_0x6d1a('0x35')]['length']?_0x229ecc['attributes']:_0xff6568[_0x6d1a('0x2f')];_0x229ecc[_0x6d1a('0x39')]=qs[_0x6d1a('0x3a')](_0x247587['query'][_0x6d1a('0x3a')]);_0x229ecc[_0x6d1a('0x3b')]=qs['filters'](_[_0x6d1a('0x3c')](_0x247587[_0x6d1a('0x31')],_0xff6568[_0x6d1a('0x33')]));if(_0x247587[_0x6d1a('0x31')][_0x6d1a('0x40')]){_0x229ecc[_0x6d1a('0x3b')]=_[_0x6d1a('0x3d')](_0x229ecc[_0x6d1a('0x3b')],{'$or':_[_0x6d1a('0x30')](_0x229ecc[_0x6d1a('0x35')],function(_0x10f9ad){var _0x9818ca={};_0x9818ca[_0x10f9ad]={'$like':'%'+_0x247587[_0x6d1a('0x31')][_0x6d1a('0x40')]+'%'};return _0x9818ca;})});}_0x229ecc=_[_0x6d1a('0x3d')]({},_0x229ecc,_0x247587[_0x6d1a('0x41')]);return _0x1f044[_0x6d1a('0x51')](_0x229ecc);}})[_0x6d1a('0x26')](function(_0x512ce7){if(_0x512ce7){_0x984c34=_0x512ce7[_0x6d1a('0x48')];if(!_0x247587[_0x6d1a('0x31')][_0x6d1a('0x37')](_0x6d1a('0x38'))){_0x229ecc['limit']=qs[_0x6d1a('0x1e')](_0x247587[_0x6d1a('0x31')]['limit']);_0x229ecc[_0x6d1a('0x1c')]=qs[_0x6d1a('0x1c')](_0x247587[_0x6d1a('0x31')]['offset']);}return _0x1f044[_0x6d1a('0x51')](_0x229ecc);}})[_0x6d1a('0x26')](function(_0x387562){if(_0x387562){return _0x387562?{'count':_0x984c34,'rows':_0x387562}:null;}})[_0x6d1a('0x26')](respondWithResult(_0x4b7976,null))[_0x6d1a('0x45')](handleError(_0x4b7976,null));};exports[_0x6d1a('0x52')]=function(_0x11e92b,_0x5403c2,_0x2e42bb){var _0xbf9f68={};var _0x497918={};var _0x361aef;var _0x2709cc;return db[_0x6d1a('0x2b')][_0x6d1a('0x4e')]({'where':{'id':_0x11e92b[_0x6d1a('0x47')]['id']}})[_0x6d1a('0x26')](handleEntityNotFound(_0x5403c2,null))['then'](function(_0x585810){if(_0x585810){_0x361aef=_0x585810;_0x497918['model']=_[_0x6d1a('0x32')](db['VtigerField'][_0x6d1a('0x2c')]);_0x497918[_0x6d1a('0x31')]=_[_0x6d1a('0x32')](_0x11e92b['query']);_0x497918[_0x6d1a('0x33')]=_['intersection'](_0x497918[_0x6d1a('0x2f')],_0x497918[_0x6d1a('0x31')]);_0xbf9f68[_0x6d1a('0x35')]=_['intersection'](_0x497918[_0x6d1a('0x2f')],qs[_0x6d1a('0x36')](_0x11e92b[_0x6d1a('0x31')][_0x6d1a('0x36')]));_0xbf9f68['attributes']=_0xbf9f68[_0x6d1a('0x35')]['length']?_0xbf9f68[_0x6d1a('0x35')]:_0x497918['model'];_0xbf9f68['order']=qs[_0x6d1a('0x3a')](_0x11e92b['query']['sort']);_0xbf9f68[_0x6d1a('0x3b')]=qs[_0x6d1a('0x33')](_[_0x6d1a('0x3c')](_0x11e92b[_0x6d1a('0x31')],_0x497918['filters']));if(_0x11e92b[_0x6d1a('0x31')][_0x6d1a('0x40')]){_0xbf9f68[_0x6d1a('0x3b')]=_[_0x6d1a('0x3d')](_0xbf9f68['where'],{'$or':_[_0x6d1a('0x30')](_0xbf9f68[_0x6d1a('0x35')],function(_0x2089d4){var _0x129903={};_0x129903[_0x2089d4]={'$like':'%'+_0x11e92b[_0x6d1a('0x31')][_0x6d1a('0x40')]+'%'};return _0x129903;})});}_0xbf9f68=_[_0x6d1a('0x3d')]({},_0xbf9f68,_0x11e92b[_0x6d1a('0x41')]);return _0x361aef['getDescriptions'](_0xbf9f68);}})[_0x6d1a('0x26')](function(_0x44a835){if(_0x44a835){_0x2709cc=_0x44a835[_0x6d1a('0x48')];if(!_0x11e92b['query'][_0x6d1a('0x37')]('nolimit')){_0xbf9f68[_0x6d1a('0x1e')]=qs[_0x6d1a('0x1e')](_0x11e92b['query'][_0x6d1a('0x1e')]);_0xbf9f68[_0x6d1a('0x1c')]=qs[_0x6d1a('0x1c')](_0x11e92b['query']['offset']);}return _0x361aef['getDescriptions'](_0xbf9f68);}})[_0x6d1a('0x26')](function(_0x403fc7){if(_0x403fc7){return _0x403fc7?{'count':_0x2709cc,'rows':_0x403fc7}:null;}})[_0x6d1a('0x26')](respondWithResult(_0x5403c2,null))['catch'](handleError(_0x5403c2,null));};