Built motion from commit 3061e47c.|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 _0x717e=['offset','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','where','merge','filter','options','include','findAll','catch','params','keys','includeAll','create','body','find','findOne','pick','getConfigurations','addConfiguration','Subjects','channel','getDescriptions','SalesforceConfiguration','SalesforceField','Descriptions','getFields','Task','remoteUri','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','clientId','login','concat','ticketType','OwnerId','IsRecurrence','Subject','string','int','picklist','boolean','email','textarea','phone','includes','label','custom','picklistValues','value','True','true','False','false','test','statusCode','Wrong\x20credentials','rimraf','request-promise','bluebird','mustache','util','sox','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0x717e,0xd1));var _0xe717=function(_0x21d532,_0x4552a4){_0x21d532=_0x21d532-0x0;var _0x37bda1=_0x717e[_0x21d532];return _0x37bda1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe717('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xe717('0x1'));var moment=require('moment');var BPromise=require(_0xe717('0x2'));var Mustache=require(_0xe717('0x3'));var util=require(_0xe717('0x4'));var path=require('path');var sox=require(_0xe717('0x5'));var csv=require('to-csv');var ejs=require(_0xe717('0x6'));var fs=require('fs');var fs_extra=require(_0xe717('0x7'));var _=require(_0xe717('0x8'));var squel=require(_0xe717('0x9'));var crypto=require(_0xe717('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xe717('0xb'));var Papa=require(_0xe717('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xe717('0xd'));var as=require(_0xe717('0xe'));var hardwareService=require(_0xe717('0xf'));var logger=require(_0xe717('0x10'))(_0xe717('0x11'));var utils=require(_0xe717('0x12'));var config=require(_0xe717('0x13'));var licenseUtil=require(_0xe717('0x14'));var db=require(_0xe717('0x15'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x3ea172,_0x5227ea){_0x5227ea=_0x5227ea||0xcc;return function(_0x5f252a){if(_0x5f252a){return _0x3ea172[_0xe717('0x16')](_0x5227ea);}return _0x3ea172[_0xe717('0x17')](_0x5227ea)[_0xe717('0x18')]();};}function respondWithResult(_0x3d1ed5,_0x4524aa){_0x4524aa=_0x4524aa||0xc8;return function(_0x809fb){if(_0x809fb){return _0x3d1ed5[_0xe717('0x17')](_0x4524aa)[_0xe717('0x19')](_0x809fb);}};}function respondWithFilteredResult(_0x40e8f0,_0xeb216d){return function(_0x50d290){if(_0x50d290){var _0x252904=typeof _0xeb216d['offset']==='undefined'&&typeof _0xeb216d[_0xe717('0x1a')]===_0xe717('0x1b');var _0x5680d7=_0x50d290[_0xe717('0x1c')];var _0x3dce9e=_0x252904?0x0:_0xeb216d[_0xe717('0x1d')];var _0xfd7b15=_0x252904?_0x50d290[_0xe717('0x1c')]:_0xeb216d[_0xe717('0x1d')]+_0xeb216d[_0xe717('0x1a')];var _0x3a4579;if(_0xfd7b15>=_0x5680d7){_0xfd7b15=_0x5680d7;_0x3a4579=0xc8;}else{_0x3a4579=0xce;}_0x40e8f0[_0xe717('0x17')](_0x3a4579);return _0x40e8f0[_0xe717('0x1e')](_0xe717('0x1f'),_0x3dce9e+'-'+_0xfd7b15+'/'+_0x5680d7)[_0xe717('0x19')](_0x50d290);}return null;};}function patchUpdates(_0x31c869){return function(_0x5e09d2){try{jsonpatch[_0xe717('0x20')](_0x5e09d2,_0x31c869,!![]);}catch(_0x5054c1){return BPromise[_0xe717('0x21')](_0x5054c1);}return _0x5e09d2[_0xe717('0x22')]();};}function saveUpdates(_0x4e82e8,_0x4eb9b5){return function(_0x156d76){if(_0x156d76){return _0x156d76[_0xe717('0x23')](_0x4e82e8)[_0xe717('0x24')](function(_0x1e71f4){return _0x1e71f4;});}return null;};}function removeEntity(_0x2aba58,_0xf73a87){return function(_0x441e66){if(_0x441e66){return _0x441e66[_0xe717('0x25')]()[_0xe717('0x24')](function(){_0x2aba58[_0xe717('0x17')](0xcc)[_0xe717('0x18')]();});}};}function handleEntityNotFound(_0x3e6a67,_0x701ea0){return function(_0xe535d3){if(!_0xe535d3){_0x3e6a67['sendStatus'](0x194);}return _0xe535d3;};}function handleError(_0x3bbeb1,_0x1ad9e7){_0x1ad9e7=_0x1ad9e7||0x1f4;return function(_0x412e51){logger[_0xe717('0x26')](_0x412e51[_0xe717('0x27')]);if(_0x412e51[_0xe717('0x28')]){delete _0x412e51['name'];}_0x3bbeb1[_0xe717('0x17')](_0x1ad9e7)[_0xe717('0x29')](_0x412e51);};}exports[_0xe717('0x2a')]=function(_0x5f1acb,_0x22c83a){var _0x242e0d={},_0x2e211c={},_0x47f844={'count':0x0,'rows':[]};var _0x2061a2=_[_0xe717('0x2b')](db[_0xe717('0x2c')][_0xe717('0x2d')],function(_0xa89ae){return{'name':_0xa89ae[_0xe717('0x2e')],'type':_0xa89ae[_0xe717('0x2f')][_0xe717('0x30')]};});_0x2e211c[_0xe717('0x31')]=_[_0xe717('0x2b')](_0x2061a2,_0xe717('0x28'));_0x2e211c[_0xe717('0x32')]=_['keys'](_0x5f1acb[_0xe717('0x32')]);_0x2e211c['filters']=_[_0xe717('0x33')](_0x2e211c[_0xe717('0x31')],_0x2e211c[_0xe717('0x32')]);_0x242e0d[_0xe717('0x34')]=_[_0xe717('0x33')](_0x2e211c[_0xe717('0x31')],qs['fields'](_0x5f1acb[_0xe717('0x32')][_0xe717('0x35')]));_0x242e0d[_0xe717('0x34')]=_0x242e0d['attributes'][_0xe717('0x36')]?_0x242e0d['attributes']:_0x2e211c[_0xe717('0x31')];if(!_0x5f1acb['query'][_0xe717('0x37')](_0xe717('0x38'))){_0x242e0d[_0xe717('0x1a')]=qs[_0xe717('0x1a')](_0x5f1acb[_0xe717('0x32')][_0xe717('0x1a')]);_0x242e0d[_0xe717('0x1d')]=qs[_0xe717('0x1d')](_0x5f1acb[_0xe717('0x32')][_0xe717('0x1d')]);}_0x242e0d['order']=qs[_0xe717('0x39')](_0x5f1acb[_0xe717('0x32')]['sort']);_0x242e0d['where']=qs[_0xe717('0x3a')](_['pick'](_0x5f1acb[_0xe717('0x32')],_0x2e211c[_0xe717('0x3a')]),_0x2061a2);if(_0x5f1acb[_0xe717('0x32')]['filter']){_0x242e0d[_0xe717('0x3b')]=_[_0xe717('0x3c')](_0x242e0d[_0xe717('0x3b')],{'$or':_[_0xe717('0x2b')](_0x2061a2,function(_0x4faf68){if(_0x4faf68['type']!=='VIRTUAL'){var _0x62c2ef={};_0x62c2ef[_0x4faf68[_0xe717('0x28')]]={'$like':'%'+_0x5f1acb[_0xe717('0x32')][_0xe717('0x3d')]+'%'};return _0x62c2ef;}})});}_0x242e0d=_[_0xe717('0x3c')]({},_0x242e0d,_0x5f1acb[_0xe717('0x3e')]);var _0x31304a={'where':_0x242e0d[_0xe717('0x3b')]};return db[_0xe717('0x2c')][_0xe717('0x1c')](_0x31304a)[_0xe717('0x24')](function(_0x57b6f7){_0x47f844[_0xe717('0x1c')]=_0x57b6f7;if(_0x5f1acb['query']['includeAll']){_0x242e0d[_0xe717('0x3f')]=[{'all':!![]}];}return db[_0xe717('0x2c')][_0xe717('0x40')](_0x242e0d);})[_0xe717('0x24')](function(_0x3b9bb9){_0x47f844['rows']=_0x3b9bb9;return _0x47f844;})[_0xe717('0x24')](respondWithFilteredResult(_0x22c83a,_0x242e0d))[_0xe717('0x41')](handleError(_0x22c83a,null));};exports['show']=function(_0x5c1037,_0x431aa7){var _0xbf5b65={'raw':![],'where':{'id':_0x5c1037[_0xe717('0x42')]['id']}},_0x5a8d2b={};_0x5a8d2b[_0xe717('0x31')]=_[_0xe717('0x43')](db[_0xe717('0x2c')][_0xe717('0x2d')]);_0x5a8d2b['query']=_[_0xe717('0x43')](_0x5c1037[_0xe717('0x32')]);_0x5a8d2b[_0xe717('0x3a')]=_[_0xe717('0x33')](_0x5a8d2b[_0xe717('0x31')],_0x5a8d2b[_0xe717('0x32')]);_0xbf5b65[_0xe717('0x34')]=_[_0xe717('0x33')](_0x5a8d2b['model'],qs[_0xe717('0x35')](_0x5c1037['query']['fields']));_0xbf5b65[_0xe717('0x34')]=_0xbf5b65['attributes'][_0xe717('0x36')]?_0xbf5b65['attributes']:_0x5a8d2b['model'];if(_0x5c1037[_0xe717('0x32')][_0xe717('0x44')]){_0xbf5b65['include']=[{'all':!![]}];}_0xbf5b65=_[_0xe717('0x3c')]({},_0xbf5b65,_0x5c1037[_0xe717('0x3e')]);return db[_0xe717('0x2c')]['find'](_0xbf5b65)[_0xe717('0x24')](handleEntityNotFound(_0x431aa7,null))[_0xe717('0x24')](respondWithResult(_0x431aa7,null))[_0xe717('0x41')](handleError(_0x431aa7,null));};exports[_0xe717('0x45')]=function(_0xf2d592,_0x3232a8){return db[_0xe717('0x2c')][_0xe717('0x45')](_0xf2d592[_0xe717('0x46')],{})[_0xe717('0x24')](respondWithResult(_0x3232a8,0xc9))[_0xe717('0x41')](handleError(_0x3232a8,null));};exports['update']=function(_0x123c04,_0x2f8f2f){if(_0x123c04[_0xe717('0x46')]['id']){delete _0x123c04[_0xe717('0x46')]['id'];}return db[_0xe717('0x2c')][_0xe717('0x47')]({'where':{'id':_0x123c04[_0xe717('0x42')]['id']}})[_0xe717('0x24')](handleEntityNotFound(_0x2f8f2f,null))['then'](saveUpdates(_0x123c04[_0xe717('0x46')],null))[_0xe717('0x24')](respondWithResult(_0x2f8f2f,null))[_0xe717('0x41')](handleError(_0x2f8f2f,null));};exports[_0xe717('0x25')]=function(_0x3a5a3d,_0x3be7aa){return db[_0xe717('0x2c')]['find']({'where':{'id':_0x3a5a3d['params']['id']}})['then'](handleEntityNotFound(_0x3be7aa,null))['then'](removeEntity(_0x3be7aa,null))[_0xe717('0x41')](handleError(_0x3be7aa,null));};exports['getConfigurations']=function(_0x22e2d,_0x36b52b,_0x3dec77){var _0x3c8b11={};var _0x1e5ae1={};var _0x20dce4;var _0x59efc1;return db[_0xe717('0x2c')][_0xe717('0x48')]({'where':{'id':_0x22e2d['params']['id']}})[_0xe717('0x24')](handleEntityNotFound(_0x36b52b,null))[_0xe717('0x24')](function(_0x17a3a6){if(_0x17a3a6){_0x20dce4=_0x17a3a6;_0x1e5ae1[_0xe717('0x31')]=_['keys'](db['SalesforceConfiguration'][_0xe717('0x2d')]);_0x1e5ae1[_0xe717('0x32')]=_[_0xe717('0x43')](_0x22e2d[_0xe717('0x32')]);_0x1e5ae1[_0xe717('0x3a')]=_[_0xe717('0x33')](_0x1e5ae1[_0xe717('0x31')],_0x1e5ae1[_0xe717('0x32')]);_0x3c8b11[_0xe717('0x34')]=_[_0xe717('0x33')](_0x1e5ae1[_0xe717('0x31')],qs[_0xe717('0x35')](_0x22e2d[_0xe717('0x32')][_0xe717('0x35')]));_0x3c8b11[_0xe717('0x34')]=_0x3c8b11[_0xe717('0x34')][_0xe717('0x36')]?_0x3c8b11[_0xe717('0x34')]:_0x1e5ae1[_0xe717('0x31')];_0x3c8b11['order']=qs[_0xe717('0x39')](_0x22e2d[_0xe717('0x32')]['sort']);_0x3c8b11['where']=qs['filters'](_[_0xe717('0x49')](_0x22e2d[_0xe717('0x32')],_0x1e5ae1[_0xe717('0x3a')]));if(_0x22e2d[_0xe717('0x32')][_0xe717('0x3d')]){_0x3c8b11[_0xe717('0x3b')]=_[_0xe717('0x3c')](_0x3c8b11[_0xe717('0x3b')],{'$or':_['map'](_0x3c8b11['attributes'],function(_0x26f030){var _0x1657f1={};_0x1657f1[_0x26f030]={'$like':'%'+_0x22e2d[_0xe717('0x32')][_0xe717('0x3d')]+'%'};return _0x1657f1;})});}_0x3c8b11=_[_0xe717('0x3c')]({},_0x3c8b11,_0x22e2d[_0xe717('0x3e')]);return _0x20dce4[_0xe717('0x4a')](_0x3c8b11);}})[_0xe717('0x24')](function(_0x5dfef1){if(_0x5dfef1){_0x59efc1=_0x5dfef1['length'];if(!_0x22e2d[_0xe717('0x32')]['hasOwnProperty']('nolimit')){_0x3c8b11['limit']=qs[_0xe717('0x1a')](_0x22e2d[_0xe717('0x32')]['limit']);_0x3c8b11[_0xe717('0x1d')]=qs[_0xe717('0x1d')](_0x22e2d[_0xe717('0x32')]['offset']);}return _0x20dce4['getConfigurations'](_0x3c8b11);}})[_0xe717('0x24')](function(_0x4a590c){if(_0x4a590c){return _0x4a590c?{'count':_0x59efc1,'rows':_0x4a590c}:null;}})['then'](respondWithResult(_0x36b52b,null))['catch'](handleError(_0x36b52b,null));};exports[_0xe717('0x4b')]=function(_0x287f23,_0x1dd19e,_0x37408b){if(_0x287f23[_0xe717('0x46')]['id']){delete _0x287f23[_0xe717('0x46')]['id'];}return db[_0xe717('0x2c')][_0xe717('0x48')]({'where':{'id':_0x287f23[_0xe717('0x42')]['id']}})[_0xe717('0x24')](handleEntityNotFound(_0x1dd19e,null))['then'](function(_0x32956c){if(_0x32956c){_0x287f23[_0xe717('0x46')]['AccountId']=_0x32956c['id'];_0x287f23[_0xe717('0x46')][_0xe717('0x4c')]=integrations['getSubjects'](_0x287f23[_0xe717('0x46')][_0xe717('0x4d')],_0x287f23[_0xe717('0x46')][_0xe717('0x2f')]);_0x287f23[_0xe717('0x46')]['Descriptions']=integrations[_0xe717('0x4e')](_0x287f23[_0xe717('0x46')][_0xe717('0x4d')],_0x287f23[_0xe717('0x46')]['type']);return db[_0xe717('0x4f')]['create'](_0x287f23[_0xe717('0x46')],{'include':[{'model':db[_0xe717('0x50')],'as':_0xe717('0x4c')},{'model':db[_0xe717('0x50')],'as':_0xe717('0x51')}]});}return null;})[_0xe717('0x24')](respondWithResult(_0x1dd19e,null))['catch'](handleError(_0x1dd19e,null));};exports[_0xe717('0x52')]=function(_0x4c7178,_0x3fec5a,_0x42994b){var _0x1abc34;var _0xf92911='';var _0xbb457b=_0xe717('0x53');return db['SalesforceAccount'][_0xe717('0x48')]({'where':{'id':_0x4c7178[_0xe717('0x42')]['id']},'attributes':['id',_0xe717('0x54'),'clientId',_0xe717('0x55'),_0xe717('0x56'),_0xe717('0x57'),_0xe717('0x58')]})[_0xe717('0x24')](handleEntityNotFound(_0x3fec5a,null))[_0xe717('0x24')](function(_0x1a93c6){if(_0x1a93c6){_0xf92911=_0x1a93c6[_0xe717('0x54')];var _0x144192=_0xf92911[_0xe717('0x59')](-0x1);if(_0x144192==='/'){_0xf92911=_0xf92911[_0xe717('0x5a')](0x0,_0xf92911[_0xe717('0x5b')](_0x144192));}_0x1abc34=new jsforce[(_0xe717('0x5c'))]({'oauth2':{'loginUrl':_0xf92911,'clientId':_0x1a93c6[_0xe717('0x5d')],'clientSecret':_0x1a93c6[_0xe717('0x55')]}});return _0x1abc34[_0xe717('0x5e')](_0x1a93c6[_0xe717('0x56')],_0x1a93c6[_0xe717('0x57')][_0xe717('0x5f')](_0x1a93c6[_0xe717('0x58')]));}})['then'](function(_0x4cb1fa){if(_0x4cb1fa){if(!_['isNil'](_0x4c7178[_0xe717('0x32')][_0xe717('0x60')])){_0xbb457b=_0x4c7178[_0xe717('0x32')][_0xe717('0x60')];}return _0x1abc34['sobject'](_0xbb457b)['describe']();}})[_0xe717('0x24')](function(_0x123f70){var _0x5d8140=[_0xe717('0x61'),'ActivityDate','IsReminderSet',_0xe717('0x62'),_0xe717('0x63'),'Description'];var _0x122a02=[_0xe717('0x64'),_0xe717('0x65'),_0xe717('0x66'),_0xe717('0x67'),_0xe717('0x68'),_0xe717('0x69'),_0xe717('0x6a')];if(_0x123f70){_['remove'](_0x123f70['fields'],function(_0x472249){return _0x5d8140[_0xe717('0x6b')](_0x472249[_0xe717('0x28')])||!_0x122a02['includes'](_0x472249['type']);});return{'count':_0x123f70[_0xe717('0x35')]['length'],'rows':_['map'](_0x123f70[_0xe717('0x35')],function(_0x52237d){return{'id':_0x52237d[_0xe717('0x28')],'name':_0x52237d[_0xe717('0x6c')],'custom':_0x52237d[_0xe717('0x6d')],'options':_0x52237d[_0xe717('0x6e')][_0xe717('0x36')]>0x0?_[_0xe717('0x2b')](_0x52237d[_0xe717('0x6e')],function(_0x491326){return{'name':_0x491326['label'],'value':_0x491326[_0xe717('0x6f')]};}):_0x52237d['type']==_0xe717('0x67')?[{'name':_0xe717('0x70'),'value':_0xe717('0x71')},{'name':_0xe717('0x72'),'value':_0xe717('0x73')}]:[]};})};}})[_0xe717('0x24')](respondWithResult(_0x3fec5a,null))[_0xe717('0x41')](function(_0x41c581){var _0x1d9ce9=_0x4c7178[_0xe717('0x32')][_0xe717('0x74')]?0x1f4:_0x41c581[_0xe717('0x75')]||0x1f4;logger[_0xe717('0x26')]('getFields,\x20%s,\x20%s,\x20%s',_0xe717('0x52'),_0x1d9ce9,JSON['stringify'](_0x41c581));delete _0x41c581[_0xe717('0x28')];if(_0x1d9ce9===0x191){_0x1d9ce9=0x190;}_0x3fec5a['status'](_0x1d9ce9)[_0xe717('0x29')](_0x4c7178[_0xe717('0x32')][_0xe717('0x74')]?{'message':_0xe717('0x76'),'statusCode':_0x41c581[_0xe717('0x75')]}:_0x41c581);});};