Built motion from commit 3d6333b4.|2.6.31
[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 _0x160b=['../../config/license/util','../../mysqldb','status','end','undefined','limit','count','offset','json','apply','reject','save','update','then','destroy','error','name','send','index','map','VtigerConfiguration','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','include','rows','catch','show','includeAll','create','body','find','params','findOne','VtigerField','getFields','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment'];(function(_0xaa1421,_0x15c130){var _0x54dc22=function(_0x584d71){while(--_0x584d71){_0xaa1421['push'](_0xaa1421['shift']());}};_0x54dc22(++_0x15c130);}(_0x160b,0x1be));var _0xb160=function(_0x4ef74f,_0x145792){_0x4ef74f=_0x4ef74f-0x0;var _0x199db5=_0x160b[_0x4ef74f];return _0x199db5;};'use strict';var emlformat=require(_0xb160('0x0'));var rimraf=require(_0xb160('0x1'));var zipdir=require(_0xb160('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb160('0x3'));var moment=require(_0xb160('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb160('0x5'));var util=require(_0xb160('0x6'));var path=require(_0xb160('0x7'));var sox=require(_0xb160('0x8'));var csv=require('to-csv');var ejs=require(_0xb160('0x9'));var fs=require('fs');var fs_extra=require(_0xb160('0xa'));var _=require(_0xb160('0xb'));var squel=require(_0xb160('0xc'));var crypto=require(_0xb160('0xd'));var jsforce=require(_0xb160('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xb160('0xf'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb160('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xb160('0x11'));var as=require(_0xb160('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xb160('0x13'));var utils=require(_0xb160('0x14'));var config=require(_0xb160('0x15'));var licenseUtil=require(_0xb160('0x16'));var db=require(_0xb160('0x17'))['db'];function respondWithStatusCode(_0x8ba4c6,_0x2d193c){_0x2d193c=_0x2d193c||0xcc;return function(_0x2754b5){if(_0x2754b5){return _0x8ba4c6['sendStatus'](_0x2d193c);}return _0x8ba4c6[_0xb160('0x18')](_0x2d193c)[_0xb160('0x19')]();};}function respondWithResult(_0x442875,_0xd99bc1){_0xd99bc1=_0xd99bc1||0xc8;return function(_0x448822){if(_0x448822){return _0x442875[_0xb160('0x18')](_0xd99bc1)['json'](_0x448822);}};}function respondWithFilteredResult(_0x3c9dbe,_0x257533){return function(_0x3d43cd){if(_0x3d43cd){var _0x4a9ed2=typeof _0x257533['offset']===_0xb160('0x1a')&&typeof _0x257533[_0xb160('0x1b')]===_0xb160('0x1a');var _0x1b17e1=_0x3d43cd[_0xb160('0x1c')];var _0x56aa65=_0x4a9ed2?0x0:_0x257533[_0xb160('0x1d')];var _0x12984c=_0x4a9ed2?_0x3d43cd[_0xb160('0x1c')]:_0x257533[_0xb160('0x1d')]+_0x257533[_0xb160('0x1b')];var _0x336314;if(_0x12984c>=_0x1b17e1){_0x12984c=_0x1b17e1;_0x336314=0xc8;}else{_0x336314=0xce;}_0x3c9dbe[_0xb160('0x18')](_0x336314);return _0x3c9dbe['set']('Content-Range',_0x56aa65+'-'+_0x12984c+'/'+_0x1b17e1)[_0xb160('0x1e')](_0x3d43cd);}return null;};}function patchUpdates(_0x3bc9d4){return function(_0x43185c){try{jsonpatch[_0xb160('0x1f')](_0x43185c,_0x3bc9d4,!![]);}catch(_0x377754){return BPromise[_0xb160('0x20')](_0x377754);}return _0x43185c[_0xb160('0x21')]();};}function saveUpdates(_0x52c978,_0x3eeb5e){return function(_0x2b90aa){if(_0x2b90aa){return _0x2b90aa[_0xb160('0x22')](_0x52c978)[_0xb160('0x23')](function(_0x258ebe){return _0x258ebe;});}return null;};}function removeEntity(_0x32d4c0,_0x404272){return function(_0x564bb4){if(_0x564bb4){return _0x564bb4[_0xb160('0x24')]()[_0xb160('0x23')](function(){_0x32d4c0['status'](0xcc)[_0xb160('0x19')]();});}};}function handleEntityNotFound(_0x311a63,_0x38566b){return function(_0x23d953){if(!_0x23d953){_0x311a63['sendStatus'](0x194);}return _0x23d953;};}function handleError(_0x55a55f,_0x421470){_0x421470=_0x421470||0x1f4;return function(_0x178ea1){logger[_0xb160('0x25')](_0x178ea1['stack']);if(_0x178ea1[_0xb160('0x26')]){delete _0x178ea1['name'];}_0x55a55f['status'](_0x421470)[_0xb160('0x27')](_0x178ea1);};}exports[_0xb160('0x28')]=function(_0x2e30ef,_0x14145e){var _0x2eac9e={},_0x1eb93f={},_0x2d8ca2={'count':0x0,'rows':[]};var _0x3c3189=_[_0xb160('0x29')](db[_0xb160('0x2a')][_0xb160('0x2b')],function(_0x128fd2){return{'name':_0x128fd2[_0xb160('0x2c')],'type':_0x128fd2[_0xb160('0x2d')]['key']};});_0x1eb93f[_0xb160('0x2e')]=_[_0xb160('0x29')](_0x3c3189,_0xb160('0x26'));_0x1eb93f[_0xb160('0x2f')]=_[_0xb160('0x30')](_0x2e30ef[_0xb160('0x2f')]);_0x1eb93f[_0xb160('0x31')]=_[_0xb160('0x32')](_0x1eb93f[_0xb160('0x2e')],_0x1eb93f[_0xb160('0x2f')]);_0x2eac9e[_0xb160('0x33')]=_['intersection'](_0x1eb93f['model'],qs[_0xb160('0x34')](_0x2e30ef['query'][_0xb160('0x34')]));_0x2eac9e[_0xb160('0x33')]=_0x2eac9e[_0xb160('0x33')][_0xb160('0x35')]?_0x2eac9e[_0xb160('0x33')]:_0x1eb93f['model'];if(!_0x2e30ef[_0xb160('0x2f')][_0xb160('0x36')](_0xb160('0x37'))){_0x2eac9e[_0xb160('0x1b')]=qs[_0xb160('0x1b')](_0x2e30ef['query'][_0xb160('0x1b')]);_0x2eac9e[_0xb160('0x1d')]=qs[_0xb160('0x1d')](_0x2e30ef[_0xb160('0x2f')][_0xb160('0x1d')]);}_0x2eac9e[_0xb160('0x38')]=qs['sort'](_0x2e30ef[_0xb160('0x2f')][_0xb160('0x39')]);_0x2eac9e[_0xb160('0x3a')]=qs['filters'](_[_0xb160('0x3b')](_0x2e30ef[_0xb160('0x2f')],_0x1eb93f[_0xb160('0x31')]),_0x3c3189);if(_0x2e30ef[_0xb160('0x2f')][_0xb160('0x3c')]){_0x2eac9e[_0xb160('0x3a')]=_['merge'](_0x2eac9e[_0xb160('0x3a')],{'$or':_['map'](_0x3c3189,function(_0x98b7d8){if(_0x98b7d8['type']!==_0xb160('0x3d')){var _0x1cc0a8={};_0x1cc0a8[_0x98b7d8['name']]={'$like':'%'+_0x2e30ef['query'][_0xb160('0x3c')]+'%'};return _0x1cc0a8;}})});}_0x2eac9e=_[_0xb160('0x3e')]({},_0x2eac9e,_0x2e30ef[_0xb160('0x3f')]);var _0x35970a={'where':_0x2eac9e[_0xb160('0x3a')]};return db[_0xb160('0x2a')][_0xb160('0x1c')](_0x35970a)[_0xb160('0x23')](function(_0x46d36a){_0x2d8ca2['count']=_0x46d36a;if(_0x2e30ef['query']['includeAll']){_0x2eac9e[_0xb160('0x40')]=[{'all':!![]}];}return db[_0xb160('0x2a')]['findAll'](_0x2eac9e);})[_0xb160('0x23')](function(_0xc19bc2){_0x2d8ca2[_0xb160('0x41')]=_0xc19bc2;return _0x2d8ca2;})[_0xb160('0x23')](respondWithFilteredResult(_0x14145e,_0x2eac9e))[_0xb160('0x42')](handleError(_0x14145e,null));};exports[_0xb160('0x43')]=function(_0x234b8b,_0xd59023){var _0x3e742f={'raw':![],'where':{'id':_0x234b8b['params']['id']}},_0x15d785={};_0x15d785[_0xb160('0x2e')]=_['keys'](db[_0xb160('0x2a')][_0xb160('0x2b')]);_0x15d785[_0xb160('0x2f')]=_['keys'](_0x234b8b[_0xb160('0x2f')]);_0x15d785['filters']=_[_0xb160('0x32')](_0x15d785[_0xb160('0x2e')],_0x15d785[_0xb160('0x2f')]);_0x3e742f[_0xb160('0x33')]=_[_0xb160('0x32')](_0x15d785['model'],qs[_0xb160('0x34')](_0x234b8b['query'][_0xb160('0x34')]));_0x3e742f[_0xb160('0x33')]=_0x3e742f[_0xb160('0x33')][_0xb160('0x35')]?_0x3e742f['attributes']:_0x15d785['model'];if(_0x234b8b[_0xb160('0x2f')][_0xb160('0x44')]){_0x3e742f[_0xb160('0x40')]=[{'all':!![]}];}_0x3e742f=_[_0xb160('0x3e')]({},_0x3e742f,_0x234b8b[_0xb160('0x3f')]);return db['VtigerConfiguration']['find'](_0x3e742f)['then'](handleEntityNotFound(_0xd59023,null))['then'](respondWithResult(_0xd59023,null))[_0xb160('0x42')](handleError(_0xd59023,null));};exports['create']=function(_0xc224e4,_0x382ba1){return db[_0xb160('0x2a')][_0xb160('0x45')](_0xc224e4['body'],{})[_0xb160('0x23')](respondWithResult(_0x382ba1,0xc9))[_0xb160('0x42')](handleError(_0x382ba1,null));};exports[_0xb160('0x22')]=function(_0x327acd,_0x500bab){if(_0x327acd['body']['id']){delete _0x327acd[_0xb160('0x46')]['id'];}return db[_0xb160('0x2a')][_0xb160('0x47')]({'where':{'id':_0x327acd[_0xb160('0x48')]['id']}})['then'](handleEntityNotFound(_0x500bab,null))[_0xb160('0x23')](saveUpdates(_0x327acd[_0xb160('0x46')],null))[_0xb160('0x23')](respondWithResult(_0x500bab,null))['catch'](handleError(_0x500bab,null));};exports[_0xb160('0x24')]=function(_0x28d9b2,_0x1feecf){return db[_0xb160('0x2a')][_0xb160('0x47')]({'where':{'id':_0x28d9b2['params']['id']}})[_0xb160('0x23')](handleEntityNotFound(_0x1feecf,null))[_0xb160('0x23')](removeEntity(_0x1feecf,null))['catch'](handleError(_0x1feecf,null));};exports['getFields']=function(_0xae3b50,_0x210ebe,_0x1cfe86){var _0xa98d4b={};var _0x4d2115={};var _0x590f60;var _0x276b33;return db['VtigerConfiguration'][_0xb160('0x49')]({'where':{'id':_0xae3b50[_0xb160('0x48')]['id']}})[_0xb160('0x23')](handleEntityNotFound(_0x210ebe,null))[_0xb160('0x23')](function(_0x3b4a57){if(_0x3b4a57){_0x590f60=_0x3b4a57;_0x4d2115[_0xb160('0x2e')]=_[_0xb160('0x30')](db[_0xb160('0x4a')][_0xb160('0x2b')]);_0x4d2115[_0xb160('0x2f')]=_[_0xb160('0x30')](_0xae3b50['query']);_0x4d2115[_0xb160('0x31')]=_[_0xb160('0x32')](_0x4d2115[_0xb160('0x2e')],_0x4d2115['query']);_0xa98d4b['attributes']=_[_0xb160('0x32')](_0x4d2115[_0xb160('0x2e')],qs[_0xb160('0x34')](_0xae3b50[_0xb160('0x2f')][_0xb160('0x34')]));_0xa98d4b[_0xb160('0x33')]=_0xa98d4b[_0xb160('0x33')][_0xb160('0x35')]?_0xa98d4b['attributes']:_0x4d2115['model'];_0xa98d4b[_0xb160('0x38')]=qs[_0xb160('0x39')](_0xae3b50[_0xb160('0x2f')][_0xb160('0x39')]);_0xa98d4b[_0xb160('0x3a')]=qs[_0xb160('0x31')](_[_0xb160('0x3b')](_0xae3b50[_0xb160('0x2f')],_0x4d2115[_0xb160('0x31')]));if(_0xae3b50[_0xb160('0x2f')][_0xb160('0x3c')]){_0xa98d4b[_0xb160('0x3a')]=_['merge'](_0xa98d4b[_0xb160('0x3a')],{'$or':_['map'](_0xa98d4b[_0xb160('0x33')],function(_0x48842d){var _0x115df7={};_0x115df7[_0x48842d]={'$like':'%'+_0xae3b50[_0xb160('0x2f')]['filter']+'%'};return _0x115df7;})});}_0xa98d4b=_[_0xb160('0x3e')]({},_0xa98d4b,_0xae3b50['options']);return _0x590f60[_0xb160('0x4b')](_0xa98d4b);}})['then'](function(_0x52873f){if(_0x52873f){_0x276b33=_0x52873f[_0xb160('0x35')];if(!_0xae3b50['query'][_0xb160('0x36')]('nolimit')){_0xa98d4b[_0xb160('0x1b')]=qs[_0xb160('0x1b')](_0xae3b50[_0xb160('0x2f')]['limit']);_0xa98d4b[_0xb160('0x1d')]=qs[_0xb160('0x1d')](_0xae3b50[_0xb160('0x2f')]['offset']);}return _0x590f60[_0xb160('0x4b')](_0xa98d4b);}})['then'](function(_0x4d2bac){if(_0x4d2bac){return _0x4d2bac?{'count':_0x276b33,'rows':_0x4d2bac}:null;}})[_0xb160('0x23')](respondWithResult(_0x210ebe,null))[_0xb160('0x42')](handleError(_0x210ebe,null));};exports['getSubjects']=function(_0x48ae28,_0x49f683,_0x23d833){var _0x5a62c7={};var _0x3436d9={};var _0x21dddb;var _0x1b148a;return db[_0xb160('0x2a')]['findOne']({'where':{'id':_0x48ae28[_0xb160('0x48')]['id']}})[_0xb160('0x23')](handleEntityNotFound(_0x49f683,null))[_0xb160('0x23')](function(_0x13fb6b){if(_0x13fb6b){_0x21dddb=_0x13fb6b;_0x3436d9['model']=_[_0xb160('0x30')](db[_0xb160('0x4a')][_0xb160('0x2b')]);_0x3436d9[_0xb160('0x2f')]=_[_0xb160('0x30')](_0x48ae28['query']);_0x3436d9[_0xb160('0x31')]=_[_0xb160('0x32')](_0x3436d9[_0xb160('0x2e')],_0x3436d9[_0xb160('0x2f')]);_0x5a62c7[_0xb160('0x33')]=_['intersection'](_0x3436d9[_0xb160('0x2e')],qs[_0xb160('0x34')](_0x48ae28[_0xb160('0x2f')][_0xb160('0x34')]));_0x5a62c7[_0xb160('0x33')]=_0x5a62c7['attributes']['length']?_0x5a62c7[_0xb160('0x33')]:_0x3436d9[_0xb160('0x2e')];_0x5a62c7[_0xb160('0x38')]=qs[_0xb160('0x39')](_0x48ae28[_0xb160('0x2f')][_0xb160('0x39')]);_0x5a62c7['where']=qs[_0xb160('0x31')](_[_0xb160('0x3b')](_0x48ae28[_0xb160('0x2f')],_0x3436d9['filters']));if(_0x48ae28[_0xb160('0x2f')][_0xb160('0x3c')]){_0x5a62c7[_0xb160('0x3a')]=_['merge'](_0x5a62c7['where'],{'$or':_['map'](_0x5a62c7[_0xb160('0x33')],function(_0x538d62){var _0xf2ef29={};_0xf2ef29[_0x538d62]={'$like':'%'+_0x48ae28['query'][_0xb160('0x3c')]+'%'};return _0xf2ef29;})});}_0x5a62c7=_[_0xb160('0x3e')]({},_0x5a62c7,_0x48ae28[_0xb160('0x3f')]);return _0x21dddb[_0xb160('0x4c')](_0x5a62c7);}})[_0xb160('0x23')](function(_0x28f0e7){if(_0x28f0e7){_0x1b148a=_0x28f0e7[_0xb160('0x35')];if(!_0x48ae28['query']['hasOwnProperty']('nolimit')){_0x5a62c7[_0xb160('0x1b')]=qs['limit'](_0x48ae28['query'][_0xb160('0x1b')]);_0x5a62c7[_0xb160('0x1d')]=qs[_0xb160('0x1d')](_0x48ae28[_0xb160('0x2f')][_0xb160('0x1d')]);}return _0x21dddb[_0xb160('0x4c')](_0x5a62c7);}})[_0xb160('0x23')](function(_0x4afcd8){if(_0x4afcd8){return _0x4afcd8?{'count':_0x1b148a,'rows':_0x4afcd8}:null;}})[_0xb160('0x23')](respondWithResult(_0x49f683,null))['catch'](handleError(_0x49f683,null));};exports['getDescriptions']=function(_0x56fae2,_0x33fbc0,_0x39d042){var _0x5d3a3d={};var _0x529ed6={};var _0x2347f8;var _0x3d61d6;return db['VtigerConfiguration'][_0xb160('0x49')]({'where':{'id':_0x56fae2[_0xb160('0x48')]['id']}})['then'](handleEntityNotFound(_0x33fbc0,null))['then'](function(_0x22c425){if(_0x22c425){_0x2347f8=_0x22c425;_0x529ed6[_0xb160('0x2e')]=_['keys'](db[_0xb160('0x4a')][_0xb160('0x2b')]);_0x529ed6[_0xb160('0x2f')]=_[_0xb160('0x30')](_0x56fae2[_0xb160('0x2f')]);_0x529ed6['filters']=_[_0xb160('0x32')](_0x529ed6[_0xb160('0x2e')],_0x529ed6[_0xb160('0x2f')]);_0x5d3a3d['attributes']=_['intersection'](_0x529ed6['model'],qs[_0xb160('0x34')](_0x56fae2['query'][_0xb160('0x34')]));_0x5d3a3d[_0xb160('0x33')]=_0x5d3a3d[_0xb160('0x33')][_0xb160('0x35')]?_0x5d3a3d['attributes']:_0x529ed6[_0xb160('0x2e')];_0x5d3a3d['order']=qs[_0xb160('0x39')](_0x56fae2[_0xb160('0x2f')][_0xb160('0x39')]);_0x5d3a3d[_0xb160('0x3a')]=qs[_0xb160('0x31')](_[_0xb160('0x3b')](_0x56fae2[_0xb160('0x2f')],_0x529ed6[_0xb160('0x31')]));if(_0x56fae2['query'][_0xb160('0x3c')]){_0x5d3a3d['where']=_[_0xb160('0x3e')](_0x5d3a3d['where'],{'$or':_['map'](_0x5d3a3d[_0xb160('0x33')],function(_0x15ecaf){var _0x4cfd90={};_0x4cfd90[_0x15ecaf]={'$like':'%'+_0x56fae2['query'][_0xb160('0x3c')]+'%'};return _0x4cfd90;})});}_0x5d3a3d=_[_0xb160('0x3e')]({},_0x5d3a3d,_0x56fae2['options']);return _0x2347f8['getDescriptions'](_0x5d3a3d);}})[_0xb160('0x23')](function(_0x41cea3){if(_0x41cea3){_0x3d61d6=_0x41cea3['length'];if(!_0x56fae2['query'][_0xb160('0x36')](_0xb160('0x37'))){_0x5d3a3d['limit']=qs[_0xb160('0x1b')](_0x56fae2['query'][_0xb160('0x1b')]);_0x5d3a3d[_0xb160('0x1d')]=qs['offset'](_0x56fae2[_0xb160('0x2f')][_0xb160('0x1d')]);}return _0x2347f8[_0xb160('0x4d')](_0x5d3a3d);}})['then'](function(_0xa5a368){if(_0xa5a368){return _0xa5a368?{'count':_0x3d61d6,'rows':_0xa5a368}:null;}})[_0xb160('0x23')](respondWithResult(_0x33fbc0,null))[_0xb160('0x42')](handleError(_0x33fbc0,null));};