Built motion from commit 6362bb75.|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 _0xf9b2=['moment','mustache','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','limit','undefined','count','offset','Content-Range','reject','update','destroy','then','end','error','name','send','index','VtigerConfiguration','rawAttributes','fieldName','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','includeAll','findAll','catch','show','params','keys','include','options','find','create','body','getFields','findOne','VtigerField','pick','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch'];(function(_0x25b4a4,_0x2e081b){var _0x707267=function(_0x440123){while(--_0x440123){_0x25b4a4['push'](_0x25b4a4['shift']());}};_0x707267(++_0x2e081b);}(_0xf9b2,0x9a));var _0x2f9b=function(_0x350e29,_0x212e04){_0x350e29=_0x350e29-0x0;var _0x52d072=_0xf9b2[_0x350e29];return _0x52d072;};'use strict';var emlformat=require(_0x2f9b('0x0'));var rimraf=require(_0x2f9b('0x1'));var zipdir=require(_0x2f9b('0x2'));var jsonpatch=require(_0x2f9b('0x3'));var rp=require('request-promise');var moment=require(_0x2f9b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2f9b('0x5'));var util=require('util');var path=require('path');var sox=require(_0x2f9b('0x6'));var csv=require(_0x2f9b('0x7'));var ejs=require(_0x2f9b('0x8'));var fs=require('fs');var fs_extra=require(_0x2f9b('0x9'));var _=require(_0x2f9b('0xa'));var squel=require(_0x2f9b('0xb'));var crypto=require(_0x2f9b('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x2f9b('0xd'));var toCsv=require(_0x2f9b('0x7'));var querystring=require(_0x2f9b('0xe'));var Papa=require('papaparse');var Redis=require(_0x2f9b('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x2f9b('0x10'));var as=require(_0x2f9b('0x11'));var hardwareService=require(_0x2f9b('0x12'));var logger=require(_0x2f9b('0x13'))(_0x2f9b('0x14'));var utils=require(_0x2f9b('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x2f9b('0x16'));var db=require(_0x2f9b('0x17'))['db'];function respondWithStatusCode(_0x3f1f5e,_0x2a178b){_0x2a178b=_0x2a178b||0xcc;return function(_0x5b3161){if(_0x5b3161){return _0x3f1f5e[_0x2f9b('0x18')](_0x2a178b);}return _0x3f1f5e[_0x2f9b('0x19')](_0x2a178b)['end']();};}function respondWithResult(_0x195cd2,_0x398170){_0x398170=_0x398170||0xc8;return function(_0x542505){if(_0x542505){return _0x195cd2['status'](_0x398170)[_0x2f9b('0x1a')](_0x542505);}};}function respondWithFilteredResult(_0x15db14,_0xa1008d){return function(_0x40b1f7){if(_0x40b1f7){var _0x3366ed=typeof _0xa1008d['offset']==='undefined'&&typeof _0xa1008d[_0x2f9b('0x1b')]===_0x2f9b('0x1c');var _0x48ebbe=_0x40b1f7[_0x2f9b('0x1d')];var _0x4f5444=_0x3366ed?0x0:_0xa1008d[_0x2f9b('0x1e')];var _0x147ce4=_0x3366ed?_0x40b1f7['count']:_0xa1008d[_0x2f9b('0x1e')]+_0xa1008d[_0x2f9b('0x1b')];var _0x413474;if(_0x147ce4>=_0x48ebbe){_0x147ce4=_0x48ebbe;_0x413474=0xc8;}else{_0x413474=0xce;}_0x15db14[_0x2f9b('0x19')](_0x413474);return _0x15db14['set'](_0x2f9b('0x1f'),_0x4f5444+'-'+_0x147ce4+'/'+_0x48ebbe)[_0x2f9b('0x1a')](_0x40b1f7);}return null;};}function patchUpdates(_0x34b68b){return function(_0x236ecb){try{jsonpatch['apply'](_0x236ecb,_0x34b68b,!![]);}catch(_0x842e91){return BPromise[_0x2f9b('0x20')](_0x842e91);}return _0x236ecb['save']();};}function saveUpdates(_0x2e96de,_0x18d10f){return function(_0xc87939){if(_0xc87939){return _0xc87939[_0x2f9b('0x21')](_0x2e96de)['then'](function(_0x4c7402){return _0x4c7402;});}return null;};}function removeEntity(_0x4009b3,_0x41b0d9){return function(_0x2ca790){if(_0x2ca790){return _0x2ca790[_0x2f9b('0x22')]()[_0x2f9b('0x23')](function(){_0x4009b3[_0x2f9b('0x19')](0xcc)[_0x2f9b('0x24')]();});}};}function handleEntityNotFound(_0x307de3,_0x9613db){return function(_0x416bc6){if(!_0x416bc6){_0x307de3[_0x2f9b('0x18')](0x194);}return _0x416bc6;};}function handleError(_0x4d8daf,_0x280787){_0x280787=_0x280787||0x1f4;return function(_0x4e4aaf){logger[_0x2f9b('0x25')](_0x4e4aaf['stack']);if(_0x4e4aaf[_0x2f9b('0x26')]){delete _0x4e4aaf[_0x2f9b('0x26')];}_0x4d8daf[_0x2f9b('0x19')](_0x280787)[_0x2f9b('0x27')](_0x4e4aaf);};}exports[_0x2f9b('0x28')]=function(_0xa057e7,_0x22470b){var _0xf43880={},_0x4ceb0e={},_0x51c343={'count':0x0,'rows':[]};var _0x4b43f3=_['map'](db[_0x2f9b('0x29')][_0x2f9b('0x2a')],function(_0x463b0a){return{'name':_0x463b0a[_0x2f9b('0x2b')],'type':_0x463b0a['type'][_0x2f9b('0x2c')]};});_0x4ceb0e[_0x2f9b('0x2d')]=_[_0x2f9b('0x2e')](_0x4b43f3,_0x2f9b('0x26'));_0x4ceb0e['query']=_['keys'](_0xa057e7[_0x2f9b('0x2f')]);_0x4ceb0e[_0x2f9b('0x30')]=_[_0x2f9b('0x31')](_0x4ceb0e[_0x2f9b('0x2d')],_0x4ceb0e[_0x2f9b('0x2f')]);_0xf43880[_0x2f9b('0x32')]=_['intersection'](_0x4ceb0e[_0x2f9b('0x2d')],qs[_0x2f9b('0x33')](_0xa057e7[_0x2f9b('0x2f')]['fields']));_0xf43880[_0x2f9b('0x32')]=_0xf43880[_0x2f9b('0x32')][_0x2f9b('0x34')]?_0xf43880[_0x2f9b('0x32')]:_0x4ceb0e['model'];if(!_0xa057e7[_0x2f9b('0x2f')][_0x2f9b('0x35')](_0x2f9b('0x36'))){_0xf43880[_0x2f9b('0x1b')]=qs[_0x2f9b('0x1b')](_0xa057e7[_0x2f9b('0x2f')]['limit']);_0xf43880[_0x2f9b('0x1e')]=qs['offset'](_0xa057e7[_0x2f9b('0x2f')][_0x2f9b('0x1e')]);}_0xf43880[_0x2f9b('0x37')]=qs[_0x2f9b('0x38')](_0xa057e7[_0x2f9b('0x2f')][_0x2f9b('0x38')]);_0xf43880[_0x2f9b('0x39')]=qs[_0x2f9b('0x30')](_['pick'](_0xa057e7['query'],_0x4ceb0e[_0x2f9b('0x30')]),_0x4b43f3);if(_0xa057e7[_0x2f9b('0x2f')][_0x2f9b('0x3a')]){_0xf43880[_0x2f9b('0x39')]=_[_0x2f9b('0x3b')](_0xf43880[_0x2f9b('0x39')],{'$or':_[_0x2f9b('0x2e')](_0x4b43f3,function(_0x53e491){if(_0x53e491[_0x2f9b('0x3c')]!==_0x2f9b('0x3d')){var _0x1a18c4={};_0x1a18c4[_0x53e491['name']]={'$like':'%'+_0xa057e7[_0x2f9b('0x2f')]['filter']+'%'};return _0x1a18c4;}})});}_0xf43880=_[_0x2f9b('0x3b')]({},_0xf43880,_0xa057e7['options']);var _0x379ca7={'where':_0xf43880[_0x2f9b('0x39')]};return db[_0x2f9b('0x29')][_0x2f9b('0x1d')](_0x379ca7)[_0x2f9b('0x23')](function(_0x1614a9){_0x51c343[_0x2f9b('0x1d')]=_0x1614a9;if(_0xa057e7[_0x2f9b('0x2f')][_0x2f9b('0x3e')]){_0xf43880['include']=[{'all':!![]}];}return db['VtigerConfiguration'][_0x2f9b('0x3f')](_0xf43880);})[_0x2f9b('0x23')](function(_0x556fa5){_0x51c343['rows']=_0x556fa5;return _0x51c343;})[_0x2f9b('0x23')](respondWithFilteredResult(_0x22470b,_0xf43880))[_0x2f9b('0x40')](handleError(_0x22470b,null));};exports[_0x2f9b('0x41')]=function(_0x36c2ac,_0x313e3a){var _0x559a73={'raw':![],'where':{'id':_0x36c2ac[_0x2f9b('0x42')]['id']}},_0x8d4dee={};_0x8d4dee[_0x2f9b('0x2d')]=_[_0x2f9b('0x43')](db[_0x2f9b('0x29')][_0x2f9b('0x2a')]);_0x8d4dee[_0x2f9b('0x2f')]=_[_0x2f9b('0x43')](_0x36c2ac['query']);_0x8d4dee[_0x2f9b('0x30')]=_['intersection'](_0x8d4dee[_0x2f9b('0x2d')],_0x8d4dee[_0x2f9b('0x2f')]);_0x559a73[_0x2f9b('0x32')]=_[_0x2f9b('0x31')](_0x8d4dee[_0x2f9b('0x2d')],qs[_0x2f9b('0x33')](_0x36c2ac[_0x2f9b('0x2f')]['fields']));_0x559a73['attributes']=_0x559a73[_0x2f9b('0x32')][_0x2f9b('0x34')]?_0x559a73[_0x2f9b('0x32')]:_0x8d4dee[_0x2f9b('0x2d')];if(_0x36c2ac['query'][_0x2f9b('0x3e')]){_0x559a73[_0x2f9b('0x44')]=[{'all':!![]}];}_0x559a73=_['merge']({},_0x559a73,_0x36c2ac[_0x2f9b('0x45')]);return db['VtigerConfiguration'][_0x2f9b('0x46')](_0x559a73)['then'](handleEntityNotFound(_0x313e3a,null))[_0x2f9b('0x23')](respondWithResult(_0x313e3a,null))[_0x2f9b('0x40')](handleError(_0x313e3a,null));};exports[_0x2f9b('0x47')]=function(_0x284ec3,_0x2412ce){return db[_0x2f9b('0x29')]['create'](_0x284ec3['body'],{})[_0x2f9b('0x23')](respondWithResult(_0x2412ce,0xc9))[_0x2f9b('0x40')](handleError(_0x2412ce,null));};exports[_0x2f9b('0x21')]=function(_0x4e5510,_0x48d15f){if(_0x4e5510[_0x2f9b('0x48')]['id']){delete _0x4e5510[_0x2f9b('0x48')]['id'];}return db[_0x2f9b('0x29')][_0x2f9b('0x46')]({'where':{'id':_0x4e5510[_0x2f9b('0x42')]['id']}})[_0x2f9b('0x23')](handleEntityNotFound(_0x48d15f,null))['then'](saveUpdates(_0x4e5510[_0x2f9b('0x48')],null))[_0x2f9b('0x23')](respondWithResult(_0x48d15f,null))['catch'](handleError(_0x48d15f,null));};exports[_0x2f9b('0x22')]=function(_0x38b998,_0x23bf96){return db[_0x2f9b('0x29')][_0x2f9b('0x46')]({'where':{'id':_0x38b998[_0x2f9b('0x42')]['id']}})[_0x2f9b('0x23')](handleEntityNotFound(_0x23bf96,null))[_0x2f9b('0x23')](removeEntity(_0x23bf96,null))[_0x2f9b('0x40')](handleError(_0x23bf96,null));};exports[_0x2f9b('0x49')]=function(_0x442d35,_0x450c09,_0x2f345e){var _0x3ca010={};var _0x4b5165={};var _0x2f8099;var _0x497e18;return db[_0x2f9b('0x29')][_0x2f9b('0x4a')]({'where':{'id':_0x442d35['params']['id']}})[_0x2f9b('0x23')](handleEntityNotFound(_0x450c09,null))['then'](function(_0x56a3b6){if(_0x56a3b6){_0x2f8099=_0x56a3b6;_0x4b5165[_0x2f9b('0x2d')]=_[_0x2f9b('0x43')](db[_0x2f9b('0x4b')][_0x2f9b('0x2a')]);_0x4b5165[_0x2f9b('0x2f')]=_[_0x2f9b('0x43')](_0x442d35['query']);_0x4b5165['filters']=_[_0x2f9b('0x31')](_0x4b5165[_0x2f9b('0x2d')],_0x4b5165['query']);_0x3ca010[_0x2f9b('0x32')]=_[_0x2f9b('0x31')](_0x4b5165[_0x2f9b('0x2d')],qs['fields'](_0x442d35[_0x2f9b('0x2f')][_0x2f9b('0x33')]));_0x3ca010[_0x2f9b('0x32')]=_0x3ca010[_0x2f9b('0x32')]['length']?_0x3ca010[_0x2f9b('0x32')]:_0x4b5165[_0x2f9b('0x2d')];_0x3ca010[_0x2f9b('0x37')]=qs[_0x2f9b('0x38')](_0x442d35[_0x2f9b('0x2f')]['sort']);_0x3ca010['where']=qs['filters'](_[_0x2f9b('0x4c')](_0x442d35['query'],_0x4b5165['filters']));if(_0x442d35[_0x2f9b('0x2f')]['filter']){_0x3ca010['where']=_[_0x2f9b('0x3b')](_0x3ca010['where'],{'$or':_[_0x2f9b('0x2e')](_0x3ca010['attributes'],function(_0x3def2b){var _0x296133={};_0x296133[_0x3def2b]={'$like':'%'+_0x442d35[_0x2f9b('0x2f')][_0x2f9b('0x3a')]+'%'};return _0x296133;})});}_0x3ca010=_[_0x2f9b('0x3b')]({},_0x3ca010,_0x442d35['options']);return _0x2f8099[_0x2f9b('0x49')](_0x3ca010);}})['then'](function(_0x32e0a5){if(_0x32e0a5){_0x497e18=_0x32e0a5['length'];if(!_0x442d35[_0x2f9b('0x2f')][_0x2f9b('0x35')](_0x2f9b('0x36'))){_0x3ca010[_0x2f9b('0x1b')]=qs[_0x2f9b('0x1b')](_0x442d35[_0x2f9b('0x2f')][_0x2f9b('0x1b')]);_0x3ca010[_0x2f9b('0x1e')]=qs[_0x2f9b('0x1e')](_0x442d35[_0x2f9b('0x2f')][_0x2f9b('0x1e')]);}return _0x2f8099[_0x2f9b('0x49')](_0x3ca010);}})['then'](function(_0x5e801b){if(_0x5e801b){return _0x5e801b?{'count':_0x497e18,'rows':_0x5e801b}:null;}})[_0x2f9b('0x23')](respondWithResult(_0x450c09,null))[_0x2f9b('0x40')](handleError(_0x450c09,null));};exports[_0x2f9b('0x4d')]=function(_0x417e07,_0xbbdc99,_0x5eb1b3){var _0x56d6ff={};var _0x2e2e3f={};var _0x2a24fc;var _0x180ae4;return db[_0x2f9b('0x29')][_0x2f9b('0x4a')]({'where':{'id':_0x417e07[_0x2f9b('0x42')]['id']}})['then'](handleEntityNotFound(_0xbbdc99,null))[_0x2f9b('0x23')](function(_0x254bd8){if(_0x254bd8){_0x2a24fc=_0x254bd8;_0x2e2e3f[_0x2f9b('0x2d')]=_['keys'](db[_0x2f9b('0x4b')][_0x2f9b('0x2a')]);_0x2e2e3f[_0x2f9b('0x2f')]=_[_0x2f9b('0x43')](_0x417e07['query']);_0x2e2e3f[_0x2f9b('0x30')]=_[_0x2f9b('0x31')](_0x2e2e3f[_0x2f9b('0x2d')],_0x2e2e3f[_0x2f9b('0x2f')]);_0x56d6ff[_0x2f9b('0x32')]=_[_0x2f9b('0x31')](_0x2e2e3f[_0x2f9b('0x2d')],qs['fields'](_0x417e07['query']['fields']));_0x56d6ff['attributes']=_0x56d6ff[_0x2f9b('0x32')][_0x2f9b('0x34')]?_0x56d6ff['attributes']:_0x2e2e3f['model'];_0x56d6ff['order']=qs[_0x2f9b('0x38')](_0x417e07[_0x2f9b('0x2f')][_0x2f9b('0x38')]);_0x56d6ff[_0x2f9b('0x39')]=qs[_0x2f9b('0x30')](_[_0x2f9b('0x4c')](_0x417e07['query'],_0x2e2e3f['filters']));if(_0x417e07[_0x2f9b('0x2f')][_0x2f9b('0x3a')]){_0x56d6ff[_0x2f9b('0x39')]=_[_0x2f9b('0x3b')](_0x56d6ff[_0x2f9b('0x39')],{'$or':_[_0x2f9b('0x2e')](_0x56d6ff[_0x2f9b('0x32')],function(_0x5f0019){var _0x150ea9={};_0x150ea9[_0x5f0019]={'$like':'%'+_0x417e07[_0x2f9b('0x2f')][_0x2f9b('0x3a')]+'%'};return _0x150ea9;})});}_0x56d6ff=_[_0x2f9b('0x3b')]({},_0x56d6ff,_0x417e07[_0x2f9b('0x45')]);return _0x2a24fc[_0x2f9b('0x4d')](_0x56d6ff);}})['then'](function(_0x4e5fc2){if(_0x4e5fc2){_0x180ae4=_0x4e5fc2[_0x2f9b('0x34')];if(!_0x417e07['query'][_0x2f9b('0x35')]('nolimit')){_0x56d6ff[_0x2f9b('0x1b')]=qs[_0x2f9b('0x1b')](_0x417e07[_0x2f9b('0x2f')][_0x2f9b('0x1b')]);_0x56d6ff['offset']=qs['offset'](_0x417e07[_0x2f9b('0x2f')][_0x2f9b('0x1e')]);}return _0x2a24fc[_0x2f9b('0x4d')](_0x56d6ff);}})[_0x2f9b('0x23')](function(_0x1f0cdf){if(_0x1f0cdf){return _0x1f0cdf?{'count':_0x180ae4,'rows':_0x1f0cdf}:null;}})[_0x2f9b('0x23')](respondWithResult(_0xbbdc99,null))[_0x2f9b('0x40')](handleError(_0xbbdc99,null));};exports[_0x2f9b('0x4e')]=function(_0x206bad,_0x566068,_0x221c06){var _0x1edc76={};var _0x1d17d2={};var _0x4594d9;var _0x446e0a;return db[_0x2f9b('0x29')][_0x2f9b('0x4a')]({'where':{'id':_0x206bad[_0x2f9b('0x42')]['id']}})[_0x2f9b('0x23')](handleEntityNotFound(_0x566068,null))[_0x2f9b('0x23')](function(_0x353ba9){if(_0x353ba9){_0x4594d9=_0x353ba9;_0x1d17d2[_0x2f9b('0x2d')]=_[_0x2f9b('0x43')](db[_0x2f9b('0x4b')][_0x2f9b('0x2a')]);_0x1d17d2[_0x2f9b('0x2f')]=_[_0x2f9b('0x43')](_0x206bad[_0x2f9b('0x2f')]);_0x1d17d2[_0x2f9b('0x30')]=_[_0x2f9b('0x31')](_0x1d17d2[_0x2f9b('0x2d')],_0x1d17d2[_0x2f9b('0x2f')]);_0x1edc76[_0x2f9b('0x32')]=_['intersection'](_0x1d17d2['model'],qs['fields'](_0x206bad['query'][_0x2f9b('0x33')]));_0x1edc76[_0x2f9b('0x32')]=_0x1edc76[_0x2f9b('0x32')][_0x2f9b('0x34')]?_0x1edc76['attributes']:_0x1d17d2['model'];_0x1edc76['order']=qs[_0x2f9b('0x38')](_0x206bad[_0x2f9b('0x2f')][_0x2f9b('0x38')]);_0x1edc76[_0x2f9b('0x39')]=qs['filters'](_[_0x2f9b('0x4c')](_0x206bad[_0x2f9b('0x2f')],_0x1d17d2[_0x2f9b('0x30')]));if(_0x206bad['query'][_0x2f9b('0x3a')]){_0x1edc76['where']=_[_0x2f9b('0x3b')](_0x1edc76[_0x2f9b('0x39')],{'$or':_['map'](_0x1edc76[_0x2f9b('0x32')],function(_0x368dae){var _0x5ae224={};_0x5ae224[_0x368dae]={'$like':'%'+_0x206bad[_0x2f9b('0x2f')][_0x2f9b('0x3a')]+'%'};return _0x5ae224;})});}_0x1edc76=_['merge']({},_0x1edc76,_0x206bad[_0x2f9b('0x45')]);return _0x4594d9[_0x2f9b('0x4e')](_0x1edc76);}})[_0x2f9b('0x23')](function(_0x4bc16d){if(_0x4bc16d){_0x446e0a=_0x4bc16d[_0x2f9b('0x34')];if(!_0x206bad[_0x2f9b('0x2f')][_0x2f9b('0x35')]('nolimit')){_0x1edc76[_0x2f9b('0x1b')]=qs[_0x2f9b('0x1b')](_0x206bad[_0x2f9b('0x2f')][_0x2f9b('0x1b')]);_0x1edc76[_0x2f9b('0x1e')]=qs[_0x2f9b('0x1e')](_0x206bad[_0x2f9b('0x2f')]['offset']);}return _0x4594d9[_0x2f9b('0x4e')](_0x1edc76);}})[_0x2f9b('0x23')](function(_0x582d98){if(_0x582d98){return _0x582d98?{'count':_0x446e0a,'rows':_0x582d98}:null;}})['then'](respondWithResult(_0x566068,null))['catch'](handleError(_0x566068,null));};