783fcb0c638a2dbcc0bccb8e970609233f0e9213
[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 _0x530e=['show','find','update','body','params','getFields','VtigerField','pick','findOne','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/license/util','../../mysqldb','http','request','then','VtigerConfiguration,\x20%s,\x20%s','request\x20sent','debug','VtigerConfiguration,\x20%s,\x20%s,\x20%s','error','code','message','info','result','status','end','json','count','offset','limit','reject','save','destroy','sendStatus','stack','name','send','index','map','VtigerConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x530e,0x10c));var _0xe530=function(_0x4e8c2b,_0x1371f0){_0x4e8c2b=_0x4e8c2b-0x0;var _0x3397e9=_0x530e[_0x4e8c2b];return _0x3397e9;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xe530('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe530('0x1'));var jsonpatch=require(_0xe530('0x2'));var rp=require(_0xe530('0x3'));var moment=require(_0xe530('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xe530('0x5'));var util=require(_0xe530('0x6'));var path=require(_0xe530('0x7'));var sox=require('sox');var csv=require(_0xe530('0x8'));var ejs=require(_0xe530('0x9'));var fs=require('fs');var _=require(_0xe530('0xa'));var squel=require('squel');var crypto=require(_0xe530('0xb'));var jsforce=require(_0xe530('0xc'));var deskjs=require(_0xe530('0xd'));var toCsv=require(_0xe530('0x8'));var querystring=require(_0xe530('0xe'));var Papa=require(_0xe530('0xf'));var Redis=require(_0xe530('0x10'));var authService=require(_0xe530('0x11'));var qs=require(_0xe530('0x12'));var as=require(_0xe530('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe530('0x14'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xe530('0x15'));var db=require(_0xe530('0x16'))['db'];var jayson=require('jayson/promise');var client=jayson['client'][_0xe530('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x1d71c9,_0xb8b74,_0x361f89,_0x119a3f){return new BPromise(function(_0x59a494,_0x1f005d){var _0x4b6e7d=_0x119a3f||client;return _0x4b6e7d[_0xe530('0x18')](_0x1d71c9,_0x361f89)[_0xe530('0x19')](function(_0x363be3){logger['info'](_0xe530('0x1a'),_0xb8b74,_0xe530('0x1b'));logger[_0xe530('0x1c')](_0xe530('0x1d'),_0xb8b74,'request\x20sent',JSON['stringify'](_0x363be3));if(_0x363be3[_0xe530('0x1e')]){if(_0x363be3[_0xe530('0x1e')][_0xe530('0x1f')]===0x1f4){logger[_0xe530('0x1e')](_0xe530('0x1a'),_0xb8b74,_0x363be3[_0xe530('0x1e')][_0xe530('0x20')]);return _0x1f005d(_0x363be3[_0xe530('0x1e')][_0xe530('0x20')]);}logger[_0xe530('0x1e')](_0xe530('0x1a'),_0xb8b74,_0x363be3[_0xe530('0x1e')][_0xe530('0x20')]);return _0x59a494(_0x363be3[_0xe530('0x1e')]['message']);}else{logger[_0xe530('0x21')]('VtigerConfiguration,\x20%s,\x20%s',_0xb8b74,_0xe530('0x1b'));_0x59a494(_0x363be3[_0xe530('0x22')][_0xe530('0x20')]);}})['catch'](function(_0x52cad2){logger[_0xe530('0x1e')]('VtigerConfiguration,\x20%s,\x20%s',_0xb8b74,_0x52cad2);_0x1f005d(_0x52cad2);});});}function respondWithStatusCode(_0x41d6cd,_0x28a7f7){_0x28a7f7=_0x28a7f7||0xcc;return function(_0x334630){if(_0x334630){return _0x41d6cd['sendStatus'](_0x28a7f7);}return _0x41d6cd[_0xe530('0x23')](_0x28a7f7)[_0xe530('0x24')]();};}function respondWithResult(_0x10ff16,_0x42696b){_0x42696b=_0x42696b||0xc8;return function(_0x4bfa22){if(_0x4bfa22){return _0x10ff16['status'](_0x42696b)[_0xe530('0x25')](_0x4bfa22);}};}function respondWithFilteredResult(_0x56e064,_0x4564f5){return function(_0xba4818){if(_0xba4818){var _0x436eaf=_0xba4818[_0xe530('0x26')],_0x1cd834=_0x4564f5[_0xe530('0x27')],_0x409dd5=_0x4564f5[_0xe530('0x27')]+_0x4564f5[_0xe530('0x28')],_0x11d7fb;if(_0x409dd5>=_0x436eaf){_0x409dd5=_0x436eaf;_0x11d7fb=0xc8;}else{_0x11d7fb=0xce;}_0x56e064[_0xe530('0x23')](_0x11d7fb);return _0x56e064['set']('Content-Range',_0x1cd834+'-'+_0x409dd5+'/'+_0x436eaf)[_0xe530('0x25')](_0xba4818);}return null;};}function patchUpdates(_0x4a180f){return function(_0x393f1e){try{jsonpatch['apply'](_0x393f1e,_0x4a180f,!![]);}catch(_0xfd2ba5){return BPromise[_0xe530('0x29')](_0xfd2ba5);}return _0x393f1e[_0xe530('0x2a')]();};}function saveUpdates(_0xaee18d,_0x3de672){return function(_0xa6f734){if(_0xa6f734){return _0xa6f734['update'](_0xaee18d)[_0xe530('0x19')](function(_0x4413d8){return _0x4413d8;});}return null;};}function removeEntity(_0x302bc2,_0x1a644a){return function(_0xfcaa74){if(_0xfcaa74){return _0xfcaa74[_0xe530('0x2b')]()[_0xe530('0x19')](function(){_0x302bc2['status'](0xcc)[_0xe530('0x24')]();});}};}function handleEntityNotFound(_0x41d381,_0x3187d8){return function(_0x13229b){if(!_0x13229b){_0x41d381[_0xe530('0x2c')](0x194);}return _0x13229b;};}function handleError(_0xbb8032,_0x2f5cf1){_0x2f5cf1=_0x2f5cf1||0x1f4;return function(_0x4064fc){logger['error'](_0x4064fc[_0xe530('0x2d')]);if(_0x4064fc[_0xe530('0x2e')]){delete _0x4064fc[_0xe530('0x2e')];}_0xbb8032['status'](_0x2f5cf1)[_0xe530('0x2f')](_0x4064fc);};}exports[_0xe530('0x30')]=function(_0x4349e5,_0x57e9a2){var _0x501e78={},_0x17bc9d={},_0x51784b={'count':0x0,'rows':[]};var _0x28a04f=_[_0xe530('0x31')](db[_0xe530('0x32')][_0xe530('0x33')],function(_0x2040da){return{'name':_0x2040da['fieldName'],'type':_0x2040da[_0xe530('0x34')][_0xe530('0x35')]};});_0x17bc9d[_0xe530('0x36')]=_['map'](_0x28a04f,'name');_0x17bc9d[_0xe530('0x37')]=_[_0xe530('0x38')](_0x4349e5[_0xe530('0x37')]);_0x17bc9d[_0xe530('0x39')]=_[_0xe530('0x3a')](_0x17bc9d[_0xe530('0x36')],_0x17bc9d[_0xe530('0x37')]);_0x501e78['attributes']=_['intersection'](_0x17bc9d[_0xe530('0x36')],qs[_0xe530('0x3b')](_0x4349e5[_0xe530('0x37')]['fields']));_0x501e78[_0xe530('0x3c')]=_0x501e78[_0xe530('0x3c')][_0xe530('0x3d')]?_0x501e78['attributes']:_0x17bc9d['model'];if(!_0x4349e5[_0xe530('0x37')][_0xe530('0x3e')](_0xe530('0x3f'))){_0x501e78[_0xe530('0x28')]=qs[_0xe530('0x28')](_0x4349e5[_0xe530('0x37')][_0xe530('0x28')]);_0x501e78[_0xe530('0x27')]=qs[_0xe530('0x27')](_0x4349e5[_0xe530('0x37')][_0xe530('0x27')]);}_0x501e78[_0xe530('0x40')]=qs[_0xe530('0x41')](_0x4349e5[_0xe530('0x37')]['sort']);_0x501e78[_0xe530('0x42')]=qs[_0xe530('0x39')](_['pick'](_0x4349e5['query'],_0x17bc9d['filters']),_0x28a04f);if(_0x4349e5[_0xe530('0x37')][_0xe530('0x43')]){_0x501e78[_0xe530('0x42')]=_[_0xe530('0x44')](_0x501e78['where'],{'$or':_['map'](_0x28a04f,function(_0x91a6c6){if(_0x91a6c6['type']!==_0xe530('0x45')){var _0x3678c3={};_0x3678c3[_0x91a6c6[_0xe530('0x2e')]]={'$like':'%'+_0x4349e5[_0xe530('0x37')][_0xe530('0x43')]+'%'};return _0x3678c3;}})});}_0x501e78=_[_0xe530('0x44')]({},_0x501e78,_0x4349e5[_0xe530('0x46')]);var _0x95da79={'where':_0x501e78[_0xe530('0x42')]};return db['VtigerConfiguration'][_0xe530('0x26')](_0x95da79)['then'](function(_0x1866e5){_0x51784b[_0xe530('0x26')]=_0x1866e5;if(_0x4349e5['query'][_0xe530('0x47')]){_0x501e78[_0xe530('0x48')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0xe530('0x49')](_0x501e78);})[_0xe530('0x19')](function(_0x1f0aaa){_0x51784b[_0xe530('0x4a')]=_0x1f0aaa;return _0x51784b;})['then'](respondWithFilteredResult(_0x57e9a2,_0x501e78))[_0xe530('0x4b')](handleError(_0x57e9a2,null));};exports[_0xe530('0x4c')]=function(_0x240324,_0x35a330){var _0x52308e={'raw':![],'where':{'id':_0x240324['params']['id']}},_0x2069aa={};_0x2069aa['model']=_[_0xe530('0x38')](db[_0xe530('0x32')][_0xe530('0x33')]);_0x2069aa[_0xe530('0x37')]=_[_0xe530('0x38')](_0x240324[_0xe530('0x37')]);_0x2069aa[_0xe530('0x39')]=_[_0xe530('0x3a')](_0x2069aa[_0xe530('0x36')],_0x2069aa[_0xe530('0x37')]);_0x52308e[_0xe530('0x3c')]=_[_0xe530('0x3a')](_0x2069aa[_0xe530('0x36')],qs['fields'](_0x240324[_0xe530('0x37')]['fields']));_0x52308e[_0xe530('0x3c')]=_0x52308e[_0xe530('0x3c')][_0xe530('0x3d')]?_0x52308e[_0xe530('0x3c')]:_0x2069aa['model'];if(_0x240324['query'][_0xe530('0x47')]){_0x52308e[_0xe530('0x48')]=[{'all':!![]}];}_0x52308e=_[_0xe530('0x44')]({},_0x52308e,_0x240324[_0xe530('0x46')]);return db[_0xe530('0x32')][_0xe530('0x4d')](_0x52308e)[_0xe530('0x19')](handleEntityNotFound(_0x35a330,null))[_0xe530('0x19')](respondWithResult(_0x35a330,null))[_0xe530('0x4b')](handleError(_0x35a330,null));};exports['create']=function(_0x596bcd,_0x175782){return db[_0xe530('0x32')]['create'](_0x596bcd['body'],{})[_0xe530('0x19')](respondWithResult(_0x175782,0xc9))[_0xe530('0x4b')](handleError(_0x175782,null));};exports[_0xe530('0x4e')]=function(_0x438cf6,_0x3c9e22){if(_0x438cf6['body']['id']){delete _0x438cf6[_0xe530('0x4f')]['id'];}return db[_0xe530('0x32')][_0xe530('0x4d')]({'where':{'id':_0x438cf6[_0xe530('0x50')]['id']}})[_0xe530('0x19')](handleEntityNotFound(_0x3c9e22,null))[_0xe530('0x19')](saveUpdates(_0x438cf6[_0xe530('0x4f')],null))[_0xe530('0x19')](respondWithResult(_0x3c9e22,null))['catch'](handleError(_0x3c9e22,null));};exports['destroy']=function(_0x429913,_0xe03deb){return db[_0xe530('0x32')]['find']({'where':{'id':_0x429913[_0xe530('0x50')]['id']}})['then'](handleEntityNotFound(_0xe03deb,null))[_0xe530('0x19')](removeEntity(_0xe03deb,null))[_0xe530('0x4b')](handleError(_0xe03deb,null));};exports[_0xe530('0x51')]=function(_0x12a032,_0x1e6761,_0x2795cc){var _0x102c61={};var _0x516871={};var _0x5f3203;var _0x2cd375;return db[_0xe530('0x32')]['findOne']({'where':{'id':_0x12a032[_0xe530('0x50')]['id']}})[_0xe530('0x19')](handleEntityNotFound(_0x1e6761,null))[_0xe530('0x19')](function(_0x50ad96){if(_0x50ad96){_0x5f3203=_0x50ad96;_0x516871[_0xe530('0x36')]=_[_0xe530('0x38')](db[_0xe530('0x52')][_0xe530('0x33')]);_0x516871[_0xe530('0x37')]=_[_0xe530('0x38')](_0x12a032['query']);_0x516871['filters']=_[_0xe530('0x3a')](_0x516871[_0xe530('0x36')],_0x516871[_0xe530('0x37')]);_0x102c61[_0xe530('0x3c')]=_['intersection'](_0x516871[_0xe530('0x36')],qs[_0xe530('0x3b')](_0x12a032[_0xe530('0x37')][_0xe530('0x3b')]));_0x102c61[_0xe530('0x3c')]=_0x102c61['attributes'][_0xe530('0x3d')]?_0x102c61[_0xe530('0x3c')]:_0x516871[_0xe530('0x36')];_0x102c61[_0xe530('0x40')]=qs[_0xe530('0x41')](_0x12a032[_0xe530('0x37')]['sort']);_0x102c61[_0xe530('0x42')]=qs[_0xe530('0x39')](_[_0xe530('0x53')](_0x12a032['query'],_0x516871[_0xe530('0x39')]));if(_0x12a032[_0xe530('0x37')][_0xe530('0x43')]){_0x102c61[_0xe530('0x42')]=_[_0xe530('0x44')](_0x102c61[_0xe530('0x42')],{'$or':_[_0xe530('0x31')](_0x102c61[_0xe530('0x3c')],function(_0x53a3df){var _0x242546={};_0x242546[_0x53a3df]={'$like':'%'+_0x12a032[_0xe530('0x37')][_0xe530('0x43')]+'%'};return _0x242546;})});}_0x102c61=_[_0xe530('0x44')]({},_0x102c61,_0x12a032[_0xe530('0x46')]);return _0x5f3203[_0xe530('0x51')](_0x102c61);}})[_0xe530('0x19')](function(_0x38b3e8){if(_0x38b3e8){_0x2cd375=_0x38b3e8['length'];if(!_0x12a032[_0xe530('0x37')][_0xe530('0x3e')](_0xe530('0x3f'))){_0x102c61[_0xe530('0x28')]=qs[_0xe530('0x28')](_0x12a032[_0xe530('0x37')][_0xe530('0x28')]);_0x102c61[_0xe530('0x27')]=qs['offset'](_0x12a032[_0xe530('0x37')]['offset']);}return _0x5f3203['getFields'](_0x102c61);}})[_0xe530('0x19')](function(_0x312093){if(_0x312093){return _0x312093?{'count':_0x2cd375,'rows':_0x312093}:null;}})[_0xe530('0x19')](respondWithResult(_0x1e6761,null))[_0xe530('0x4b')](handleError(_0x1e6761,null));};exports['getSubjects']=function(_0x19b010,_0x426e05,_0x434f3c){var _0x420e28={};var _0x53241d={};var _0x410ba8;var _0x315f66;return db['VtigerConfiguration'][_0xe530('0x54')]({'where':{'id':_0x19b010[_0xe530('0x50')]['id']}})[_0xe530('0x19')](handleEntityNotFound(_0x426e05,null))[_0xe530('0x19')](function(_0x5cda6c){if(_0x5cda6c){_0x410ba8=_0x5cda6c;_0x53241d[_0xe530('0x36')]=_[_0xe530('0x38')](db[_0xe530('0x52')][_0xe530('0x33')]);_0x53241d[_0xe530('0x37')]=_[_0xe530('0x38')](_0x19b010[_0xe530('0x37')]);_0x53241d[_0xe530('0x39')]=_[_0xe530('0x3a')](_0x53241d[_0xe530('0x36')],_0x53241d[_0xe530('0x37')]);_0x420e28[_0xe530('0x3c')]=_[_0xe530('0x3a')](_0x53241d[_0xe530('0x36')],qs['fields'](_0x19b010[_0xe530('0x37')][_0xe530('0x3b')]));_0x420e28[_0xe530('0x3c')]=_0x420e28[_0xe530('0x3c')][_0xe530('0x3d')]?_0x420e28[_0xe530('0x3c')]:_0x53241d['model'];_0x420e28[_0xe530('0x40')]=qs['sort'](_0x19b010[_0xe530('0x37')]['sort']);_0x420e28[_0xe530('0x42')]=qs[_0xe530('0x39')](_[_0xe530('0x53')](_0x19b010[_0xe530('0x37')],_0x53241d[_0xe530('0x39')]));if(_0x19b010[_0xe530('0x37')][_0xe530('0x43')]){_0x420e28['where']=_[_0xe530('0x44')](_0x420e28[_0xe530('0x42')],{'$or':_[_0xe530('0x31')](_0x420e28['attributes'],function(_0x2f651d){var _0x4f072e={};_0x4f072e[_0x2f651d]={'$like':'%'+_0x19b010[_0xe530('0x37')][_0xe530('0x43')]+'%'};return _0x4f072e;})});}_0x420e28=_['merge']({},_0x420e28,_0x19b010[_0xe530('0x46')]);return _0x410ba8['getSubjects'](_0x420e28);}})[_0xe530('0x19')](function(_0x43421c){if(_0x43421c){_0x315f66=_0x43421c[_0xe530('0x3d')];if(!_0x19b010[_0xe530('0x37')][_0xe530('0x3e')](_0xe530('0x3f'))){_0x420e28[_0xe530('0x28')]=qs[_0xe530('0x28')](_0x19b010[_0xe530('0x37')][_0xe530('0x28')]);_0x420e28['offset']=qs[_0xe530('0x27')](_0x19b010[_0xe530('0x37')][_0xe530('0x27')]);}return _0x410ba8['getSubjects'](_0x420e28);}})[_0xe530('0x19')](function(_0x4400c9){if(_0x4400c9){return _0x4400c9?{'count':_0x315f66,'rows':_0x4400c9}:null;}})[_0xe530('0x19')](respondWithResult(_0x426e05,null))[_0xe530('0x4b')](handleError(_0x426e05,null));};exports['getDescriptions']=function(_0x54e345,_0x4db8f2,_0x3ba351){var _0x200a61={};var _0x45d56f={};var _0x39b474;var _0x191167;return db['VtigerConfiguration'][_0xe530('0x54')]({'where':{'id':_0x54e345['params']['id']}})[_0xe530('0x19')](handleEntityNotFound(_0x4db8f2,null))['then'](function(_0x5bb530){if(_0x5bb530){_0x39b474=_0x5bb530;_0x45d56f['model']=_['keys'](db[_0xe530('0x52')][_0xe530('0x33')]);_0x45d56f[_0xe530('0x37')]=_[_0xe530('0x38')](_0x54e345[_0xe530('0x37')]);_0x45d56f['filters']=_['intersection'](_0x45d56f[_0xe530('0x36')],_0x45d56f['query']);_0x200a61['attributes']=_[_0xe530('0x3a')](_0x45d56f[_0xe530('0x36')],qs[_0xe530('0x3b')](_0x54e345['query'][_0xe530('0x3b')]));_0x200a61['attributes']=_0x200a61[_0xe530('0x3c')][_0xe530('0x3d')]?_0x200a61[_0xe530('0x3c')]:_0x45d56f[_0xe530('0x36')];_0x200a61['order']=qs[_0xe530('0x41')](_0x54e345[_0xe530('0x37')][_0xe530('0x41')]);_0x200a61[_0xe530('0x42')]=qs[_0xe530('0x39')](_[_0xe530('0x53')](_0x54e345[_0xe530('0x37')],_0x45d56f[_0xe530('0x39')]));if(_0x54e345[_0xe530('0x37')]['filter']){_0x200a61[_0xe530('0x42')]=_[_0xe530('0x44')](_0x200a61['where'],{'$or':_[_0xe530('0x31')](_0x200a61[_0xe530('0x3c')],function(_0x48239d){var _0x383704={};_0x383704[_0x48239d]={'$like':'%'+_0x54e345[_0xe530('0x37')][_0xe530('0x43')]+'%'};return _0x383704;})});}_0x200a61=_[_0xe530('0x44')]({},_0x200a61,_0x54e345[_0xe530('0x46')]);return _0x39b474[_0xe530('0x55')](_0x200a61);}})[_0xe530('0x19')](function(_0x17d885){if(_0x17d885){_0x191167=_0x17d885[_0xe530('0x3d')];if(!_0x54e345[_0xe530('0x37')][_0xe530('0x3e')](_0xe530('0x3f'))){_0x200a61[_0xe530('0x28')]=qs[_0xe530('0x28')](_0x54e345[_0xe530('0x37')][_0xe530('0x28')]);_0x200a61['offset']=qs[_0xe530('0x27')](_0x54e345[_0xe530('0x37')][_0xe530('0x27')]);}return _0x39b474['getDescriptions'](_0x200a61);}})['then'](function(_0x550230){if(_0x550230){return _0x550230?{'count':_0x191167,'rows':_0x550230}:null;}})[_0xe530('0x19')](respondWithResult(_0x4db8f2,null))['catch'](handleError(_0x4db8f2,null));};