Built motion from commit 9d1906d1.|2.5.40
[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 _0x37a7=['fieldName','model','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filter','type','merge','options','includeAll','include','VtigerAccount','findAll','rows','catch','show','params','rawAttributes','find','create','body','getConfigurations','findOne','VtigerConfiguration','pick','addConfiguration','Subjects','getSubjects','Descriptions','channel','VtigerField','md5','getFields','username','description','moduleName','remoteUri','serverUrl','accessKey','slice','lastIndexOf','%s/webservice.php','GET','getchallenge','POST','login','result','success','sessionName','autogenerated','remove','editable','false','label','cf_','picklistValues','value','log','vTiger\x20error:\x20','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','statusCode','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','save','update','then','destroy','error','send','index','map'];(function(_0x120e00,_0x3d02b2){var _0x3d011a=function(_0x23ab54){while(--_0x23ab54){_0x120e00['push'](_0x120e00['shift']());}};_0x3d011a(++_0x3d02b2);}(_0x37a7,0x19b));var _0x737a=function(_0x4f140f,_0x29dc13){_0x4f140f=_0x4f140f-0x0;var _0x418551=_0x37a7[_0x4f140f];return _0x418551;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x737a('0x0'));var zipdir=require(_0x737a('0x1'));var jsonpatch=require(_0x737a('0x2'));var rp=require(_0x737a('0x3'));var moment=require(_0x737a('0x4'));var BPromise=require(_0x737a('0x5'));var Mustache=require('mustache');var util=require(_0x737a('0x6'));var path=require('path');var sox=require(_0x737a('0x7'));var csv=require(_0x737a('0x8'));var ejs=require(_0x737a('0x9'));var fs=require('fs');var fs_extra=require(_0x737a('0xa'));var _=require(_0x737a('0xb'));var squel=require(_0x737a('0xc'));var crypto=require('crypto');var jsforce=require(_0x737a('0xd'));var deskjs=require(_0x737a('0xe'));var toCsv=require(_0x737a('0x8'));var querystring=require('querystring');var Papa=require(_0x737a('0xf'));var Redis=require(_0x737a('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x737a('0x11'))(_0x737a('0x12'));var utils=require(_0x737a('0x13'));var config=require(_0x737a('0x14'));var licenseUtil=require(_0x737a('0x15'));var db=require('../../mysqldb')['db'];var integrations=require(_0x737a('0x16'));function respondWithStatusCode(_0x39baff,_0x2a835b){_0x2a835b=_0x2a835b||0xcc;return function(_0x1fb783){if(_0x1fb783){return _0x39baff[_0x737a('0x17')](_0x2a835b);}return _0x39baff[_0x737a('0x18')](_0x2a835b)[_0x737a('0x19')]();};}function respondWithResult(_0x51501f,_0x13d957){_0x13d957=_0x13d957||0xc8;return function(_0x37dcd5){if(_0x37dcd5){return _0x51501f[_0x737a('0x18')](_0x13d957)['json'](_0x37dcd5);}};}function respondWithFilteredResult(_0x1d904e,_0x39dd71){return function(_0x4557ec){if(_0x4557ec){var _0x3c18e4=typeof _0x39dd71[_0x737a('0x1a')]===_0x737a('0x1b')&&typeof _0x39dd71[_0x737a('0x1c')]===_0x737a('0x1b');var _0x2167c8=_0x4557ec[_0x737a('0x1d')];var _0x1923c1=_0x3c18e4?0x0:_0x39dd71[_0x737a('0x1a')];var _0x532625=_0x3c18e4?_0x4557ec[_0x737a('0x1d')]:_0x39dd71[_0x737a('0x1a')]+_0x39dd71['limit'];var _0x495a91;if(_0x532625>=_0x2167c8){_0x532625=_0x2167c8;_0x495a91=0xc8;}else{_0x495a91=0xce;}_0x1d904e[_0x737a('0x18')](_0x495a91);return _0x1d904e['set'](_0x737a('0x1e'),_0x1923c1+'-'+_0x532625+'/'+_0x2167c8)[_0x737a('0x1f')](_0x4557ec);}return null;};}function patchUpdates(_0x286e84){return function(_0x13ab00){try{jsonpatch[_0x737a('0x20')](_0x13ab00,_0x286e84,!![]);}catch(_0x107fe0){return BPromise['reject'](_0x107fe0);}return _0x13ab00[_0x737a('0x21')]();};}function saveUpdates(_0xa155f2,_0x270a6f){return function(_0x214f11){if(_0x214f11){return _0x214f11[_0x737a('0x22')](_0xa155f2)[_0x737a('0x23')](function(_0xee0406){return _0xee0406;});}return null;};}function removeEntity(_0x594256,_0x12b2fb){return function(_0x507648){if(_0x507648){return _0x507648[_0x737a('0x24')]()['then'](function(){_0x594256[_0x737a('0x18')](0xcc)[_0x737a('0x19')]();});}};}function handleEntityNotFound(_0x1721c8,_0x5d7c9c){return function(_0x3adb0b){if(!_0x3adb0b){_0x1721c8[_0x737a('0x17')](0x194);}return _0x3adb0b;};}function handleError(_0x1bef26,_0x4ca1b4){_0x4ca1b4=_0x4ca1b4||0x1f4;return function(_0x216366){logger[_0x737a('0x25')](_0x216366['stack']);if(_0x216366['name']){delete _0x216366['name'];}_0x1bef26[_0x737a('0x18')](_0x4ca1b4)[_0x737a('0x26')](_0x216366);};}exports[_0x737a('0x27')]=function(_0x4e1354,_0x337282){var _0x453e2d={},_0x2a0b4c={},_0x5a5cc9={'count':0x0,'rows':[]};var _0x424121=_[_0x737a('0x28')](db['VtigerAccount']['rawAttributes'],function(_0x36e993){return{'name':_0x36e993[_0x737a('0x29')],'type':_0x36e993['type']['key']};});_0x2a0b4c[_0x737a('0x2a')]=_[_0x737a('0x28')](_0x424121,_0x737a('0x2b'));_0x2a0b4c[_0x737a('0x2c')]=_[_0x737a('0x2d')](_0x4e1354[_0x737a('0x2c')]);_0x2a0b4c[_0x737a('0x2e')]=_[_0x737a('0x2f')](_0x2a0b4c[_0x737a('0x2a')],_0x2a0b4c[_0x737a('0x2c')]);_0x453e2d[_0x737a('0x30')]=_[_0x737a('0x2f')](_0x2a0b4c['model'],qs['fields'](_0x4e1354[_0x737a('0x2c')][_0x737a('0x31')]));_0x453e2d[_0x737a('0x30')]=_0x453e2d[_0x737a('0x30')][_0x737a('0x32')]?_0x453e2d[_0x737a('0x30')]:_0x2a0b4c['model'];if(!_0x4e1354[_0x737a('0x2c')][_0x737a('0x33')]('nolimit')){_0x453e2d['limit']=qs['limit'](_0x4e1354[_0x737a('0x2c')]['limit']);_0x453e2d[_0x737a('0x1a')]=qs[_0x737a('0x1a')](_0x4e1354[_0x737a('0x2c')]['offset']);}_0x453e2d[_0x737a('0x34')]=qs[_0x737a('0x35')](_0x4e1354[_0x737a('0x2c')]['sort']);_0x453e2d[_0x737a('0x36')]=qs['filters'](_['pick'](_0x4e1354[_0x737a('0x2c')],_0x2a0b4c[_0x737a('0x2e')]),_0x424121);if(_0x4e1354['query'][_0x737a('0x37')]){_0x453e2d[_0x737a('0x36')]=_['merge'](_0x453e2d[_0x737a('0x36')],{'$or':_['map'](_0x424121,function(_0x31b846){if(_0x31b846[_0x737a('0x38')]!=='VIRTUAL'){var _0x667cbe={};_0x667cbe[_0x31b846[_0x737a('0x2b')]]={'$like':'%'+_0x4e1354[_0x737a('0x2c')][_0x737a('0x37')]+'%'};return _0x667cbe;}})});}_0x453e2d=_[_0x737a('0x39')]({},_0x453e2d,_0x4e1354[_0x737a('0x3a')]);var _0x4cf2c8={'where':_0x453e2d[_0x737a('0x36')]};return db['VtigerAccount'][_0x737a('0x1d')](_0x4cf2c8)['then'](function(_0x3ede75){_0x5a5cc9[_0x737a('0x1d')]=_0x3ede75;if(_0x4e1354[_0x737a('0x2c')][_0x737a('0x3b')]){_0x453e2d[_0x737a('0x3c')]=[{'all':!![]}];}return db[_0x737a('0x3d')][_0x737a('0x3e')](_0x453e2d);})[_0x737a('0x23')](function(_0x17455e){_0x5a5cc9[_0x737a('0x3f')]=_0x17455e;return _0x5a5cc9;})[_0x737a('0x23')](respondWithFilteredResult(_0x337282,_0x453e2d))[_0x737a('0x40')](handleError(_0x337282,null));};exports[_0x737a('0x41')]=function(_0xc612,_0x10a891){var _0x4d5c98={'raw':![],'where':{'id':_0xc612[_0x737a('0x42')]['id']}},_0xe88dea={};_0xe88dea[_0x737a('0x2a')]=_[_0x737a('0x2d')](db[_0x737a('0x3d')][_0x737a('0x43')]);_0xe88dea[_0x737a('0x2c')]=_[_0x737a('0x2d')](_0xc612[_0x737a('0x2c')]);_0xe88dea[_0x737a('0x2e')]=_[_0x737a('0x2f')](_0xe88dea['model'],_0xe88dea['query']);_0x4d5c98[_0x737a('0x30')]=_[_0x737a('0x2f')](_0xe88dea[_0x737a('0x2a')],qs[_0x737a('0x31')](_0xc612[_0x737a('0x2c')][_0x737a('0x31')]));_0x4d5c98['attributes']=_0x4d5c98['attributes'][_0x737a('0x32')]?_0x4d5c98[_0x737a('0x30')]:_0xe88dea['model'];if(_0xc612[_0x737a('0x2c')][_0x737a('0x3b')]){_0x4d5c98[_0x737a('0x3c')]=[{'all':!![]}];}_0x4d5c98=_[_0x737a('0x39')]({},_0x4d5c98,_0xc612['options']);return db[_0x737a('0x3d')][_0x737a('0x44')](_0x4d5c98)[_0x737a('0x23')](handleEntityNotFound(_0x10a891,null))[_0x737a('0x23')](respondWithResult(_0x10a891,null))[_0x737a('0x40')](handleError(_0x10a891,null));};exports[_0x737a('0x45')]=function(_0x1e1954,_0xfe69f5){return db[_0x737a('0x3d')][_0x737a('0x45')](_0x1e1954[_0x737a('0x46')],{})[_0x737a('0x23')](respondWithResult(_0xfe69f5,0xc9))['catch'](handleError(_0xfe69f5,null));};exports[_0x737a('0x22')]=function(_0x15c990,_0x21c277){if(_0x15c990[_0x737a('0x46')]['id']){delete _0x15c990['body']['id'];}return db['VtigerAccount'][_0x737a('0x44')]({'where':{'id':_0x15c990[_0x737a('0x42')]['id']}})[_0x737a('0x23')](handleEntityNotFound(_0x21c277,null))[_0x737a('0x23')](saveUpdates(_0x15c990['body'],null))[_0x737a('0x23')](respondWithResult(_0x21c277,null))[_0x737a('0x40')](handleError(_0x21c277,null));};exports[_0x737a('0x24')]=function(_0x135e75,_0x21d287){return db['VtigerAccount'][_0x737a('0x44')]({'where':{'id':_0x135e75[_0x737a('0x42')]['id']}})['then'](handleEntityNotFound(_0x21d287,null))['then'](removeEntity(_0x21d287,null))[_0x737a('0x40')](handleError(_0x21d287,null));};exports[_0x737a('0x47')]=function(_0x3fd99e,_0x2801ab,_0x424c5b){var _0x2775ef={};var _0x2712b1={};var _0x2b1aa1;var _0x6ccc09;return db['VtigerAccount'][_0x737a('0x48')]({'where':{'id':_0x3fd99e[_0x737a('0x42')]['id']}})[_0x737a('0x23')](handleEntityNotFound(_0x2801ab,null))['then'](function(_0x2dd8d2){if(_0x2dd8d2){_0x2b1aa1=_0x2dd8d2;_0x2712b1[_0x737a('0x2a')]=_[_0x737a('0x2d')](db[_0x737a('0x49')]['rawAttributes']);_0x2712b1[_0x737a('0x2c')]=_[_0x737a('0x2d')](_0x3fd99e[_0x737a('0x2c')]);_0x2712b1[_0x737a('0x2e')]=_['intersection'](_0x2712b1['model'],_0x2712b1[_0x737a('0x2c')]);_0x2775ef[_0x737a('0x30')]=_[_0x737a('0x2f')](_0x2712b1['model'],qs[_0x737a('0x31')](_0x3fd99e[_0x737a('0x2c')][_0x737a('0x31')]));_0x2775ef[_0x737a('0x30')]=_0x2775ef['attributes'][_0x737a('0x32')]?_0x2775ef['attributes']:_0x2712b1['model'];_0x2775ef[_0x737a('0x34')]=qs['sort'](_0x3fd99e['query']['sort']);_0x2775ef[_0x737a('0x36')]=qs[_0x737a('0x2e')](_[_0x737a('0x4a')](_0x3fd99e[_0x737a('0x2c')],_0x2712b1['filters']));if(_0x3fd99e[_0x737a('0x2c')][_0x737a('0x37')]){_0x2775ef['where']=_[_0x737a('0x39')](_0x2775ef['where'],{'$or':_[_0x737a('0x28')](_0x2775ef[_0x737a('0x30')],function(_0x4b8d9c){var _0xb4146a={};_0xb4146a[_0x4b8d9c]={'$like':'%'+_0x3fd99e[_0x737a('0x2c')]['filter']+'%'};return _0xb4146a;})});}_0x2775ef=_[_0x737a('0x39')]({},_0x2775ef,_0x3fd99e['options']);return _0x2b1aa1[_0x737a('0x47')](_0x2775ef);}})[_0x737a('0x23')](function(_0xaa1503){if(_0xaa1503){_0x6ccc09=_0xaa1503['length'];if(!_0x3fd99e[_0x737a('0x2c')][_0x737a('0x33')]('nolimit')){_0x2775ef[_0x737a('0x1c')]=qs[_0x737a('0x1c')](_0x3fd99e[_0x737a('0x2c')][_0x737a('0x1c')]);_0x2775ef[_0x737a('0x1a')]=qs[_0x737a('0x1a')](_0x3fd99e[_0x737a('0x2c')]['offset']);}return _0x2b1aa1[_0x737a('0x47')](_0x2775ef);}})[_0x737a('0x23')](function(_0x55eeed){if(_0x55eeed){return _0x55eeed?{'count':_0x6ccc09,'rows':_0x55eeed}:null;}})[_0x737a('0x23')](respondWithResult(_0x2801ab,null))[_0x737a('0x40')](handleError(_0x2801ab,null));};exports[_0x737a('0x4b')]=function(_0x45373d,_0x3cb450,_0x1c6ff6){if(_0x45373d[_0x737a('0x46')]['id']){delete _0x45373d[_0x737a('0x46')]['id'];}return db[_0x737a('0x3d')][_0x737a('0x48')]({'where':{'id':_0x45373d['params']['id']}})[_0x737a('0x23')](handleEntityNotFound(_0x3cb450,null))[_0x737a('0x23')](function(_0x49efc0){if(_0x49efc0){_0x45373d['body']['AccountId']=_0x49efc0['id'];_0x45373d[_0x737a('0x46')][_0x737a('0x4c')]=integrations[_0x737a('0x4d')](_0x45373d[_0x737a('0x46')]['channel'],_0x45373d[_0x737a('0x46')][_0x737a('0x38')]);_0x45373d[_0x737a('0x46')][_0x737a('0x4e')]=integrations['getDescriptions'](_0x45373d['body'][_0x737a('0x4f')],_0x45373d[_0x737a('0x46')][_0x737a('0x38')]);return db[_0x737a('0x49')][_0x737a('0x45')](_0x45373d[_0x737a('0x46')],{'include':[{'model':db[_0x737a('0x50')],'as':_0x737a('0x4c')},{'model':db['VtigerField'],'as':_0x737a('0x4e')}]});}return null;})['then'](respondWithResult(_0x3cb450,null))[_0x737a('0x40')](handleError(_0x3cb450,null));};var md5=require(_0x737a('0x51'));exports[_0x737a('0x52')]=function(_0x20ad64,_0x2976b0,_0x109649){var _0x58a8a1=null;var _0x4978d5=null;var _0x1922b2=null;var _0x596aeb=null;var _0x477db3='';return db[_0x737a('0x3d')][_0x737a('0x48')]({'where':{'id':_0x20ad64[_0x737a('0x42')]['id']},'attributes':['id',_0x737a('0x2b'),_0x737a('0x53'),_0x737a('0x54'),_0x737a('0x55'),_0x737a('0x56'),_0x737a('0x57'),_0x737a('0x58')]})['then'](handleEntityNotFound(_0x2976b0,null))[_0x737a('0x23')](function(_0x5b679b){if(_0x5b679b){_0x58a8a1=_0x5b679b['username'];_0x4978d5=_0x5b679b[_0x737a('0x58')];_0x1922b2=_0x5b679b['moduleName'];_0x477db3=_0x5b679b[_0x737a('0x56')];var _0x255358=_0x477db3[_0x737a('0x59')](-0x1);if(_0x255358==='/'){_0x477db3=_0x477db3['substring'](0x0,_0x477db3[_0x737a('0x5a')](_0x255358));}_0x596aeb=util['format'](_0x737a('0x5b'),_0x477db3);var _0x4fcffe={'method':_0x737a('0x5c'),'uri':_0x596aeb,'qs':{'operation':_0x737a('0x5d'),'username':_0x5b679b[_0x737a('0x53')]},'json':!![]};return rp(_0x4fcffe);}})[_0x737a('0x23')](function(_0x338e2e){if(_0x338e2e['success']){var _0x293d64={'method':_0x737a('0x5e'),'uri':_0x596aeb,'form':{'operation':_0x737a('0x5f'),'username':_0x58a8a1,'accessKey':md5(_0x338e2e[_0x737a('0x60')]['token']+_0x4978d5)},'json':!![]};return rp(_0x293d64);}})[_0x737a('0x23')](function(_0x304f1d){if(_0x304f1d[_0x737a('0x61')]){var _0x4cabce={'method':'GET','uri':_0x596aeb,'qs':{'operation':'describe','username':_0x58a8a1,'sessionName':_0x304f1d[_0x737a('0x60')][_0x737a('0x62')],'elementType':_0x1922b2},'json':!![]};return rp(_0x4cabce);}})[_0x737a('0x23')](function(_0x29de2f){if(_0x29de2f[_0x737a('0x61')]){var _0x26e350=[_0x737a('0x63'),'reference','owner'];_[_0x737a('0x64')](_0x29de2f[_0x737a('0x60')]['fields'],function(_0x2f77c9){return _0x26e350['includes'](_0x2f77c9[_0x737a('0x38')][_0x737a('0x2b')]);});_[_0x737a('0x64')](_0x29de2f[_0x737a('0x60')]['fields'],function(_0x1c3d98){return _0x1c3d98[_0x737a('0x65')]===_0x737a('0x66');});return{'count':_0x29de2f[_0x737a('0x60')][_0x737a('0x31')][_0x737a('0x32')],'rows':_[_0x737a('0x28')](_0x29de2f['result'][_0x737a('0x31')],function(_0x2be80f){return{'id':_0x2be80f[_0x737a('0x2b')],'name':_0x2be80f[_0x737a('0x67')],'custom':_['startsWith'](_0x2be80f['name'],_0x737a('0x68'))?!![]:![],'options':_0x2be80f[_0x737a('0x38')]['name']==='picklist'&&_0x2be80f['type'][_0x737a('0x69')]['length']>0x0?_[_0x737a('0x28')](_0x2be80f[_0x737a('0x38')][_0x737a('0x69')],function(_0x5816ce){return{'name':_0x5816ce[_0x737a('0x67')],'value':_0x5816ce[_0x737a('0x6a')]};}):[]};})};}})[_0x737a('0x23')](respondWithResult(_0x2976b0,null))[_0x737a('0x40')](function(_0x3fcf94){console[_0x737a('0x6b')](_0x737a('0x6c')+_0x3fcf94);var _0x49de7d=_0x20ad64[_0x737a('0x2c')]['test']?0x1f4:_0x3fcf94['statusCode']||0x1f4;logger['error'](_0x737a('0x6d'),'getFields',_0x49de7d,JSON[_0x737a('0x6e')](_0x3fcf94));delete _0x3fcf94[_0x737a('0x2b')];if(_0x49de7d===0x191){_0x49de7d=0x190;}_0x2976b0[_0x737a('0x18')](_0x49de7d)[_0x737a('0x26')](_0x20ad64[_0x737a('0x2c')]['test']?{'message':_0x737a('0x6f'),'statusCode':_0x3fcf94[_0x737a('0x70')]}:_0x3fcf94);});};