Built motion from commit 06eb8eb0.|2.6.31
[motion2.git] / server / api / intVtigerAccount / intVtigerAccount.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 _0x4aaf=['jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','end','json','undefined','limit','offset','count','set','Content-Range','apply','reject','save','then','error','name','map','VtigerAccount','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','filter','merge','VIRTUAL','includeAll','include','catch','show','params','keys','options','find','create','body','update','findOne','pick','getConfigurations','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','getDescriptions','channel','VtigerConfiguration','VtigerField','Descriptions','md5','getFields','username','description','remoteUri','serverUrl','accessKey','moduleName','substring','lastIndexOf','format','%s/webservice.php','getchallenge','POST','login','result','token','success','GET','describe','sessionName','reference','owner','remove','editable','false','label','startsWith','cf_','picklistValues','value','log','vTiger\x20error:\x20','test','statusCode','stringify','send','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel'];(function(_0x5047de,_0x3a2b23){var _0x516bb3=function(_0x3d279d){while(--_0x3d279d){_0x5047de['push'](_0x5047de['shift']());}};_0x516bb3(++_0x3a2b23);}(_0x4aaf,0x1d8));var _0xf4aa=function(_0x192895,_0xd92c82){_0x192895=_0x192895-0x0;var _0x6d6bb=_0x4aaf[_0x192895];return _0x6d6bb;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf4aa('0x0'));var zipdir=require(_0xf4aa('0x1'));var jsonpatch=require(_0xf4aa('0x2'));var rp=require('request-promise');var moment=require(_0xf4aa('0x3'));var BPromise=require(_0xf4aa('0x4'));var Mustache=require(_0xf4aa('0x5'));var util=require(_0xf4aa('0x6'));var path=require(_0xf4aa('0x7'));var sox=require(_0xf4aa('0x8'));var csv=require(_0xf4aa('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf4aa('0xa'));var squel=require(_0xf4aa('0xb'));var crypto=require('crypto');var jsforce=require(_0xf4aa('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xf4aa('0x9'));var querystring=require(_0xf4aa('0xd'));var Papa=require(_0xf4aa('0xe'));var Redis=require(_0xf4aa('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xf4aa('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf4aa('0x11'));var logger=require(_0xf4aa('0x12'))(_0xf4aa('0x13'));var utils=require(_0xf4aa('0x14'));var config=require(_0xf4aa('0x15'));var licenseUtil=require(_0xf4aa('0x16'));var db=require('../../mysqldb')['db'];var integrations=require(_0xf4aa('0x17'));function respondWithStatusCode(_0x46ef3e,_0x3c198f){_0x3c198f=_0x3c198f||0xcc;return function(_0x3ab046){if(_0x3ab046){return _0x46ef3e[_0xf4aa('0x18')](_0x3c198f);}return _0x46ef3e[_0xf4aa('0x19')](_0x3c198f)[_0xf4aa('0x1a')]();};}function respondWithResult(_0x8cc882,_0x10b7f3){_0x10b7f3=_0x10b7f3||0xc8;return function(_0x2b283e){if(_0x2b283e){return _0x8cc882['status'](_0x10b7f3)[_0xf4aa('0x1b')](_0x2b283e);}};}function respondWithFilteredResult(_0x4e6794,_0x70776a){return function(_0x31309d){if(_0x31309d){var _0x426b56=typeof _0x70776a['offset']===_0xf4aa('0x1c')&&typeof _0x70776a[_0xf4aa('0x1d')]===_0xf4aa('0x1c');var _0x2f9120=_0x31309d['count'];var _0x22f289=_0x426b56?0x0:_0x70776a[_0xf4aa('0x1e')];var _0x552c63=_0x426b56?_0x31309d[_0xf4aa('0x1f')]:_0x70776a[_0xf4aa('0x1e')]+_0x70776a[_0xf4aa('0x1d')];var _0x37908f;if(_0x552c63>=_0x2f9120){_0x552c63=_0x2f9120;_0x37908f=0xc8;}else{_0x37908f=0xce;}_0x4e6794[_0xf4aa('0x19')](_0x37908f);return _0x4e6794[_0xf4aa('0x20')](_0xf4aa('0x21'),_0x22f289+'-'+_0x552c63+'/'+_0x2f9120)['json'](_0x31309d);}return null;};}function patchUpdates(_0x4604b9){return function(_0x41317c){try{jsonpatch[_0xf4aa('0x22')](_0x41317c,_0x4604b9,!![]);}catch(_0x482e24){return BPromise[_0xf4aa('0x23')](_0x482e24);}return _0x41317c[_0xf4aa('0x24')]();};}function saveUpdates(_0x18cd58,_0x1393af){return function(_0x338bb6){if(_0x338bb6){return _0x338bb6['update'](_0x18cd58)[_0xf4aa('0x25')](function(_0xcd71ee){return _0xcd71ee;});}return null;};}function removeEntity(_0x4f4616,_0x35ee5f){return function(_0x1cb850){if(_0x1cb850){return _0x1cb850['destroy']()['then'](function(){_0x4f4616[_0xf4aa('0x19')](0xcc)[_0xf4aa('0x1a')]();});}};}function handleEntityNotFound(_0x23b054,_0xcd97e4){return function(_0xc79c6c){if(!_0xc79c6c){_0x23b054[_0xf4aa('0x18')](0x194);}return _0xc79c6c;};}function handleError(_0x5051d4,_0x30cfd7){_0x30cfd7=_0x30cfd7||0x1f4;return function(_0x4db39d){logger[_0xf4aa('0x26')](_0x4db39d['stack']);if(_0x4db39d[_0xf4aa('0x27')]){delete _0x4db39d[_0xf4aa('0x27')];}_0x5051d4[_0xf4aa('0x19')](_0x30cfd7)['send'](_0x4db39d);};}exports['index']=function(_0x146b2a,_0xc8a66f){var _0x55a81e={},_0x2de3c6={},_0x579ccb={'count':0x0,'rows':[]};var _0xcb8a48=_[_0xf4aa('0x28')](db[_0xf4aa('0x29')][_0xf4aa('0x2a')],function(_0x45760a){return{'name':_0x45760a[_0xf4aa('0x2b')],'type':_0x45760a[_0xf4aa('0x2c')][_0xf4aa('0x2d')]};});_0x2de3c6[_0xf4aa('0x2e')]=_[_0xf4aa('0x28')](_0xcb8a48,_0xf4aa('0x27'));_0x2de3c6['query']=_['keys'](_0x146b2a[_0xf4aa('0x2f')]);_0x2de3c6[_0xf4aa('0x30')]=_[_0xf4aa('0x31')](_0x2de3c6[_0xf4aa('0x2e')],_0x2de3c6[_0xf4aa('0x2f')]);_0x55a81e[_0xf4aa('0x32')]=_[_0xf4aa('0x31')](_0x2de3c6[_0xf4aa('0x2e')],qs[_0xf4aa('0x33')](_0x146b2a[_0xf4aa('0x2f')]['fields']));_0x55a81e['attributes']=_0x55a81e[_0xf4aa('0x32')][_0xf4aa('0x34')]?_0x55a81e['attributes']:_0x2de3c6['model'];if(!_0x146b2a[_0xf4aa('0x2f')]['hasOwnProperty'](_0xf4aa('0x35'))){_0x55a81e['limit']=qs[_0xf4aa('0x1d')](_0x146b2a['query'][_0xf4aa('0x1d')]);_0x55a81e[_0xf4aa('0x1e')]=qs[_0xf4aa('0x1e')](_0x146b2a[_0xf4aa('0x2f')][_0xf4aa('0x1e')]);}_0x55a81e[_0xf4aa('0x36')]=qs['sort'](_0x146b2a[_0xf4aa('0x2f')][_0xf4aa('0x37')]);_0x55a81e[_0xf4aa('0x38')]=qs[_0xf4aa('0x30')](_['pick'](_0x146b2a['query'],_0x2de3c6['filters']),_0xcb8a48);if(_0x146b2a[_0xf4aa('0x2f')][_0xf4aa('0x39')]){_0x55a81e['where']=_[_0xf4aa('0x3a')](_0x55a81e[_0xf4aa('0x38')],{'$or':_[_0xf4aa('0x28')](_0xcb8a48,function(_0x47a087){if(_0x47a087['type']!==_0xf4aa('0x3b')){var _0x34e1da={};_0x34e1da[_0x47a087['name']]={'$like':'%'+_0x146b2a[_0xf4aa('0x2f')][_0xf4aa('0x39')]+'%'};return _0x34e1da;}})});}_0x55a81e=_[_0xf4aa('0x3a')]({},_0x55a81e,_0x146b2a['options']);var _0x153e7b={'where':_0x55a81e[_0xf4aa('0x38')]};return db[_0xf4aa('0x29')][_0xf4aa('0x1f')](_0x153e7b)[_0xf4aa('0x25')](function(_0x1f3014){_0x579ccb[_0xf4aa('0x1f')]=_0x1f3014;if(_0x146b2a['query'][_0xf4aa('0x3c')]){_0x55a81e[_0xf4aa('0x3d')]=[{'all':!![]}];}return db[_0xf4aa('0x29')]['findAll'](_0x55a81e);})[_0xf4aa('0x25')](function(_0x4f9bfa){_0x579ccb['rows']=_0x4f9bfa;return _0x579ccb;})[_0xf4aa('0x25')](respondWithFilteredResult(_0xc8a66f,_0x55a81e))[_0xf4aa('0x3e')](handleError(_0xc8a66f,null));};exports[_0xf4aa('0x3f')]=function(_0x3036e5,_0x5b40f7){var _0x15adc4={'raw':![],'where':{'id':_0x3036e5[_0xf4aa('0x40')]['id']}},_0x33d403={};_0x33d403[_0xf4aa('0x2e')]=_[_0xf4aa('0x41')](db[_0xf4aa('0x29')]['rawAttributes']);_0x33d403[_0xf4aa('0x2f')]=_[_0xf4aa('0x41')](_0x3036e5[_0xf4aa('0x2f')]);_0x33d403[_0xf4aa('0x30')]=_['intersection'](_0x33d403['model'],_0x33d403['query']);_0x15adc4[_0xf4aa('0x32')]=_['intersection'](_0x33d403[_0xf4aa('0x2e')],qs['fields'](_0x3036e5[_0xf4aa('0x2f')][_0xf4aa('0x33')]));_0x15adc4[_0xf4aa('0x32')]=_0x15adc4[_0xf4aa('0x32')][_0xf4aa('0x34')]?_0x15adc4[_0xf4aa('0x32')]:_0x33d403['model'];if(_0x3036e5[_0xf4aa('0x2f')][_0xf4aa('0x3c')]){_0x15adc4[_0xf4aa('0x3d')]=[{'all':!![]}];}_0x15adc4=_[_0xf4aa('0x3a')]({},_0x15adc4,_0x3036e5[_0xf4aa('0x42')]);return db[_0xf4aa('0x29')][_0xf4aa('0x43')](_0x15adc4)[_0xf4aa('0x25')](handleEntityNotFound(_0x5b40f7,null))[_0xf4aa('0x25')](respondWithResult(_0x5b40f7,null))['catch'](handleError(_0x5b40f7,null));};exports[_0xf4aa('0x44')]=function(_0x7c94cb,_0x81a6c3){return db['VtigerAccount'][_0xf4aa('0x44')](_0x7c94cb[_0xf4aa('0x45')],{})[_0xf4aa('0x25')](respondWithResult(_0x81a6c3,0xc9))[_0xf4aa('0x3e')](handleError(_0x81a6c3,null));};exports[_0xf4aa('0x46')]=function(_0x2ff67b,_0x2ef34f){if(_0x2ff67b[_0xf4aa('0x45')]['id']){delete _0x2ff67b['body']['id'];}return db[_0xf4aa('0x29')]['find']({'where':{'id':_0x2ff67b[_0xf4aa('0x40')]['id']}})[_0xf4aa('0x25')](handleEntityNotFound(_0x2ef34f,null))[_0xf4aa('0x25')](saveUpdates(_0x2ff67b[_0xf4aa('0x45')],null))[_0xf4aa('0x25')](respondWithResult(_0x2ef34f,null))[_0xf4aa('0x3e')](handleError(_0x2ef34f,null));};exports['destroy']=function(_0x238649,_0x16006c){return db[_0xf4aa('0x29')][_0xf4aa('0x43')]({'where':{'id':_0x238649[_0xf4aa('0x40')]['id']}})[_0xf4aa('0x25')](handleEntityNotFound(_0x16006c,null))['then'](removeEntity(_0x16006c,null))['catch'](handleError(_0x16006c,null));};exports['getConfigurations']=function(_0x37b6e6,_0x548437,_0x5932da){var _0x1dcd64={};var _0x492ecc={};var _0x1769b3;var _0x288475;return db[_0xf4aa('0x29')][_0xf4aa('0x47')]({'where':{'id':_0x37b6e6[_0xf4aa('0x40')]['id']}})[_0xf4aa('0x25')](handleEntityNotFound(_0x548437,null))[_0xf4aa('0x25')](function(_0x5ceb5d){if(_0x5ceb5d){_0x1769b3=_0x5ceb5d;_0x492ecc[_0xf4aa('0x2e')]=_[_0xf4aa('0x41')](db['VtigerConfiguration'][_0xf4aa('0x2a')]);_0x492ecc[_0xf4aa('0x2f')]=_[_0xf4aa('0x41')](_0x37b6e6[_0xf4aa('0x2f')]);_0x492ecc[_0xf4aa('0x30')]=_[_0xf4aa('0x31')](_0x492ecc['model'],_0x492ecc[_0xf4aa('0x2f')]);_0x1dcd64[_0xf4aa('0x32')]=_[_0xf4aa('0x31')](_0x492ecc[_0xf4aa('0x2e')],qs[_0xf4aa('0x33')](_0x37b6e6[_0xf4aa('0x2f')][_0xf4aa('0x33')]));_0x1dcd64[_0xf4aa('0x32')]=_0x1dcd64[_0xf4aa('0x32')][_0xf4aa('0x34')]?_0x1dcd64[_0xf4aa('0x32')]:_0x492ecc['model'];_0x1dcd64[_0xf4aa('0x36')]=qs[_0xf4aa('0x37')](_0x37b6e6['query'][_0xf4aa('0x37')]);_0x1dcd64[_0xf4aa('0x38')]=qs[_0xf4aa('0x30')](_[_0xf4aa('0x48')](_0x37b6e6[_0xf4aa('0x2f')],_0x492ecc[_0xf4aa('0x30')]));if(_0x37b6e6['query'][_0xf4aa('0x39')]){_0x1dcd64['where']=_[_0xf4aa('0x3a')](_0x1dcd64['where'],{'$or':_['map'](_0x1dcd64['attributes'],function(_0x337afe){var _0x4c754e={};_0x4c754e[_0x337afe]={'$like':'%'+_0x37b6e6[_0xf4aa('0x2f')][_0xf4aa('0x39')]+'%'};return _0x4c754e;})});}_0x1dcd64=_['merge']({},_0x1dcd64,_0x37b6e6['options']);return _0x1769b3[_0xf4aa('0x49')](_0x1dcd64);}})['then'](function(_0x118ffd){if(_0x118ffd){_0x288475=_0x118ffd[_0xf4aa('0x34')];if(!_0x37b6e6[_0xf4aa('0x2f')][_0xf4aa('0x4a')](_0xf4aa('0x35'))){_0x1dcd64[_0xf4aa('0x1d')]=qs['limit'](_0x37b6e6[_0xf4aa('0x2f')]['limit']);_0x1dcd64[_0xf4aa('0x1e')]=qs[_0xf4aa('0x1e')](_0x37b6e6[_0xf4aa('0x2f')][_0xf4aa('0x1e')]);}return _0x1769b3[_0xf4aa('0x49')](_0x1dcd64);}})[_0xf4aa('0x25')](function(_0x424bbb){if(_0x424bbb){return _0x424bbb?{'count':_0x288475,'rows':_0x424bbb}:null;}})[_0xf4aa('0x25')](respondWithResult(_0x548437,null))['catch'](handleError(_0x548437,null));};exports[_0xf4aa('0x4b')]=function(_0x1b0761,_0x2fd8a2,_0x1ee7f6){if(_0x1b0761[_0xf4aa('0x45')]['id']){delete _0x1b0761[_0xf4aa('0x45')]['id'];}return db[_0xf4aa('0x29')][_0xf4aa('0x47')]({'where':{'id':_0x1b0761[_0xf4aa('0x40')]['id']}})[_0xf4aa('0x25')](handleEntityNotFound(_0x2fd8a2,null))[_0xf4aa('0x25')](function(_0x456dbe){if(_0x456dbe){_0x1b0761[_0xf4aa('0x45')][_0xf4aa('0x4c')]=_0x456dbe['id'];_0x1b0761[_0xf4aa('0x45')][_0xf4aa('0x4d')]=integrations[_0xf4aa('0x4e')](_0x1b0761['body']['channel'],_0x1b0761['body'][_0xf4aa('0x2c')]);_0x1b0761[_0xf4aa('0x45')]['Descriptions']=integrations[_0xf4aa('0x4f')](_0x1b0761['body'][_0xf4aa('0x50')],_0x1b0761['body'][_0xf4aa('0x2c')]);return db[_0xf4aa('0x51')][_0xf4aa('0x44')](_0x1b0761['body'],{'include':[{'model':db[_0xf4aa('0x52')],'as':_0xf4aa('0x4d')},{'model':db['VtigerField'],'as':_0xf4aa('0x53')}]});}return null;})[_0xf4aa('0x25')](respondWithResult(_0x2fd8a2,null))[_0xf4aa('0x3e')](handleError(_0x2fd8a2,null));};var md5=require(_0xf4aa('0x54'));exports[_0xf4aa('0x55')]=function(_0x18f3e0,_0x13e623,_0x12d2aa){var _0x145e87=null;var _0x2c02bb=null;var _0xe1c170=null;var _0x1f1de2=null;var _0x23320c='';return db['VtigerAccount'][_0xf4aa('0x47')]({'where':{'id':_0x18f3e0[_0xf4aa('0x40')]['id']},'attributes':['id',_0xf4aa('0x27'),_0xf4aa('0x56'),_0xf4aa('0x57'),'moduleName',_0xf4aa('0x58'),_0xf4aa('0x59'),_0xf4aa('0x5a')]})[_0xf4aa('0x25')](handleEntityNotFound(_0x13e623,null))[_0xf4aa('0x25')](function(_0x1d5224){if(_0x1d5224){_0x145e87=_0x1d5224['username'];_0x2c02bb=_0x1d5224[_0xf4aa('0x5a')];_0xe1c170=_0x1d5224[_0xf4aa('0x5b')];_0x23320c=_0x1d5224[_0xf4aa('0x58')];var _0x18b1d6=_0x23320c['slice'](-0x1);if(_0x18b1d6==='/'){_0x23320c=_0x23320c[_0xf4aa('0x5c')](0x0,_0x23320c[_0xf4aa('0x5d')](_0x18b1d6));}_0x1f1de2=util[_0xf4aa('0x5e')](_0xf4aa('0x5f'),_0x23320c);var _0x18c404={'method':'GET','uri':_0x1f1de2,'qs':{'operation':_0xf4aa('0x60'),'username':_0x1d5224['username']},'json':!![]};return rp(_0x18c404);}})[_0xf4aa('0x25')](function(_0x426c5c){if(_0x426c5c['success']){var _0x396c8d={'method':_0xf4aa('0x61'),'uri':_0x1f1de2,'form':{'operation':_0xf4aa('0x62'),'username':_0x145e87,'accessKey':md5(_0x426c5c[_0xf4aa('0x63')][_0xf4aa('0x64')]+_0x2c02bb)},'json':!![]};return rp(_0x396c8d);}})[_0xf4aa('0x25')](function(_0x4c85e8){if(_0x4c85e8[_0xf4aa('0x65')]){var _0x3877c3={'method':_0xf4aa('0x66'),'uri':_0x1f1de2,'qs':{'operation':_0xf4aa('0x67'),'username':_0x145e87,'sessionName':_0x4c85e8['result'][_0xf4aa('0x68')],'elementType':_0xe1c170},'json':!![]};return rp(_0x3877c3);}})[_0xf4aa('0x25')](function(_0x43fdcb){if(_0x43fdcb[_0xf4aa('0x65')]){var _0x805d9a=['autogenerated',_0xf4aa('0x69'),_0xf4aa('0x6a')];_[_0xf4aa('0x6b')](_0x43fdcb['result']['fields'],function(_0x5b23b6){return _0x805d9a['includes'](_0x5b23b6[_0xf4aa('0x2c')]['name']);});_['remove'](_0x43fdcb[_0xf4aa('0x63')]['fields'],function(_0x2c23de){return _0x2c23de[_0xf4aa('0x6c')]===_0xf4aa('0x6d');});return{'count':_0x43fdcb[_0xf4aa('0x63')][_0xf4aa('0x33')][_0xf4aa('0x34')],'rows':_['map'](_0x43fdcb['result'][_0xf4aa('0x33')],function(_0x41ac9b){return{'id':_0x41ac9b[_0xf4aa('0x27')],'name':_0x41ac9b[_0xf4aa('0x6e')],'custom':_[_0xf4aa('0x6f')](_0x41ac9b[_0xf4aa('0x27')],_0xf4aa('0x70'))?!![]:![],'options':_0x41ac9b[_0xf4aa('0x2c')][_0xf4aa('0x27')]==='picklist'&&_0x41ac9b[_0xf4aa('0x2c')][_0xf4aa('0x71')][_0xf4aa('0x34')]>0x0?_['map'](_0x41ac9b['type']['picklistValues'],function(_0x4828ee){return{'name':_0x4828ee[_0xf4aa('0x6e')],'value':_0x4828ee[_0xf4aa('0x72')]};}):[]};})};}})[_0xf4aa('0x25')](respondWithResult(_0x13e623,null))[_0xf4aa('0x3e')](function(_0x49fd4c){console[_0xf4aa('0x73')](_0xf4aa('0x74')+_0x49fd4c);var _0x31af55=_0x18f3e0[_0xf4aa('0x2f')][_0xf4aa('0x75')]?0x1f4:_0x49fd4c[_0xf4aa('0x76')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0xf4aa('0x55'),_0x31af55,JSON[_0xf4aa('0x77')](_0x49fd4c));delete _0x49fd4c[_0xf4aa('0x27')];if(_0x31af55===0x191){_0x31af55=0x190;}_0x13e623[_0xf4aa('0x19')](_0x31af55)[_0xf4aa('0x78')](_0x18f3e0['query'][_0xf4aa('0x75')]?{'message':'Wrong\x20credentials','statusCode':_0x49fd4c[_0xf4aa('0x76')]}:_0x49fd4c);});};