Built motion from commit 3d6333b4.|2.6.31
[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 _0xd94d=['username','password','concat','isNil','sobject','describe','ActivityDate','IsRecurrence','Subject','Description','string','picklist','boolean','email','textarea','phone','remove','includes','custom','picklistValues','value','True','False','statusCode','stringify','send','test','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/environment','../../config/license/util','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','name','index','map','SalesforceAccount','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','where','pick','filter','merge','options','include','catch','show','params','includeAll','create','body','find','getConfigurations','SalesforceConfiguration','length','sort','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','type','SalesforceField','Task','findOne','remoteUri','clientId','clientSecret','securityToken','substring','lastIndexOf','Connection','login'];(function(_0x27a3cb,_0x4af597){var _0x54ff38=function(_0x3a82d2){while(--_0x3a82d2){_0x27a3cb['push'](_0x27a3cb['shift']());}};_0x54ff38(++_0x4af597);}(_0xd94d,0x1eb));var _0xdd94=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd94d[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xdd94('0x0'));var rimraf=require(_0xdd94('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdd94('0x2'));var rp=require(_0xdd94('0x3'));var moment=require(_0xdd94('0x4'));var BPromise=require(_0xdd94('0x5'));var Mustache=require(_0xdd94('0x6'));var util=require(_0xdd94('0x7'));var path=require(_0xdd94('0x8'));var sox=require(_0xdd94('0x9'));var csv=require(_0xdd94('0xa'));var ejs=require(_0xdd94('0xb'));var fs=require('fs');var fs_extra=require(_0xdd94('0xc'));var _=require('lodash');var squel=require(_0xdd94('0xd'));var crypto=require('crypto');var jsforce=require(_0xdd94('0xe'));var deskjs=require(_0xdd94('0xf'));var toCsv=require('to-csv');var querystring=require(_0xdd94('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xdd94('0x11'));var qs=require(_0xdd94('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xdd94('0x13'))('api');var utils=require('../../config/utils');var config=require(_0xdd94('0x14'));var licenseUtil=require(_0xdd94('0x15'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x5cd90a,_0x183906){_0x183906=_0x183906||0xcc;return function(_0x2bad00){if(_0x2bad00){return _0x5cd90a['sendStatus'](_0x183906);}return _0x5cd90a[_0xdd94('0x16')](_0x183906)['end']();};}function respondWithResult(_0xdbda0d,_0xf69396){_0xf69396=_0xf69396||0xc8;return function(_0x48dc5f){if(_0x48dc5f){return _0xdbda0d[_0xdd94('0x16')](_0xf69396)[_0xdd94('0x17')](_0x48dc5f);}};}function respondWithFilteredResult(_0x47c8e0,_0x3d838c){return function(_0x57f960){if(_0x57f960){var _0x5f04fe=typeof _0x3d838c[_0xdd94('0x18')]==='undefined'&&typeof _0x3d838c[_0xdd94('0x19')]===_0xdd94('0x1a');var _0xfe4191=_0x57f960['count'];var _0x50c855=_0x5f04fe?0x0:_0x3d838c[_0xdd94('0x18')];var _0x405128=_0x5f04fe?_0x57f960[_0xdd94('0x1b')]:_0x3d838c[_0xdd94('0x18')]+_0x3d838c[_0xdd94('0x19')];var _0x4b8013;if(_0x405128>=_0xfe4191){_0x405128=_0xfe4191;_0x4b8013=0xc8;}else{_0x4b8013=0xce;}_0x47c8e0['status'](_0x4b8013);return _0x47c8e0[_0xdd94('0x1c')](_0xdd94('0x1d'),_0x50c855+'-'+_0x405128+'/'+_0xfe4191)[_0xdd94('0x17')](_0x57f960);}return null;};}function patchUpdates(_0x4a9cd0){return function(_0x10aa5c){try{jsonpatch[_0xdd94('0x1e')](_0x10aa5c,_0x4a9cd0,!![]);}catch(_0x5157e0){return BPromise[_0xdd94('0x1f')](_0x5157e0);}return _0x10aa5c[_0xdd94('0x20')]();};}function saveUpdates(_0x3433d9,_0x20f79b){return function(_0x2f78e3){if(_0x2f78e3){return _0x2f78e3[_0xdd94('0x21')](_0x3433d9)[_0xdd94('0x22')](function(_0x484ae1){return _0x484ae1;});}return null;};}function removeEntity(_0x44a6b6,_0x5e9032){return function(_0x321d09){if(_0x321d09){return _0x321d09[_0xdd94('0x23')]()[_0xdd94('0x22')](function(){_0x44a6b6[_0xdd94('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x562c12,_0x1fec69){return function(_0x253084){if(!_0x253084){_0x562c12[_0xdd94('0x24')](0x194);}return _0x253084;};}function handleError(_0x520f99,_0x484820){_0x484820=_0x484820||0x1f4;return function(_0x4fe22b){logger[_0xdd94('0x25')](_0x4fe22b['stack']);if(_0x4fe22b[_0xdd94('0x26')]){delete _0x4fe22b['name'];}_0x520f99[_0xdd94('0x16')](_0x484820)['send'](_0x4fe22b);};}exports[_0xdd94('0x27')]=function(_0xe5b8bc,_0x3ec503){var _0x3242ab={},_0xa088f6={},_0x1fcaad={'count':0x0,'rows':[]};var _0x1b73b2=_[_0xdd94('0x28')](db[_0xdd94('0x29')][_0xdd94('0x2a')],function(_0x221e10){return{'name':_0x221e10[_0xdd94('0x2b')],'type':_0x221e10['type']['key']};});_0xa088f6[_0xdd94('0x2c')]=_[_0xdd94('0x28')](_0x1b73b2,_0xdd94('0x26'));_0xa088f6[_0xdd94('0x2d')]=_[_0xdd94('0x2e')](_0xe5b8bc['query']);_0xa088f6[_0xdd94('0x2f')]=_[_0xdd94('0x30')](_0xa088f6[_0xdd94('0x2c')],_0xa088f6[_0xdd94('0x2d')]);_0x3242ab['attributes']=_[_0xdd94('0x30')](_0xa088f6[_0xdd94('0x2c')],qs[_0xdd94('0x31')](_0xe5b8bc['query']['fields']));_0x3242ab[_0xdd94('0x32')]=_0x3242ab['attributes']['length']?_0x3242ab[_0xdd94('0x32')]:_0xa088f6[_0xdd94('0x2c')];if(!_0xe5b8bc[_0xdd94('0x2d')][_0xdd94('0x33')](_0xdd94('0x34'))){_0x3242ab[_0xdd94('0x19')]=qs[_0xdd94('0x19')](_0xe5b8bc[_0xdd94('0x2d')]['limit']);_0x3242ab[_0xdd94('0x18')]=qs[_0xdd94('0x18')](_0xe5b8bc['query'][_0xdd94('0x18')]);}_0x3242ab[_0xdd94('0x35')]=qs['sort'](_0xe5b8bc[_0xdd94('0x2d')]['sort']);_0x3242ab[_0xdd94('0x36')]=qs[_0xdd94('0x2f')](_[_0xdd94('0x37')](_0xe5b8bc['query'],_0xa088f6[_0xdd94('0x2f')]),_0x1b73b2);if(_0xe5b8bc[_0xdd94('0x2d')][_0xdd94('0x38')]){_0x3242ab[_0xdd94('0x36')]=_[_0xdd94('0x39')](_0x3242ab[_0xdd94('0x36')],{'$or':_['map'](_0x1b73b2,function(_0x5f501a){if(_0x5f501a['type']!=='VIRTUAL'){var _0x38df21={};_0x38df21[_0x5f501a['name']]={'$like':'%'+_0xe5b8bc[_0xdd94('0x2d')]['filter']+'%'};return _0x38df21;}})});}_0x3242ab=_[_0xdd94('0x39')]({},_0x3242ab,_0xe5b8bc[_0xdd94('0x3a')]);var _0x4d52bc={'where':_0x3242ab['where']};return db[_0xdd94('0x29')][_0xdd94('0x1b')](_0x4d52bc)[_0xdd94('0x22')](function(_0x38ac92){_0x1fcaad[_0xdd94('0x1b')]=_0x38ac92;if(_0xe5b8bc[_0xdd94('0x2d')]['includeAll']){_0x3242ab[_0xdd94('0x3b')]=[{'all':!![]}];}return db[_0xdd94('0x29')]['findAll'](_0x3242ab);})[_0xdd94('0x22')](function(_0xb24784){_0x1fcaad['rows']=_0xb24784;return _0x1fcaad;})[_0xdd94('0x22')](respondWithFilteredResult(_0x3ec503,_0x3242ab))[_0xdd94('0x3c')](handleError(_0x3ec503,null));};exports[_0xdd94('0x3d')]=function(_0xae4270,_0x4ef004){var _0x10de3a={'raw':![],'where':{'id':_0xae4270[_0xdd94('0x3e')]['id']}},_0x3d6be3={};_0x3d6be3['model']=_['keys'](db[_0xdd94('0x29')][_0xdd94('0x2a')]);_0x3d6be3['query']=_[_0xdd94('0x2e')](_0xae4270[_0xdd94('0x2d')]);_0x3d6be3['filters']=_[_0xdd94('0x30')](_0x3d6be3[_0xdd94('0x2c')],_0x3d6be3[_0xdd94('0x2d')]);_0x10de3a[_0xdd94('0x32')]=_[_0xdd94('0x30')](_0x3d6be3['model'],qs[_0xdd94('0x31')](_0xae4270['query'][_0xdd94('0x31')]));_0x10de3a[_0xdd94('0x32')]=_0x10de3a[_0xdd94('0x32')]['length']?_0x10de3a['attributes']:_0x3d6be3[_0xdd94('0x2c')];if(_0xae4270[_0xdd94('0x2d')][_0xdd94('0x3f')]){_0x10de3a[_0xdd94('0x3b')]=[{'all':!![]}];}_0x10de3a=_['merge']({},_0x10de3a,_0xae4270[_0xdd94('0x3a')]);return db[_0xdd94('0x29')]['find'](_0x10de3a)[_0xdd94('0x22')](handleEntityNotFound(_0x4ef004,null))[_0xdd94('0x22')](respondWithResult(_0x4ef004,null))[_0xdd94('0x3c')](handleError(_0x4ef004,null));};exports[_0xdd94('0x40')]=function(_0xd61fe5,_0x29a90c){return db[_0xdd94('0x29')][_0xdd94('0x40')](_0xd61fe5['body'],{})['then'](respondWithResult(_0x29a90c,0xc9))[_0xdd94('0x3c')](handleError(_0x29a90c,null));};exports['update']=function(_0x174bc0,_0x1c15ae){if(_0x174bc0[_0xdd94('0x41')]['id']){delete _0x174bc0['body']['id'];}return db[_0xdd94('0x29')][_0xdd94('0x42')]({'where':{'id':_0x174bc0['params']['id']}})[_0xdd94('0x22')](handleEntityNotFound(_0x1c15ae,null))[_0xdd94('0x22')](saveUpdates(_0x174bc0[_0xdd94('0x41')],null))[_0xdd94('0x22')](respondWithResult(_0x1c15ae,null))[_0xdd94('0x3c')](handleError(_0x1c15ae,null));};exports[_0xdd94('0x23')]=function(_0x251c95,_0x20cfc8){return db[_0xdd94('0x29')]['find']({'where':{'id':_0x251c95[_0xdd94('0x3e')]['id']}})[_0xdd94('0x22')](handleEntityNotFound(_0x20cfc8,null))[_0xdd94('0x22')](removeEntity(_0x20cfc8,null))[_0xdd94('0x3c')](handleError(_0x20cfc8,null));};exports[_0xdd94('0x43')]=function(_0x26479f,_0x36731b,_0x2cde04){var _0x42cf0e={};var _0x2b6561={};var _0xbc79b1;var _0x3b84d3;return db[_0xdd94('0x29')]['findOne']({'where':{'id':_0x26479f[_0xdd94('0x3e')]['id']}})[_0xdd94('0x22')](handleEntityNotFound(_0x36731b,null))[_0xdd94('0x22')](function(_0x1f9e81){if(_0x1f9e81){_0xbc79b1=_0x1f9e81;_0x2b6561[_0xdd94('0x2c')]=_[_0xdd94('0x2e')](db[_0xdd94('0x44')]['rawAttributes']);_0x2b6561['query']=_[_0xdd94('0x2e')](_0x26479f[_0xdd94('0x2d')]);_0x2b6561[_0xdd94('0x2f')]=_['intersection'](_0x2b6561[_0xdd94('0x2c')],_0x2b6561[_0xdd94('0x2d')]);_0x42cf0e[_0xdd94('0x32')]=_[_0xdd94('0x30')](_0x2b6561[_0xdd94('0x2c')],qs[_0xdd94('0x31')](_0x26479f[_0xdd94('0x2d')][_0xdd94('0x31')]));_0x42cf0e[_0xdd94('0x32')]=_0x42cf0e['attributes'][_0xdd94('0x45')]?_0x42cf0e[_0xdd94('0x32')]:_0x2b6561[_0xdd94('0x2c')];_0x42cf0e[_0xdd94('0x35')]=qs[_0xdd94('0x46')](_0x26479f[_0xdd94('0x2d')][_0xdd94('0x46')]);_0x42cf0e[_0xdd94('0x36')]=qs[_0xdd94('0x2f')](_['pick'](_0x26479f['query'],_0x2b6561[_0xdd94('0x2f')]));if(_0x26479f[_0xdd94('0x2d')][_0xdd94('0x38')]){_0x42cf0e[_0xdd94('0x36')]=_[_0xdd94('0x39')](_0x42cf0e[_0xdd94('0x36')],{'$or':_[_0xdd94('0x28')](_0x42cf0e[_0xdd94('0x32')],function(_0x5f137e){var _0x255b67={};_0x255b67[_0x5f137e]={'$like':'%'+_0x26479f['query'][_0xdd94('0x38')]+'%'};return _0x255b67;})});}_0x42cf0e=_['merge']({},_0x42cf0e,_0x26479f[_0xdd94('0x3a')]);return _0xbc79b1[_0xdd94('0x43')](_0x42cf0e);}})[_0xdd94('0x22')](function(_0x207d9c){if(_0x207d9c){_0x3b84d3=_0x207d9c[_0xdd94('0x45')];if(!_0x26479f['query'][_0xdd94('0x33')]('nolimit')){_0x42cf0e['limit']=qs[_0xdd94('0x19')](_0x26479f[_0xdd94('0x2d')][_0xdd94('0x19')]);_0x42cf0e[_0xdd94('0x18')]=qs['offset'](_0x26479f[_0xdd94('0x2d')][_0xdd94('0x18')]);}return _0xbc79b1[_0xdd94('0x43')](_0x42cf0e);}})['then'](function(_0x56da46){if(_0x56da46){return _0x56da46?{'count':_0x3b84d3,'rows':_0x56da46}:null;}})['then'](respondWithResult(_0x36731b,null))['catch'](handleError(_0x36731b,null));};exports[_0xdd94('0x47')]=function(_0x4a9dcf,_0x9c5ffd,_0x216a98){if(_0x4a9dcf[_0xdd94('0x41')]['id']){delete _0x4a9dcf[_0xdd94('0x41')]['id'];}return db[_0xdd94('0x29')]['findOne']({'where':{'id':_0x4a9dcf[_0xdd94('0x3e')]['id']}})[_0xdd94('0x22')](handleEntityNotFound(_0x9c5ffd,null))['then'](function(_0x3d6dc6){if(_0x3d6dc6){_0x4a9dcf[_0xdd94('0x41')]['AccountId']=_0x3d6dc6['id'];_0x4a9dcf[_0xdd94('0x41')][_0xdd94('0x48')]=integrations[_0xdd94('0x49')](_0x4a9dcf['body'][_0xdd94('0x4a')],_0x4a9dcf['body']['type']);_0x4a9dcf[_0xdd94('0x41')][_0xdd94('0x4b')]=integrations[_0xdd94('0x4c')](_0x4a9dcf[_0xdd94('0x41')]['channel'],_0x4a9dcf[_0xdd94('0x41')][_0xdd94('0x4d')]);return db[_0xdd94('0x44')][_0xdd94('0x40')](_0x4a9dcf[_0xdd94('0x41')],{'include':[{'model':db[_0xdd94('0x4e')],'as':'Subjects'},{'model':db[_0xdd94('0x4e')],'as':_0xdd94('0x4b')}]});}return null;})['then'](respondWithResult(_0x9c5ffd,null))['catch'](handleError(_0x9c5ffd,null));};exports['getFields']=function(_0x536253,_0x3a8d5a,_0x1d914e){var _0x3f7556;var _0x52db32='';var _0x1d14f4=_0xdd94('0x4f');return db['SalesforceAccount'][_0xdd94('0x50')]({'where':{'id':_0x536253[_0xdd94('0x3e')]['id']},'attributes':['id',_0xdd94('0x51'),_0xdd94('0x52'),_0xdd94('0x53'),'username','password',_0xdd94('0x54')]})['then'](handleEntityNotFound(_0x3a8d5a,null))[_0xdd94('0x22')](function(_0x18b7ef){if(_0x18b7ef){_0x52db32=_0x18b7ef[_0xdd94('0x51')];var _0x2120bd=_0x52db32['slice'](-0x1);if(_0x2120bd==='/'){_0x52db32=_0x52db32[_0xdd94('0x55')](0x0,_0x52db32[_0xdd94('0x56')](_0x2120bd));}_0x3f7556=new jsforce[(_0xdd94('0x57'))]({'oauth2':{'loginUrl':_0x52db32,'clientId':_0x18b7ef['clientId'],'clientSecret':_0x18b7ef[_0xdd94('0x53')]}});return _0x3f7556[_0xdd94('0x58')](_0x18b7ef[_0xdd94('0x59')],_0x18b7ef[_0xdd94('0x5a')][_0xdd94('0x5b')](_0x18b7ef[_0xdd94('0x54')]));}})[_0xdd94('0x22')](function(_0x2d5102){if(_0x2d5102){if(!_[_0xdd94('0x5c')](_0x536253[_0xdd94('0x2d')]['ticketType'])){_0x1d14f4=_0x536253['query']['ticketType'];}return _0x3f7556[_0xdd94('0x5d')](_0x1d14f4)[_0xdd94('0x5e')]();}})[_0xdd94('0x22')](function(_0x1053cf){var _0x3a50a2=['OwnerId',_0xdd94('0x5f'),'IsReminderSet',_0xdd94('0x60'),_0xdd94('0x61'),_0xdd94('0x62')];var _0x4f8e98=[_0xdd94('0x63'),'int',_0xdd94('0x64'),_0xdd94('0x65'),_0xdd94('0x66'),_0xdd94('0x67'),_0xdd94('0x68')];if(_0x1053cf){_[_0xdd94('0x69')](_0x1053cf[_0xdd94('0x31')],function(_0x297f4c){return _0x3a50a2[_0xdd94('0x6a')](_0x297f4c[_0xdd94('0x26')])||!_0x4f8e98[_0xdd94('0x6a')](_0x297f4c[_0xdd94('0x4d')]);});return{'count':_0x1053cf[_0xdd94('0x31')][_0xdd94('0x45')],'rows':_[_0xdd94('0x28')](_0x1053cf[_0xdd94('0x31')],function(_0x55ae68){return{'id':_0x55ae68[_0xdd94('0x26')],'name':_0x55ae68['label'],'custom':_0x55ae68[_0xdd94('0x6b')],'options':_0x55ae68[_0xdd94('0x6c')][_0xdd94('0x45')]>0x0?_[_0xdd94('0x28')](_0x55ae68['picklistValues'],function(_0x38fc1a){return{'name':_0x38fc1a['label'],'value':_0x38fc1a[_0xdd94('0x6d')]};}):_0x55ae68[_0xdd94('0x4d')]==_0xdd94('0x65')?[{'name':_0xdd94('0x6e'),'value':'true'},{'name':_0xdd94('0x6f'),'value':'false'}]:[]};})};}})[_0xdd94('0x22')](respondWithResult(_0x3a8d5a,null))[_0xdd94('0x3c')](function(_0x595131){var _0x138ac6=_0x536253['query']['test']?0x1f4:_0x595131[_0xdd94('0x70')]||0x1f4;logger[_0xdd94('0x25')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x138ac6,JSON[_0xdd94('0x71')](_0x595131));delete _0x595131[_0xdd94('0x26')];if(_0x138ac6===0x191){_0x138ac6=0x190;}_0x3a8d5a[_0xdd94('0x16')](_0x138ac6)[_0xdd94('0x72')](_0x536253[_0xdd94('0x2d')][_0xdd94('0x73')]?{'message':'Wrong\x20credentials','statusCode':_0x595131[_0xdd94('0x70')]}:_0x595131);});};