Built motion from commit 9d0783e6.|2.6.13
[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 _0xbc63=['send','test','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','set','Content-Range','reject','save','update','then','destroy','sendStatus','error','stack','name','VtigerAccount','rawAttributes','fieldName','type','key','model','map','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','includeAll','include','findAll','rows','catch','keys','options','find','create','body','params','findOne','VtigerConfiguration','getConfigurations','Subjects','channel','Descriptions','getDescriptions','VtigerField','getFields','description','moduleName','remoteUri','serverUrl','accessKey','username','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','result','token','autogenerated','reference','owner','editable','false','label','startsWith','cf_','picklist','picklistValues','value','log','vTiger\x20error:\x20','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify'];(function(_0x32aa9e,_0x21dd46){var _0x403275=function(_0x36a9e6){while(--_0x36a9e6){_0x32aa9e['push'](_0x32aa9e['shift']());}};_0x403275(++_0x21dd46);}(_0xbc63,0x7c));var _0x3bc6=function(_0x94cc07,_0x110609){_0x94cc07=_0x94cc07-0x0;var _0x56c7ac=_0xbc63[_0x94cc07];return _0x56c7ac;};'use strict';var emlformat=require(_0x3bc6('0x0'));var rimraf=require(_0x3bc6('0x1'));var zipdir=require(_0x3bc6('0x2'));var jsonpatch=require(_0x3bc6('0x3'));var rp=require(_0x3bc6('0x4'));var moment=require(_0x3bc6('0x5'));var BPromise=require(_0x3bc6('0x6'));var Mustache=require(_0x3bc6('0x7'));var util=require(_0x3bc6('0x8'));var path=require(_0x3bc6('0x9'));var sox=require(_0x3bc6('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3bc6('0xb'));var _=require('lodash');var squel=require(_0x3bc6('0xc'));var crypto=require(_0x3bc6('0xd'));var jsforce=require(_0x3bc6('0xe'));var deskjs=require(_0x3bc6('0xf'));var toCsv=require(_0x3bc6('0x10'));var querystring=require('querystring');var Papa=require(_0x3bc6('0x11'));var Redis=require(_0x3bc6('0x12'));var authService=require(_0x3bc6('0x13'));var qs=require(_0x3bc6('0x14'));var as=require(_0x3bc6('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3bc6('0x16'))(_0x3bc6('0x17'));var utils=require(_0x3bc6('0x18'));var config=require(_0x3bc6('0x19'));var licenseUtil=require(_0x3bc6('0x1a'));var db=require(_0x3bc6('0x1b'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x54f7fd,_0x19a246){_0x19a246=_0x19a246||0xcc;return function(_0x50a985){if(_0x50a985){return _0x54f7fd['sendStatus'](_0x19a246);}return _0x54f7fd[_0x3bc6('0x1c')](_0x19a246)[_0x3bc6('0x1d')]();};}function respondWithResult(_0x3dc4e1,_0x504c8e){_0x504c8e=_0x504c8e||0xc8;return function(_0x5572f5){if(_0x5572f5){return _0x3dc4e1[_0x3bc6('0x1c')](_0x504c8e)[_0x3bc6('0x1e')](_0x5572f5);}};}function respondWithFilteredResult(_0x4369b0,_0x15a44e){return function(_0x2b8d42){if(_0x2b8d42){var _0x5d9d21=typeof _0x15a44e[_0x3bc6('0x1f')]===_0x3bc6('0x20')&&typeof _0x15a44e['limit']==='undefined';var _0x183fac=_0x2b8d42[_0x3bc6('0x21')];var _0x4e30fd=_0x5d9d21?0x0:_0x15a44e[_0x3bc6('0x1f')];var _0x125fe1=_0x5d9d21?_0x2b8d42[_0x3bc6('0x21')]:_0x15a44e[_0x3bc6('0x1f')]+_0x15a44e['limit'];var _0x3b966b;if(_0x125fe1>=_0x183fac){_0x125fe1=_0x183fac;_0x3b966b=0xc8;}else{_0x3b966b=0xce;}_0x4369b0[_0x3bc6('0x1c')](_0x3b966b);return _0x4369b0[_0x3bc6('0x22')](_0x3bc6('0x23'),_0x4e30fd+'-'+_0x125fe1+'/'+_0x183fac)[_0x3bc6('0x1e')](_0x2b8d42);}return null;};}function patchUpdates(_0x2ef6c1){return function(_0x37fd01){try{jsonpatch['apply'](_0x37fd01,_0x2ef6c1,!![]);}catch(_0x303e91){return BPromise[_0x3bc6('0x24')](_0x303e91);}return _0x37fd01[_0x3bc6('0x25')]();};}function saveUpdates(_0x4ad6d2,_0x465340){return function(_0x4f281d){if(_0x4f281d){return _0x4f281d[_0x3bc6('0x26')](_0x4ad6d2)[_0x3bc6('0x27')](function(_0x44009e){return _0x44009e;});}return null;};}function removeEntity(_0x166089,_0x9d3c64){return function(_0x5eaa24){if(_0x5eaa24){return _0x5eaa24[_0x3bc6('0x28')]()[_0x3bc6('0x27')](function(){_0x166089[_0x3bc6('0x1c')](0xcc)[_0x3bc6('0x1d')]();});}};}function handleEntityNotFound(_0x1f5fd0,_0x3a61d6){return function(_0x37b254){if(!_0x37b254){_0x1f5fd0[_0x3bc6('0x29')](0x194);}return _0x37b254;};}function handleError(_0x4b1061,_0x28df0a){_0x28df0a=_0x28df0a||0x1f4;return function(_0x245177){logger[_0x3bc6('0x2a')](_0x245177[_0x3bc6('0x2b')]);if(_0x245177[_0x3bc6('0x2c')]){delete _0x245177[_0x3bc6('0x2c')];}_0x4b1061[_0x3bc6('0x1c')](_0x28df0a)['send'](_0x245177);};}exports['index']=function(_0x5b9b40,_0x27876a){var _0x1760c6={},_0x55080b={},_0x382a56={'count':0x0,'rows':[]};var _0x4d08ea=_['map'](db[_0x3bc6('0x2d')][_0x3bc6('0x2e')],function(_0x1583a3){return{'name':_0x1583a3[_0x3bc6('0x2f')],'type':_0x1583a3[_0x3bc6('0x30')][_0x3bc6('0x31')]};});_0x55080b[_0x3bc6('0x32')]=_[_0x3bc6('0x33')](_0x4d08ea,'name');_0x55080b['query']=_['keys'](_0x5b9b40['query']);_0x55080b[_0x3bc6('0x34')]=_[_0x3bc6('0x35')](_0x55080b['model'],_0x55080b[_0x3bc6('0x36')]);_0x1760c6[_0x3bc6('0x37')]=_[_0x3bc6('0x35')](_0x55080b[_0x3bc6('0x32')],qs[_0x3bc6('0x38')](_0x5b9b40[_0x3bc6('0x36')]['fields']));_0x1760c6['attributes']=_0x1760c6[_0x3bc6('0x37')][_0x3bc6('0x39')]?_0x1760c6['attributes']:_0x55080b[_0x3bc6('0x32')];if(!_0x5b9b40[_0x3bc6('0x36')][_0x3bc6('0x3a')](_0x3bc6('0x3b'))){_0x1760c6[_0x3bc6('0x3c')]=qs[_0x3bc6('0x3c')](_0x5b9b40['query'][_0x3bc6('0x3c')]);_0x1760c6[_0x3bc6('0x1f')]=qs['offset'](_0x5b9b40[_0x3bc6('0x36')][_0x3bc6('0x1f')]);}_0x1760c6[_0x3bc6('0x3d')]=qs['sort'](_0x5b9b40['query'][_0x3bc6('0x3e')]);_0x1760c6['where']=qs[_0x3bc6('0x34')](_[_0x3bc6('0x3f')](_0x5b9b40['query'],_0x55080b['filters']),_0x4d08ea);if(_0x5b9b40[_0x3bc6('0x36')][_0x3bc6('0x40')]){_0x1760c6[_0x3bc6('0x41')]=_[_0x3bc6('0x42')](_0x1760c6[_0x3bc6('0x41')],{'$or':_[_0x3bc6('0x33')](_0x4d08ea,function(_0x159b2b){if(_0x159b2b[_0x3bc6('0x30')]!=='VIRTUAL'){var _0x37ae63={};_0x37ae63[_0x159b2b[_0x3bc6('0x2c')]]={'$like':'%'+_0x5b9b40[_0x3bc6('0x36')][_0x3bc6('0x40')]+'%'};return _0x37ae63;}})});}_0x1760c6=_[_0x3bc6('0x42')]({},_0x1760c6,_0x5b9b40['options']);var _0x5c8162={'where':_0x1760c6[_0x3bc6('0x41')]};return db[_0x3bc6('0x2d')]['count'](_0x5c8162)['then'](function(_0x1bb94b){_0x382a56[_0x3bc6('0x21')]=_0x1bb94b;if(_0x5b9b40[_0x3bc6('0x36')][_0x3bc6('0x43')]){_0x1760c6[_0x3bc6('0x44')]=[{'all':!![]}];}return db['VtigerAccount'][_0x3bc6('0x45')](_0x1760c6);})[_0x3bc6('0x27')](function(_0x1b0c31){_0x382a56[_0x3bc6('0x46')]=_0x1b0c31;return _0x382a56;})[_0x3bc6('0x27')](respondWithFilteredResult(_0x27876a,_0x1760c6))[_0x3bc6('0x47')](handleError(_0x27876a,null));};exports['show']=function(_0x4698ec,_0x185fb4){var _0xefd04a={'raw':![],'where':{'id':_0x4698ec['params']['id']}},_0xb39cc0={};_0xb39cc0['model']=_[_0x3bc6('0x48')](db[_0x3bc6('0x2d')]['rawAttributes']);_0xb39cc0['query']=_['keys'](_0x4698ec[_0x3bc6('0x36')]);_0xb39cc0[_0x3bc6('0x34')]=_[_0x3bc6('0x35')](_0xb39cc0[_0x3bc6('0x32')],_0xb39cc0[_0x3bc6('0x36')]);_0xefd04a[_0x3bc6('0x37')]=_['intersection'](_0xb39cc0[_0x3bc6('0x32')],qs[_0x3bc6('0x38')](_0x4698ec[_0x3bc6('0x36')][_0x3bc6('0x38')]));_0xefd04a[_0x3bc6('0x37')]=_0xefd04a[_0x3bc6('0x37')][_0x3bc6('0x39')]?_0xefd04a[_0x3bc6('0x37')]:_0xb39cc0[_0x3bc6('0x32')];if(_0x4698ec[_0x3bc6('0x36')][_0x3bc6('0x43')]){_0xefd04a[_0x3bc6('0x44')]=[{'all':!![]}];}_0xefd04a=_[_0x3bc6('0x42')]({},_0xefd04a,_0x4698ec[_0x3bc6('0x49')]);return db['VtigerAccount'][_0x3bc6('0x4a')](_0xefd04a)['then'](handleEntityNotFound(_0x185fb4,null))['then'](respondWithResult(_0x185fb4,null))[_0x3bc6('0x47')](handleError(_0x185fb4,null));};exports[_0x3bc6('0x4b')]=function(_0x323656,_0x18728a){return db[_0x3bc6('0x2d')][_0x3bc6('0x4b')](_0x323656[_0x3bc6('0x4c')],{})[_0x3bc6('0x27')](respondWithResult(_0x18728a,0xc9))[_0x3bc6('0x47')](handleError(_0x18728a,null));};exports[_0x3bc6('0x26')]=function(_0x5e7019,_0x1a0659){if(_0x5e7019['body']['id']){delete _0x5e7019['body']['id'];}return db[_0x3bc6('0x2d')]['find']({'where':{'id':_0x5e7019[_0x3bc6('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1a0659,null))['then'](saveUpdates(_0x5e7019[_0x3bc6('0x4c')],null))[_0x3bc6('0x27')](respondWithResult(_0x1a0659,null))[_0x3bc6('0x47')](handleError(_0x1a0659,null));};exports['destroy']=function(_0x32099a,_0x496b2b){return db[_0x3bc6('0x2d')][_0x3bc6('0x4a')]({'where':{'id':_0x32099a['params']['id']}})['then'](handleEntityNotFound(_0x496b2b,null))[_0x3bc6('0x27')](removeEntity(_0x496b2b,null))[_0x3bc6('0x47')](handleError(_0x496b2b,null));};exports['getConfigurations']=function(_0x943a08,_0x32e766,_0x1d3d6b){var _0x482579={};var _0x386e7b={};var _0x2d0f8f;var _0x274a40;return db[_0x3bc6('0x2d')][_0x3bc6('0x4e')]({'where':{'id':_0x943a08['params']['id']}})[_0x3bc6('0x27')](handleEntityNotFound(_0x32e766,null))[_0x3bc6('0x27')](function(_0x263c7b){if(_0x263c7b){_0x2d0f8f=_0x263c7b;_0x386e7b['model']=_['keys'](db[_0x3bc6('0x4f')][_0x3bc6('0x2e')]);_0x386e7b[_0x3bc6('0x36')]=_[_0x3bc6('0x48')](_0x943a08[_0x3bc6('0x36')]);_0x386e7b[_0x3bc6('0x34')]=_[_0x3bc6('0x35')](_0x386e7b[_0x3bc6('0x32')],_0x386e7b[_0x3bc6('0x36')]);_0x482579[_0x3bc6('0x37')]=_[_0x3bc6('0x35')](_0x386e7b[_0x3bc6('0x32')],qs[_0x3bc6('0x38')](_0x943a08[_0x3bc6('0x36')][_0x3bc6('0x38')]));_0x482579[_0x3bc6('0x37')]=_0x482579[_0x3bc6('0x37')][_0x3bc6('0x39')]?_0x482579[_0x3bc6('0x37')]:_0x386e7b[_0x3bc6('0x32')];_0x482579[_0x3bc6('0x3d')]=qs[_0x3bc6('0x3e')](_0x943a08[_0x3bc6('0x36')][_0x3bc6('0x3e')]);_0x482579[_0x3bc6('0x41')]=qs[_0x3bc6('0x34')](_[_0x3bc6('0x3f')](_0x943a08[_0x3bc6('0x36')],_0x386e7b[_0x3bc6('0x34')]));if(_0x943a08[_0x3bc6('0x36')]['filter']){_0x482579['where']=_[_0x3bc6('0x42')](_0x482579[_0x3bc6('0x41')],{'$or':_[_0x3bc6('0x33')](_0x482579[_0x3bc6('0x37')],function(_0x10a164){var _0xb593d={};_0xb593d[_0x10a164]={'$like':'%'+_0x943a08[_0x3bc6('0x36')][_0x3bc6('0x40')]+'%'};return _0xb593d;})});}_0x482579=_[_0x3bc6('0x42')]({},_0x482579,_0x943a08[_0x3bc6('0x49')]);return _0x2d0f8f['getConfigurations'](_0x482579);}})[_0x3bc6('0x27')](function(_0x31832f){if(_0x31832f){_0x274a40=_0x31832f['length'];if(!_0x943a08[_0x3bc6('0x36')][_0x3bc6('0x3a')](_0x3bc6('0x3b'))){_0x482579['limit']=qs[_0x3bc6('0x3c')](_0x943a08[_0x3bc6('0x36')][_0x3bc6('0x3c')]);_0x482579[_0x3bc6('0x1f')]=qs[_0x3bc6('0x1f')](_0x943a08['query'][_0x3bc6('0x1f')]);}return _0x2d0f8f[_0x3bc6('0x50')](_0x482579);}})[_0x3bc6('0x27')](function(_0x3f66a3){if(_0x3f66a3){return _0x3f66a3?{'count':_0x274a40,'rows':_0x3f66a3}:null;}})[_0x3bc6('0x27')](respondWithResult(_0x32e766,null))[_0x3bc6('0x47')](handleError(_0x32e766,null));};exports['addConfiguration']=function(_0xf1b5f2,_0x2271ac,_0x30b7ef){if(_0xf1b5f2[_0x3bc6('0x4c')]['id']){delete _0xf1b5f2[_0x3bc6('0x4c')]['id'];}return db[_0x3bc6('0x2d')][_0x3bc6('0x4e')]({'where':{'id':_0xf1b5f2['params']['id']}})[_0x3bc6('0x27')](handleEntityNotFound(_0x2271ac,null))[_0x3bc6('0x27')](function(_0x45fb3b){if(_0x45fb3b){_0xf1b5f2['body']['AccountId']=_0x45fb3b['id'];_0xf1b5f2[_0x3bc6('0x4c')][_0x3bc6('0x51')]=integrations['getSubjects'](_0xf1b5f2['body'][_0x3bc6('0x52')],_0xf1b5f2[_0x3bc6('0x4c')]['type']);_0xf1b5f2['body'][_0x3bc6('0x53')]=integrations[_0x3bc6('0x54')](_0xf1b5f2[_0x3bc6('0x4c')][_0x3bc6('0x52')],_0xf1b5f2['body'][_0x3bc6('0x30')]);return db[_0x3bc6('0x4f')][_0x3bc6('0x4b')](_0xf1b5f2[_0x3bc6('0x4c')],{'include':[{'model':db[_0x3bc6('0x55')],'as':'Subjects'},{'model':db[_0x3bc6('0x55')],'as':_0x3bc6('0x53')}]});}return null;})['then'](respondWithResult(_0x2271ac,null))[_0x3bc6('0x47')](handleError(_0x2271ac,null));};var md5=require('md5');exports[_0x3bc6('0x56')]=function(_0x33b7fa,_0x2c7b5b,_0x4fa89c){var _0x4b4a17=null;var _0x5b6d73=null;var _0x2d8421=null;var _0x218a5b=null;var _0x293c5c='';return db[_0x3bc6('0x2d')][_0x3bc6('0x4e')]({'where':{'id':_0x33b7fa[_0x3bc6('0x4d')]['id']},'attributes':['id',_0x3bc6('0x2c'),'username',_0x3bc6('0x57'),_0x3bc6('0x58'),_0x3bc6('0x59'),_0x3bc6('0x5a'),_0x3bc6('0x5b')]})['then'](handleEntityNotFound(_0x2c7b5b,null))[_0x3bc6('0x27')](function(_0x484e62){if(_0x484e62){_0x4b4a17=_0x484e62[_0x3bc6('0x5c')];_0x5b6d73=_0x484e62[_0x3bc6('0x5b')];_0x2d8421=_0x484e62[_0x3bc6('0x58')];_0x293c5c=_0x484e62[_0x3bc6('0x59')];var _0x1a197b=_0x293c5c['slice'](-0x1);if(_0x1a197b==='/'){_0x293c5c=_0x293c5c[_0x3bc6('0x5d')](0x0,_0x293c5c[_0x3bc6('0x5e')](_0x1a197b));}_0x218a5b=util[_0x3bc6('0x5f')](_0x3bc6('0x60'),_0x293c5c);var _0x47eb4e={'method':_0x3bc6('0x61'),'uri':_0x218a5b,'qs':{'operation':_0x3bc6('0x62'),'username':_0x484e62[_0x3bc6('0x5c')]},'json':!![]};return rp(_0x47eb4e);}})[_0x3bc6('0x27')](function(_0x4f73ab){if(_0x4f73ab[_0x3bc6('0x63')]){var _0x3a8348={'method':'POST','uri':_0x218a5b,'form':{'operation':'login','username':_0x4b4a17,'accessKey':md5(_0x4f73ab[_0x3bc6('0x64')][_0x3bc6('0x65')]+_0x5b6d73)},'json':!![]};return rp(_0x3a8348);}})[_0x3bc6('0x27')](function(_0xe51c9f){if(_0xe51c9f['success']){var _0x7abd9e={'method':'GET','uri':_0x218a5b,'qs':{'operation':'describe','username':_0x4b4a17,'sessionName':_0xe51c9f['result']['sessionName'],'elementType':_0x2d8421},'json':!![]};return rp(_0x7abd9e);}})[_0x3bc6('0x27')](function(_0x122906){if(_0x122906[_0x3bc6('0x63')]){var _0x31e6dd=[_0x3bc6('0x66'),_0x3bc6('0x67'),_0x3bc6('0x68')];_['remove'](_0x122906['result'][_0x3bc6('0x38')],function(_0x14e13c){return _0x31e6dd['includes'](_0x14e13c[_0x3bc6('0x30')][_0x3bc6('0x2c')]);});_['remove'](_0x122906[_0x3bc6('0x64')][_0x3bc6('0x38')],function(_0x92e2a){return _0x92e2a[_0x3bc6('0x69')]===_0x3bc6('0x6a');});return{'count':_0x122906[_0x3bc6('0x64')]['fields'][_0x3bc6('0x39')],'rows':_[_0x3bc6('0x33')](_0x122906[_0x3bc6('0x64')][_0x3bc6('0x38')],function(_0x31ad93){return{'id':_0x31ad93[_0x3bc6('0x2c')],'name':_0x31ad93[_0x3bc6('0x6b')],'custom':_[_0x3bc6('0x6c')](_0x31ad93['name'],_0x3bc6('0x6d'))?!![]:![],'options':_0x31ad93[_0x3bc6('0x30')][_0x3bc6('0x2c')]===_0x3bc6('0x6e')&&_0x31ad93[_0x3bc6('0x30')][_0x3bc6('0x6f')][_0x3bc6('0x39')]>0x0?_[_0x3bc6('0x33')](_0x31ad93[_0x3bc6('0x30')][_0x3bc6('0x6f')],function(_0x16b244){return{'name':_0x16b244[_0x3bc6('0x6b')],'value':_0x16b244[_0x3bc6('0x70')]};}):[]};})};}})['then'](respondWithResult(_0x2c7b5b,null))[_0x3bc6('0x47')](function(_0x40a90d){console[_0x3bc6('0x71')](_0x3bc6('0x72')+_0x40a90d);var _0x553547=_0x33b7fa[_0x3bc6('0x36')]['test']?0x1f4:_0x40a90d[_0x3bc6('0x73')]||0x1f4;logger[_0x3bc6('0x2a')](_0x3bc6('0x74'),'getFields',_0x553547,JSON[_0x3bc6('0x75')](_0x40a90d));delete _0x40a90d['name'];if(_0x553547===0x191){_0x553547=0x190;}_0x2c7b5b[_0x3bc6('0x1c')](_0x553547)[_0x3bc6('0x76')](_0x33b7fa[_0x3bc6('0x36')][_0x3bc6('0x77')]?{'message':_0x3bc6('0x78'),'statusCode':_0x40a90d['statusCode']}:_0x40a90d);});};