Built motion from commit (unavailable).|2.5.26
[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 _0x40c7=['index','VtigerAccount','rawAttributes','type','key','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','show','find','create','body','update','params','getConfigurations','findOne','VtigerConfiguration','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','VtigerField','md5','getFields','username','description','remoteUri','serverUrl','accessKey','moduleName','slice','format','getchallenge','POST','login','result','token','success','GET','describe','sessionName','autogenerated','reference','owner','editable','startsWith','cf_','picklistValues','label','value','log','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','rimraf','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','../../components/integrations/configuration','client','http','request','then','VtigerAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','info','catch','status','end','json','count','offset','limit','set','apply','reject','save','destroy','sendStatus','name','send'];(function(_0x214bcd,_0x35084c){var _0xacbe24=function(_0xd8f05d){while(--_0xd8f05d){_0x214bcd['push'](_0x214bcd['shift']());}};_0xacbe24(++_0x35084c);}(_0x40c7,0xca));var _0x740c=function(_0x2124a6,_0x4b788c){_0x2124a6=_0x2124a6-0x0;var _0x23e704=_0x40c7[_0x2124a6];return _0x23e704;};'use strict';var pdf=require(_0x740c('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x740c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x740c('0x2'));var BPromise=require(_0x740c('0x3'));var Mustache=require('mustache');var util=require(_0x740c('0x4'));var path=require(_0x740c('0x5'));var sox=require(_0x740c('0x6'));var csv=require(_0x740c('0x7'));var ejs=require(_0x740c('0x8'));var fs=require('fs');var fs_extra=require(_0x740c('0x9'));var _=require(_0x740c('0xa'));var squel=require(_0x740c('0xb'));var crypto=require(_0x740c('0xc'));var jsforce=require(_0x740c('0xd'));var deskjs=require(_0x740c('0xe'));var toCsv=require(_0x740c('0x7'));var querystring=require(_0x740c('0xf'));var Papa=require(_0x740c('0x10'));var Redis=require('ioredis');var authService=require(_0x740c('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x740c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x740c('0x13'))(_0x740c('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x740c('0x15'));var db=require(_0x740c('0x16'))['db'];var integrations=require(_0x740c('0x17'));var jayson=require('jayson/promise');var client=jayson[_0x740c('0x18')][_0x740c('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x59a140,_0x4bdbf8,_0x232bdf,_0x5dc940){return new BPromise(function(_0x2533dc,_0x13b900){var _0x244185=_0x5dc940||client;return _0x244185[_0x740c('0x1a')](_0x59a140,_0x232bdf)[_0x740c('0x1b')](function(_0x3f24fe){logger['info'](_0x740c('0x1c'),_0x4bdbf8,_0x740c('0x1d'));logger[_0x740c('0x1e')]('VtigerAccount,\x20%s,\x20%s,\x20%s',_0x4bdbf8,_0x740c('0x1d'),JSON[_0x740c('0x1f')](_0x3f24fe));if(_0x3f24fe[_0x740c('0x20')]){if(_0x3f24fe['error']['code']===0x1f4){logger[_0x740c('0x20')]('VtigerAccount,\x20%s,\x20%s',_0x4bdbf8,_0x3f24fe[_0x740c('0x20')][_0x740c('0x21')]);return _0x13b900(_0x3f24fe[_0x740c('0x20')][_0x740c('0x21')]);}logger[_0x740c('0x20')]('VtigerAccount,\x20%s,\x20%s',_0x4bdbf8,_0x3f24fe[_0x740c('0x20')][_0x740c('0x21')]);return _0x2533dc(_0x3f24fe['error'][_0x740c('0x21')]);}else{logger[_0x740c('0x22')]('VtigerAccount,\x20%s,\x20%s',_0x4bdbf8,_0x740c('0x1d'));_0x2533dc(_0x3f24fe['result'][_0x740c('0x21')]);}})[_0x740c('0x23')](function(_0x5c28d4){logger['error'](_0x740c('0x1c'),_0x4bdbf8,_0x5c28d4);_0x13b900(_0x5c28d4);});});}function respondWithStatusCode(_0x55a015,_0x33c999){_0x33c999=_0x33c999||0xcc;return function(_0x27c661){if(_0x27c661){return _0x55a015['sendStatus'](_0x33c999);}return _0x55a015[_0x740c('0x24')](_0x33c999)[_0x740c('0x25')]();};}function respondWithResult(_0x5224a6,_0x8df147){_0x8df147=_0x8df147||0xc8;return function(_0x8b2908){if(_0x8b2908){return _0x5224a6[_0x740c('0x24')](_0x8df147)[_0x740c('0x26')](_0x8b2908);}};}function respondWithFilteredResult(_0x23822b,_0x2af7cc){return function(_0xb408aa){if(_0xb408aa){var _0x483855=_0xb408aa[_0x740c('0x27')],_0x16f4de=_0x2af7cc[_0x740c('0x28')],_0x1d39a3=_0x2af7cc[_0x740c('0x28')]+_0x2af7cc[_0x740c('0x29')],_0x146e0f;if(_0x1d39a3>=_0x483855){_0x1d39a3=_0x483855;_0x146e0f=0xc8;}else{_0x146e0f=0xce;}_0x23822b[_0x740c('0x24')](_0x146e0f);return _0x23822b[_0x740c('0x2a')]('Content-Range',_0x16f4de+'-'+_0x1d39a3+'/'+_0x483855)[_0x740c('0x26')](_0xb408aa);}return null;};}function patchUpdates(_0x13585a){return function(_0x530024){try{jsonpatch[_0x740c('0x2b')](_0x530024,_0x13585a,!![]);}catch(_0x395c81){return BPromise[_0x740c('0x2c')](_0x395c81);}return _0x530024[_0x740c('0x2d')]();};}function saveUpdates(_0x89e4ab,_0x1d4c7c){return function(_0x2567cc){if(_0x2567cc){return _0x2567cc['update'](_0x89e4ab)['then'](function(_0x51c97b){return _0x51c97b;});}return null;};}function removeEntity(_0x544685,_0x40a3f5){return function(_0x386524){if(_0x386524){return _0x386524[_0x740c('0x2e')]()[_0x740c('0x1b')](function(){_0x544685[_0x740c('0x24')](0xcc)[_0x740c('0x25')]();});}};}function handleEntityNotFound(_0x3446ac,_0x580b00){return function(_0x31d599){if(!_0x31d599){_0x3446ac[_0x740c('0x2f')](0x194);}return _0x31d599;};}function handleError(_0x11ee7c,_0x12607c){_0x12607c=_0x12607c||0x1f4;return function(_0xc2cfc9){logger[_0x740c('0x20')](_0xc2cfc9['stack']);if(_0xc2cfc9[_0x740c('0x30')]){delete _0xc2cfc9[_0x740c('0x30')];}_0x11ee7c['status'](_0x12607c)[_0x740c('0x31')](_0xc2cfc9);};}exports[_0x740c('0x32')]=function(_0x970159,_0x44e195){var _0x2bda28={},_0x21f480={},_0x359cb7={'count':0x0,'rows':[]};var _0x787446=_['map'](db[_0x740c('0x33')][_0x740c('0x34')],function(_0x333c94){return{'name':_0x333c94['fieldName'],'type':_0x333c94[_0x740c('0x35')][_0x740c('0x36')]};});_0x21f480[_0x740c('0x37')]=_[_0x740c('0x38')](_0x787446,'name');_0x21f480['query']=_[_0x740c('0x39')](_0x970159[_0x740c('0x3a')]);_0x21f480[_0x740c('0x3b')]=_[_0x740c('0x3c')](_0x21f480['model'],_0x21f480['query']);_0x2bda28[_0x740c('0x3d')]=_[_0x740c('0x3c')](_0x21f480[_0x740c('0x37')],qs[_0x740c('0x3e')](_0x970159[_0x740c('0x3a')][_0x740c('0x3e')]));_0x2bda28[_0x740c('0x3d')]=_0x2bda28[_0x740c('0x3d')][_0x740c('0x3f')]?_0x2bda28['attributes']:_0x21f480[_0x740c('0x37')];if(!_0x970159[_0x740c('0x3a')][_0x740c('0x40')]('nolimit')){_0x2bda28[_0x740c('0x29')]=qs[_0x740c('0x29')](_0x970159[_0x740c('0x3a')][_0x740c('0x29')]);_0x2bda28[_0x740c('0x28')]=qs[_0x740c('0x28')](_0x970159[_0x740c('0x3a')][_0x740c('0x28')]);}_0x2bda28['order']=qs[_0x740c('0x41')](_0x970159[_0x740c('0x3a')][_0x740c('0x41')]);_0x2bda28[_0x740c('0x42')]=qs[_0x740c('0x3b')](_[_0x740c('0x43')](_0x970159[_0x740c('0x3a')],_0x21f480[_0x740c('0x3b')]),_0x787446);if(_0x970159[_0x740c('0x3a')][_0x740c('0x44')]){_0x2bda28[_0x740c('0x42')]=_[_0x740c('0x45')](_0x2bda28['where'],{'$or':_[_0x740c('0x38')](_0x787446,function(_0x17ea17){if(_0x17ea17[_0x740c('0x35')]!==_0x740c('0x46')){var _0x6dee2b={};_0x6dee2b[_0x17ea17['name']]={'$like':'%'+_0x970159[_0x740c('0x3a')][_0x740c('0x44')]+'%'};return _0x6dee2b;}})});}_0x2bda28=_[_0x740c('0x45')]({},_0x2bda28,_0x970159[_0x740c('0x47')]);var _0x4896ea={'where':_0x2bda28['where']};return db[_0x740c('0x33')][_0x740c('0x27')](_0x4896ea)[_0x740c('0x1b')](function(_0x416548){_0x359cb7[_0x740c('0x27')]=_0x416548;if(_0x970159['query'][_0x740c('0x48')]){_0x2bda28[_0x740c('0x49')]=[{'all':!![]}];}return db['VtigerAccount']['findAll'](_0x2bda28);})['then'](function(_0x5e2f75){_0x359cb7[_0x740c('0x4a')]=_0x5e2f75;return _0x359cb7;})[_0x740c('0x1b')](respondWithFilteredResult(_0x44e195,_0x2bda28))[_0x740c('0x23')](handleError(_0x44e195,null));};exports[_0x740c('0x4b')]=function(_0x306602,_0x65946b){var _0x20e474={'raw':![],'where':{'id':_0x306602['params']['id']}},_0x1a299a={};_0x1a299a[_0x740c('0x37')]=_[_0x740c('0x39')](db[_0x740c('0x33')][_0x740c('0x34')]);_0x1a299a[_0x740c('0x3a')]=_[_0x740c('0x39')](_0x306602[_0x740c('0x3a')]);_0x1a299a[_0x740c('0x3b')]=_[_0x740c('0x3c')](_0x1a299a[_0x740c('0x37')],_0x1a299a[_0x740c('0x3a')]);_0x20e474['attributes']=_['intersection'](_0x1a299a[_0x740c('0x37')],qs[_0x740c('0x3e')](_0x306602[_0x740c('0x3a')][_0x740c('0x3e')]));_0x20e474[_0x740c('0x3d')]=_0x20e474[_0x740c('0x3d')][_0x740c('0x3f')]?_0x20e474[_0x740c('0x3d')]:_0x1a299a[_0x740c('0x37')];if(_0x306602[_0x740c('0x3a')][_0x740c('0x48')]){_0x20e474[_0x740c('0x49')]=[{'all':!![]}];}_0x20e474=_['merge']({},_0x20e474,_0x306602['options']);return db[_0x740c('0x33')][_0x740c('0x4c')](_0x20e474)['then'](handleEntityNotFound(_0x65946b,null))[_0x740c('0x1b')](respondWithResult(_0x65946b,null))[_0x740c('0x23')](handleError(_0x65946b,null));};exports[_0x740c('0x4d')]=function(_0x56aefb,_0x2a8e60){return db['VtigerAccount'][_0x740c('0x4d')](_0x56aefb[_0x740c('0x4e')],{})[_0x740c('0x1b')](respondWithResult(_0x2a8e60,0xc9))[_0x740c('0x23')](handleError(_0x2a8e60,null));};exports[_0x740c('0x4f')]=function(_0x1123db,_0x744301){if(_0x1123db['body']['id']){delete _0x1123db['body']['id'];}return db['VtigerAccount'][_0x740c('0x4c')]({'where':{'id':_0x1123db[_0x740c('0x50')]['id']}})[_0x740c('0x1b')](handleEntityNotFound(_0x744301,null))[_0x740c('0x1b')](saveUpdates(_0x1123db[_0x740c('0x4e')],null))['then'](respondWithResult(_0x744301,null))[_0x740c('0x23')](handleError(_0x744301,null));};exports[_0x740c('0x2e')]=function(_0x111328,_0x3df5d0){return db[_0x740c('0x33')][_0x740c('0x4c')]({'where':{'id':_0x111328['params']['id']}})['then'](handleEntityNotFound(_0x3df5d0,null))[_0x740c('0x1b')](removeEntity(_0x3df5d0,null))['catch'](handleError(_0x3df5d0,null));};exports[_0x740c('0x51')]=function(_0xd24f6d,_0x130ca8,_0xbf853){var _0x4fe3ba={};var _0x5e5777={};var _0x102592;var _0x4d63d9;return db[_0x740c('0x33')][_0x740c('0x52')]({'where':{'id':_0xd24f6d['params']['id']}})[_0x740c('0x1b')](handleEntityNotFound(_0x130ca8,null))[_0x740c('0x1b')](function(_0x32f227){if(_0x32f227){_0x102592=_0x32f227;_0x5e5777['model']=_[_0x740c('0x39')](db[_0x740c('0x53')][_0x740c('0x34')]);_0x5e5777['query']=_[_0x740c('0x39')](_0xd24f6d[_0x740c('0x3a')]);_0x5e5777[_0x740c('0x3b')]=_[_0x740c('0x3c')](_0x5e5777[_0x740c('0x37')],_0x5e5777['query']);_0x4fe3ba[_0x740c('0x3d')]=_['intersection'](_0x5e5777[_0x740c('0x37')],qs[_0x740c('0x3e')](_0xd24f6d[_0x740c('0x3a')][_0x740c('0x3e')]));_0x4fe3ba[_0x740c('0x3d')]=_0x4fe3ba[_0x740c('0x3d')][_0x740c('0x3f')]?_0x4fe3ba[_0x740c('0x3d')]:_0x5e5777[_0x740c('0x37')];_0x4fe3ba['order']=qs[_0x740c('0x41')](_0xd24f6d[_0x740c('0x3a')][_0x740c('0x41')]);_0x4fe3ba[_0x740c('0x42')]=qs[_0x740c('0x3b')](_[_0x740c('0x43')](_0xd24f6d[_0x740c('0x3a')],_0x5e5777[_0x740c('0x3b')]));if(_0xd24f6d[_0x740c('0x3a')][_0x740c('0x44')]){_0x4fe3ba[_0x740c('0x42')]=_[_0x740c('0x45')](_0x4fe3ba[_0x740c('0x42')],{'$or':_[_0x740c('0x38')](_0x4fe3ba[_0x740c('0x3d')],function(_0xb33766){var _0x15c3c6={};_0x15c3c6[_0xb33766]={'$like':'%'+_0xd24f6d[_0x740c('0x3a')][_0x740c('0x44')]+'%'};return _0x15c3c6;})});}_0x4fe3ba=_[_0x740c('0x45')]({},_0x4fe3ba,_0xd24f6d['options']);return _0x102592[_0x740c('0x51')](_0x4fe3ba);}})[_0x740c('0x1b')](function(_0x552da4){if(_0x552da4){_0x4d63d9=_0x552da4[_0x740c('0x3f')];if(!_0xd24f6d[_0x740c('0x3a')][_0x740c('0x40')]('nolimit')){_0x4fe3ba[_0x740c('0x29')]=qs[_0x740c('0x29')](_0xd24f6d[_0x740c('0x3a')]['limit']);_0x4fe3ba[_0x740c('0x28')]=qs[_0x740c('0x28')](_0xd24f6d[_0x740c('0x3a')][_0x740c('0x28')]);}return _0x102592[_0x740c('0x51')](_0x4fe3ba);}})[_0x740c('0x1b')](function(_0x50cee5){if(_0x50cee5){return _0x50cee5?{'count':_0x4d63d9,'rows':_0x50cee5}:null;}})[_0x740c('0x1b')](respondWithResult(_0x130ca8,null))['catch'](handleError(_0x130ca8,null));};exports[_0x740c('0x54')]=function(_0x469ef0,_0x27aedd,_0x5dd1b3){if(_0x469ef0[_0x740c('0x4e')]['id']){delete _0x469ef0[_0x740c('0x4e')]['id'];}return db[_0x740c('0x33')]['findOne']({'where':{'id':_0x469ef0[_0x740c('0x50')]['id']}})['then'](handleEntityNotFound(_0x27aedd,null))['then'](function(_0x2e27f6){if(_0x2e27f6){_0x469ef0[_0x740c('0x4e')][_0x740c('0x55')]=_0x2e27f6['id'];_0x469ef0['body'][_0x740c('0x56')]=integrations[_0x740c('0x57')](_0x469ef0[_0x740c('0x4e')][_0x740c('0x58')],_0x469ef0[_0x740c('0x4e')][_0x740c('0x35')]);_0x469ef0[_0x740c('0x4e')][_0x740c('0x59')]=integrations[_0x740c('0x5a')](_0x469ef0[_0x740c('0x4e')][_0x740c('0x58')],_0x469ef0[_0x740c('0x4e')][_0x740c('0x35')]);return db[_0x740c('0x53')][_0x740c('0x4d')](_0x469ef0[_0x740c('0x4e')],{'include':[{'model':db[_0x740c('0x5b')],'as':'Subjects'},{'model':db[_0x740c('0x5b')],'as':'Descriptions'}]});}return null;})[_0x740c('0x1b')](respondWithResult(_0x27aedd,null))[_0x740c('0x23')](handleError(_0x27aedd,null));};var md5=require(_0x740c('0x5c'));exports[_0x740c('0x5d')]=function(_0x47de1b,_0x273ca0,_0x400817){var _0x35f26f=null;var _0x279290=null;var _0x260fb7=null;var _0x4c5bde=null;var _0x3a10b7='';return db[_0x740c('0x33')][_0x740c('0x52')]({'where':{'id':_0x47de1b['params']['id']},'attributes':['id',_0x740c('0x30'),_0x740c('0x5e'),_0x740c('0x5f'),'moduleName',_0x740c('0x60'),_0x740c('0x61'),_0x740c('0x62')]})[_0x740c('0x1b')](handleEntityNotFound(_0x273ca0,null))[_0x740c('0x1b')](function(_0x3ca3e0){if(_0x3ca3e0){_0x35f26f=_0x3ca3e0['username'];_0x279290=_0x3ca3e0['accessKey'];_0x260fb7=_0x3ca3e0[_0x740c('0x63')];_0x3a10b7=_0x3ca3e0['remoteUri'];var _0x357157=_0x3a10b7[_0x740c('0x64')](-0x1);if(_0x357157==='/'){_0x3a10b7=_0x3a10b7['substring'](0x0,_0x3a10b7['lastIndexOf'](_0x357157));}_0x4c5bde=util[_0x740c('0x65')]('%s/webservice.php',_0x3a10b7);var _0x19b398={'method':'GET','uri':_0x4c5bde,'qs':{'operation':_0x740c('0x66'),'username':_0x3ca3e0[_0x740c('0x5e')]},'json':!![]};return rp(_0x19b398);}})[_0x740c('0x1b')](function(_0x46ab1c){if(_0x46ab1c['success']){var _0xf8a96b={'method':_0x740c('0x67'),'uri':_0x4c5bde,'form':{'operation':_0x740c('0x68'),'username':_0x35f26f,'accessKey':md5(_0x46ab1c[_0x740c('0x69')][_0x740c('0x6a')]+_0x279290)},'json':!![]};return rp(_0xf8a96b);}})[_0x740c('0x1b')](function(_0x1f1a47){if(_0x1f1a47[_0x740c('0x6b')]){var _0x384e29={'method':_0x740c('0x6c'),'uri':_0x4c5bde,'qs':{'operation':_0x740c('0x6d'),'username':_0x35f26f,'sessionName':_0x1f1a47['result'][_0x740c('0x6e')],'elementType':_0x260fb7},'json':!![]};return rp(_0x384e29);}})[_0x740c('0x1b')](function(_0x5b8927){if(_0x5b8927[_0x740c('0x6b')]){var _0x3c1416=[_0x740c('0x6f'),_0x740c('0x70'),_0x740c('0x71')];_['remove'](_0x5b8927['result']['fields'],function(_0x4640c7){return _0x3c1416['includes'](_0x4640c7[_0x740c('0x35')][_0x740c('0x30')]);});_['remove'](_0x5b8927['result'][_0x740c('0x3e')],function(_0x100172){return _0x100172[_0x740c('0x72')]==='false';});return{'count':_0x5b8927[_0x740c('0x69')]['fields'][_0x740c('0x3f')],'rows':_[_0x740c('0x38')](_0x5b8927['result'][_0x740c('0x3e')],function(_0xdf16f3){return{'id':_0xdf16f3['name'],'name':_0xdf16f3['label'],'custom':_[_0x740c('0x73')](_0xdf16f3[_0x740c('0x30')],_0x740c('0x74'))?!![]:![],'options':_0xdf16f3[_0x740c('0x35')][_0x740c('0x30')]==='picklist'&&_0xdf16f3[_0x740c('0x35')][_0x740c('0x75')]['length']>0x0?_['map'](_0xdf16f3[_0x740c('0x35')][_0x740c('0x75')],function(_0x1d2079){return{'name':_0x1d2079[_0x740c('0x76')],'value':_0x1d2079[_0x740c('0x77')]};}):[]};})};}})['then'](respondWithResult(_0x273ca0,null))[_0x740c('0x23')](function(_0x41bb9f){console[_0x740c('0x78')](_0x740c('0x79')+_0x41bb9f);var _0x424c98=_0x47de1b['query'][_0x740c('0x7a')]?0x1f4:_0x41bb9f[_0x740c('0x7b')]||0x1f4;logger[_0x740c('0x20')](_0x740c('0x7c'),_0x740c('0x5d'),_0x424c98,JSON[_0x740c('0x1f')](_0x41bb9f));delete _0x41bb9f[_0x740c('0x30')];if(_0x424c98===0x191){_0x424c98=0x190;}_0x273ca0['status'](_0x424c98)[_0x740c('0x31')](_0x47de1b[_0x740c('0x3a')][_0x740c('0x7a')]?{'message':_0x740c('0x7d'),'statusCode':_0x41bb9f[_0x740c('0x7b')]}:_0x41bb9f);});};