Built motion from commit ce97982f.|2.6.29
[motion2.git] / server / api / intSalesforceAccount / intSalesforceAccount.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 _0x4dcc=['../../mysqldb','../../components/integrations/configuration','sendStatus','status','undefined','count','offset','limit','set','Content-Range','json','reject','update','then','end','stack','name','send','index','map','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','VIRTUAL','merge','options','SalesforceAccount','findAll','rows','catch','show','params','create','body','find','destroy','findOne','SalesforceConfiguration','getConfigurations','addConfiguration','channel','Descriptions','getDescriptions','SalesforceField','Subjects','getFields','Task','clientId','clientSecret','username','password','securityToken','lastIndexOf','concat','isNil','describe','IsReminderSet','IsRecurrence','Subject','string','int','picklist','boolean','email','phone','remove','includes','label','picklistValues','value','True','true','False','false','test','statusCode','error','stringify','eml-format','rimraf','fast-json-patch','moment','bluebird','util','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x41dd01,_0x3287fe){var _0x1b2a58=function(_0x399d16){while(--_0x399d16){_0x41dd01['push'](_0x41dd01['shift']());}};_0x1b2a58(++_0x3287fe);}(_0x4dcc,0x144));var _0xc4dc=function(_0x53a97a,_0x3135e8){_0x53a97a=_0x53a97a-0x0;var _0x3ff3ff=_0x4dcc[_0x53a97a];return _0x3ff3ff;};'use strict';var emlformat=require(_0xc4dc('0x0'));var rimraf=require(_0xc4dc('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc4dc('0x2'));var rp=require('request-promise');var moment=require(_0xc4dc('0x3'));var BPromise=require(_0xc4dc('0x4'));var Mustache=require('mustache');var util=require(_0xc4dc('0x5'));var path=require('path');var sox=require(_0xc4dc('0x6'));var csv=require('to-csv');var ejs=require(_0xc4dc('0x7'));var fs=require('fs');var fs_extra=require(_0xc4dc('0x8'));var _=require(_0xc4dc('0x9'));var squel=require(_0xc4dc('0xa'));var crypto=require('crypto');var jsforce=require(_0xc4dc('0xb'));var deskjs=require(_0xc4dc('0xc'));var toCsv=require(_0xc4dc('0xd'));var querystring=require(_0xc4dc('0xe'));var Papa=require(_0xc4dc('0xf'));var Redis=require(_0xc4dc('0x10'));var authService=require(_0xc4dc('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xc4dc('0x12'));var hardwareService=require(_0xc4dc('0x13'));var logger=require(_0xc4dc('0x14'))('api');var utils=require(_0xc4dc('0x15'));var config=require(_0xc4dc('0x16'));var licenseUtil=require(_0xc4dc('0x17'));var db=require(_0xc4dc('0x18'))['db'];var integrations=require(_0xc4dc('0x19'));function respondWithStatusCode(_0x2570e2,_0x549df1){_0x549df1=_0x549df1||0xcc;return function(_0x229894){if(_0x229894){return _0x2570e2[_0xc4dc('0x1a')](_0x549df1);}return _0x2570e2[_0xc4dc('0x1b')](_0x549df1)['end']();};}function respondWithResult(_0x18f792,_0x16fbaa){_0x16fbaa=_0x16fbaa||0xc8;return function(_0x407efa){if(_0x407efa){return _0x18f792[_0xc4dc('0x1b')](_0x16fbaa)['json'](_0x407efa);}};}function respondWithFilteredResult(_0x364155,_0x1d1847){return function(_0x36569d){if(_0x36569d){var _0x4fae4b=typeof _0x1d1847['offset']==='undefined'&&typeof _0x1d1847['limit']===_0xc4dc('0x1c');var _0x4faaa6=_0x36569d[_0xc4dc('0x1d')];var _0x48e68d=_0x4fae4b?0x0:_0x1d1847[_0xc4dc('0x1e')];var _0x248a29=_0x4fae4b?_0x36569d['count']:_0x1d1847[_0xc4dc('0x1e')]+_0x1d1847[_0xc4dc('0x1f')];var _0x3ed800;if(_0x248a29>=_0x4faaa6){_0x248a29=_0x4faaa6;_0x3ed800=0xc8;}else{_0x3ed800=0xce;}_0x364155[_0xc4dc('0x1b')](_0x3ed800);return _0x364155[_0xc4dc('0x20')](_0xc4dc('0x21'),_0x48e68d+'-'+_0x248a29+'/'+_0x4faaa6)[_0xc4dc('0x22')](_0x36569d);}return null;};}function patchUpdates(_0x442fe1){return function(_0x1e53fe){try{jsonpatch['apply'](_0x1e53fe,_0x442fe1,!![]);}catch(_0x149e78){return BPromise[_0xc4dc('0x23')](_0x149e78);}return _0x1e53fe['save']();};}function saveUpdates(_0x259665,_0x1d7069){return function(_0x36a02c){if(_0x36a02c){return _0x36a02c[_0xc4dc('0x24')](_0x259665)['then'](function(_0x589445){return _0x589445;});}return null;};}function removeEntity(_0xef795f,_0x308c3){return function(_0x445cd6){if(_0x445cd6){return _0x445cd6['destroy']()[_0xc4dc('0x25')](function(){_0xef795f[_0xc4dc('0x1b')](0xcc)[_0xc4dc('0x26')]();});}};}function handleEntityNotFound(_0x4fafb9,_0x2da05d){return function(_0xd095d0){if(!_0xd095d0){_0x4fafb9[_0xc4dc('0x1a')](0x194);}return _0xd095d0;};}function handleError(_0x447ed5,_0x3b7492){_0x3b7492=_0x3b7492||0x1f4;return function(_0x47240f){logger['error'](_0x47240f[_0xc4dc('0x27')]);if(_0x47240f[_0xc4dc('0x28')]){delete _0x47240f[_0xc4dc('0x28')];}_0x447ed5[_0xc4dc('0x1b')](_0x3b7492)[_0xc4dc('0x29')](_0x47240f);};}exports[_0xc4dc('0x2a')]=function(_0x47dadc,_0x171536){var _0x6ec344={},_0xf6bcfd={},_0x1c2bca={'count':0x0,'rows':[]};var _0x2520e6=_[_0xc4dc('0x2b')](db['SalesforceAccount'][_0xc4dc('0x2c')],function(_0x49eae8){return{'name':_0x49eae8['fieldName'],'type':_0x49eae8[_0xc4dc('0x2d')][_0xc4dc('0x2e')]};});_0xf6bcfd[_0xc4dc('0x2f')]=_[_0xc4dc('0x2b')](_0x2520e6,_0xc4dc('0x28'));_0xf6bcfd[_0xc4dc('0x30')]=_[_0xc4dc('0x31')](_0x47dadc['query']);_0xf6bcfd[_0xc4dc('0x32')]=_['intersection'](_0xf6bcfd[_0xc4dc('0x2f')],_0xf6bcfd['query']);_0x6ec344[_0xc4dc('0x33')]=_[_0xc4dc('0x34')](_0xf6bcfd[_0xc4dc('0x2f')],qs[_0xc4dc('0x35')](_0x47dadc[_0xc4dc('0x30')][_0xc4dc('0x35')]));_0x6ec344[_0xc4dc('0x33')]=_0x6ec344['attributes'][_0xc4dc('0x36')]?_0x6ec344[_0xc4dc('0x33')]:_0xf6bcfd[_0xc4dc('0x2f')];if(!_0x47dadc[_0xc4dc('0x30')][_0xc4dc('0x37')](_0xc4dc('0x38'))){_0x6ec344[_0xc4dc('0x1f')]=qs[_0xc4dc('0x1f')](_0x47dadc['query'][_0xc4dc('0x1f')]);_0x6ec344['offset']=qs[_0xc4dc('0x1e')](_0x47dadc[_0xc4dc('0x30')][_0xc4dc('0x1e')]);}_0x6ec344[_0xc4dc('0x39')]=qs['sort'](_0x47dadc[_0xc4dc('0x30')][_0xc4dc('0x3a')]);_0x6ec344[_0xc4dc('0x3b')]=qs[_0xc4dc('0x32')](_['pick'](_0x47dadc[_0xc4dc('0x30')],_0xf6bcfd['filters']),_0x2520e6);if(_0x47dadc[_0xc4dc('0x30')][_0xc4dc('0x3c')]){_0x6ec344[_0xc4dc('0x3b')]=_['merge'](_0x6ec344[_0xc4dc('0x3b')],{'$or':_[_0xc4dc('0x2b')](_0x2520e6,function(_0x429442){if(_0x429442[_0xc4dc('0x2d')]!==_0xc4dc('0x3d')){var _0x4accab={};_0x4accab[_0x429442[_0xc4dc('0x28')]]={'$like':'%'+_0x47dadc[_0xc4dc('0x30')]['filter']+'%'};return _0x4accab;}})});}_0x6ec344=_[_0xc4dc('0x3e')]({},_0x6ec344,_0x47dadc[_0xc4dc('0x3f')]);var _0x35f5a9={'where':_0x6ec344['where']};return db[_0xc4dc('0x40')][_0xc4dc('0x1d')](_0x35f5a9)['then'](function(_0x1224df){_0x1c2bca[_0xc4dc('0x1d')]=_0x1224df;if(_0x47dadc[_0xc4dc('0x30')]['includeAll']){_0x6ec344['include']=[{'all':!![]}];}return db[_0xc4dc('0x40')][_0xc4dc('0x41')](_0x6ec344);})['then'](function(_0x34c2b7){_0x1c2bca[_0xc4dc('0x42')]=_0x34c2b7;return _0x1c2bca;})[_0xc4dc('0x25')](respondWithFilteredResult(_0x171536,_0x6ec344))[_0xc4dc('0x43')](handleError(_0x171536,null));};exports[_0xc4dc('0x44')]=function(_0x160d98,_0x7cd3e3){var _0x36f3c6={'raw':![],'where':{'id':_0x160d98[_0xc4dc('0x45')]['id']}},_0x360adc={};_0x360adc[_0xc4dc('0x2f')]=_['keys'](db[_0xc4dc('0x40')][_0xc4dc('0x2c')]);_0x360adc[_0xc4dc('0x30')]=_['keys'](_0x160d98[_0xc4dc('0x30')]);_0x360adc[_0xc4dc('0x32')]=_[_0xc4dc('0x34')](_0x360adc[_0xc4dc('0x2f')],_0x360adc[_0xc4dc('0x30')]);_0x36f3c6[_0xc4dc('0x33')]=_[_0xc4dc('0x34')](_0x360adc['model'],qs['fields'](_0x160d98[_0xc4dc('0x30')][_0xc4dc('0x35')]));_0x36f3c6[_0xc4dc('0x33')]=_0x36f3c6['attributes'][_0xc4dc('0x36')]?_0x36f3c6[_0xc4dc('0x33')]:_0x360adc[_0xc4dc('0x2f')];if(_0x160d98[_0xc4dc('0x30')]['includeAll']){_0x36f3c6['include']=[{'all':!![]}];}_0x36f3c6=_[_0xc4dc('0x3e')]({},_0x36f3c6,_0x160d98[_0xc4dc('0x3f')]);return db[_0xc4dc('0x40')]['find'](_0x36f3c6)['then'](handleEntityNotFound(_0x7cd3e3,null))[_0xc4dc('0x25')](respondWithResult(_0x7cd3e3,null))[_0xc4dc('0x43')](handleError(_0x7cd3e3,null));};exports[_0xc4dc('0x46')]=function(_0x242989,_0x3e2fc4){return db[_0xc4dc('0x40')][_0xc4dc('0x46')](_0x242989['body'],{})[_0xc4dc('0x25')](respondWithResult(_0x3e2fc4,0xc9))['catch'](handleError(_0x3e2fc4,null));};exports[_0xc4dc('0x24')]=function(_0x4a6e5a,_0x3a6d5a){if(_0x4a6e5a[_0xc4dc('0x47')]['id']){delete _0x4a6e5a[_0xc4dc('0x47')]['id'];}return db[_0xc4dc('0x40')][_0xc4dc('0x48')]({'where':{'id':_0x4a6e5a[_0xc4dc('0x45')]['id']}})['then'](handleEntityNotFound(_0x3a6d5a,null))['then'](saveUpdates(_0x4a6e5a[_0xc4dc('0x47')],null))[_0xc4dc('0x25')](respondWithResult(_0x3a6d5a,null))[_0xc4dc('0x43')](handleError(_0x3a6d5a,null));};exports[_0xc4dc('0x49')]=function(_0x28972f,_0xae3ade){return db[_0xc4dc('0x40')][_0xc4dc('0x48')]({'where':{'id':_0x28972f['params']['id']}})[_0xc4dc('0x25')](handleEntityNotFound(_0xae3ade,null))[_0xc4dc('0x25')](removeEntity(_0xae3ade,null))[_0xc4dc('0x43')](handleError(_0xae3ade,null));};exports['getConfigurations']=function(_0x176736,_0x33d3aa,_0xc1eadc){var _0x2b2d72={};var _0x304850={};var _0x4b7d25;var _0xd8f2a9;return db[_0xc4dc('0x40')][_0xc4dc('0x4a')]({'where':{'id':_0x176736[_0xc4dc('0x45')]['id']}})[_0xc4dc('0x25')](handleEntityNotFound(_0x33d3aa,null))[_0xc4dc('0x25')](function(_0x231373){if(_0x231373){_0x4b7d25=_0x231373;_0x304850[_0xc4dc('0x2f')]=_['keys'](db[_0xc4dc('0x4b')][_0xc4dc('0x2c')]);_0x304850[_0xc4dc('0x30')]=_[_0xc4dc('0x31')](_0x176736[_0xc4dc('0x30')]);_0x304850['filters']=_[_0xc4dc('0x34')](_0x304850[_0xc4dc('0x2f')],_0x304850[_0xc4dc('0x30')]);_0x2b2d72[_0xc4dc('0x33')]=_[_0xc4dc('0x34')](_0x304850[_0xc4dc('0x2f')],qs[_0xc4dc('0x35')](_0x176736[_0xc4dc('0x30')][_0xc4dc('0x35')]));_0x2b2d72['attributes']=_0x2b2d72[_0xc4dc('0x33')][_0xc4dc('0x36')]?_0x2b2d72[_0xc4dc('0x33')]:_0x304850[_0xc4dc('0x2f')];_0x2b2d72[_0xc4dc('0x39')]=qs[_0xc4dc('0x3a')](_0x176736[_0xc4dc('0x30')]['sort']);_0x2b2d72[_0xc4dc('0x3b')]=qs['filters'](_['pick'](_0x176736['query'],_0x304850['filters']));if(_0x176736[_0xc4dc('0x30')][_0xc4dc('0x3c')]){_0x2b2d72[_0xc4dc('0x3b')]=_['merge'](_0x2b2d72['where'],{'$or':_['map'](_0x2b2d72[_0xc4dc('0x33')],function(_0x50815b){var _0x1377ef={};_0x1377ef[_0x50815b]={'$like':'%'+_0x176736[_0xc4dc('0x30')][_0xc4dc('0x3c')]+'%'};return _0x1377ef;})});}_0x2b2d72=_[_0xc4dc('0x3e')]({},_0x2b2d72,_0x176736['options']);return _0x4b7d25[_0xc4dc('0x4c')](_0x2b2d72);}})[_0xc4dc('0x25')](function(_0x4ac85e){if(_0x4ac85e){_0xd8f2a9=_0x4ac85e[_0xc4dc('0x36')];if(!_0x176736[_0xc4dc('0x30')][_0xc4dc('0x37')](_0xc4dc('0x38'))){_0x2b2d72[_0xc4dc('0x1f')]=qs[_0xc4dc('0x1f')](_0x176736['query']['limit']);_0x2b2d72[_0xc4dc('0x1e')]=qs['offset'](_0x176736[_0xc4dc('0x30')][_0xc4dc('0x1e')]);}return _0x4b7d25['getConfigurations'](_0x2b2d72);}})[_0xc4dc('0x25')](function(_0x15cc63){if(_0x15cc63){return _0x15cc63?{'count':_0xd8f2a9,'rows':_0x15cc63}:null;}})[_0xc4dc('0x25')](respondWithResult(_0x33d3aa,null))[_0xc4dc('0x43')](handleError(_0x33d3aa,null));};exports[_0xc4dc('0x4d')]=function(_0x179f20,_0xc9cfbf,_0x220010){if(_0x179f20[_0xc4dc('0x47')]['id']){delete _0x179f20[_0xc4dc('0x47')]['id'];}return db['SalesforceAccount'][_0xc4dc('0x4a')]({'where':{'id':_0x179f20[_0xc4dc('0x45')]['id']}})[_0xc4dc('0x25')](handleEntityNotFound(_0xc9cfbf,null))[_0xc4dc('0x25')](function(_0x40032c){if(_0x40032c){_0x179f20[_0xc4dc('0x47')]['AccountId']=_0x40032c['id'];_0x179f20['body']['Subjects']=integrations['getSubjects'](_0x179f20[_0xc4dc('0x47')][_0xc4dc('0x4e')],_0x179f20[_0xc4dc('0x47')]['type']);_0x179f20[_0xc4dc('0x47')][_0xc4dc('0x4f')]=integrations[_0xc4dc('0x50')](_0x179f20['body']['channel'],_0x179f20[_0xc4dc('0x47')][_0xc4dc('0x2d')]);return db[_0xc4dc('0x4b')]['create'](_0x179f20['body'],{'include':[{'model':db[_0xc4dc('0x51')],'as':_0xc4dc('0x52')},{'model':db['SalesforceField'],'as':_0xc4dc('0x4f')}]});}return null;})[_0xc4dc('0x25')](respondWithResult(_0xc9cfbf,null))['catch'](handleError(_0xc9cfbf,null));};exports[_0xc4dc('0x53')]=function(_0x3dd717,_0x3ef9d5,_0x4518eb){var _0x50b2b6;var _0x822560='';var _0xede6d8=_0xc4dc('0x54');return db[_0xc4dc('0x40')][_0xc4dc('0x4a')]({'where':{'id':_0x3dd717[_0xc4dc('0x45')]['id']},'attributes':['id','remoteUri',_0xc4dc('0x55'),_0xc4dc('0x56'),_0xc4dc('0x57'),_0xc4dc('0x58'),_0xc4dc('0x59')]})['then'](handleEntityNotFound(_0x3ef9d5,null))[_0xc4dc('0x25')](function(_0x4ed11c){if(_0x4ed11c){_0x822560=_0x4ed11c['remoteUri'];var _0x1dd5ad=_0x822560['slice'](-0x1);if(_0x1dd5ad==='/'){_0x822560=_0x822560['substring'](0x0,_0x822560[_0xc4dc('0x5a')](_0x1dd5ad));}_0x50b2b6=new jsforce['Connection']({'oauth2':{'loginUrl':_0x822560,'clientId':_0x4ed11c['clientId'],'clientSecret':_0x4ed11c[_0xc4dc('0x56')]}});return _0x50b2b6['login'](_0x4ed11c['username'],_0x4ed11c[_0xc4dc('0x58')][_0xc4dc('0x5b')](_0x4ed11c[_0xc4dc('0x59')]));}})[_0xc4dc('0x25')](function(_0x29d91f){if(_0x29d91f){if(!_[_0xc4dc('0x5c')](_0x3dd717['query']['ticketType'])){_0xede6d8=_0x3dd717[_0xc4dc('0x30')]['ticketType'];}return _0x50b2b6['sobject'](_0xede6d8)[_0xc4dc('0x5d')]();}})['then'](function(_0x4383c0){var _0x5158ed=['OwnerId','ActivityDate',_0xc4dc('0x5e'),_0xc4dc('0x5f'),_0xc4dc('0x60'),'Description'];var _0x249bb1=[_0xc4dc('0x61'),_0xc4dc('0x62'),_0xc4dc('0x63'),_0xc4dc('0x64'),_0xc4dc('0x65'),'textarea',_0xc4dc('0x66')];if(_0x4383c0){_[_0xc4dc('0x67')](_0x4383c0[_0xc4dc('0x35')],function(_0x3fccc5){return _0x5158ed[_0xc4dc('0x68')](_0x3fccc5[_0xc4dc('0x28')])||!_0x249bb1[_0xc4dc('0x68')](_0x3fccc5['type']);});return{'count':_0x4383c0[_0xc4dc('0x35')][_0xc4dc('0x36')],'rows':_[_0xc4dc('0x2b')](_0x4383c0['fields'],function(_0x39ead5){return{'id':_0x39ead5[_0xc4dc('0x28')],'name':_0x39ead5[_0xc4dc('0x69')],'custom':_0x39ead5['custom'],'options':_0x39ead5[_0xc4dc('0x6a')]['length']>0x0?_[_0xc4dc('0x2b')](_0x39ead5[_0xc4dc('0x6a')],function(_0x378f09){return{'name':_0x378f09[_0xc4dc('0x69')],'value':_0x378f09[_0xc4dc('0x6b')]};}):_0x39ead5[_0xc4dc('0x2d')]==_0xc4dc('0x64')?[{'name':_0xc4dc('0x6c'),'value':_0xc4dc('0x6d')},{'name':_0xc4dc('0x6e'),'value':_0xc4dc('0x6f')}]:[]};})};}})[_0xc4dc('0x25')](respondWithResult(_0x3ef9d5,null))['catch'](function(_0x59b6d9){var _0x49693c=_0x3dd717[_0xc4dc('0x30')][_0xc4dc('0x70')]?0x1f4:_0x59b6d9[_0xc4dc('0x71')]||0x1f4;logger[_0xc4dc('0x72')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x49693c,JSON[_0xc4dc('0x73')](_0x59b6d9));delete _0x59b6d9['name'];if(_0x49693c===0x191){_0x49693c=0x190;}_0x3ef9d5['status'](_0x49693c)[_0xc4dc('0x29')](_0x3dd717[_0xc4dc('0x30')][_0xc4dc('0x70')]?{'message':'Wrong\x20credentials','statusCode':_0x59b6d9[_0xc4dc('0x71')]}:_0x59b6d9);});};