Built motion from commit 449495f6.|2.6.27
[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 _0xa575=['limit','count','Content-Range','reject','save','update','then','destroy','sendStatus','error','stack','name','status','index','rawAttributes','fieldName','type','key','keys','query','filters','intersection','attributes','fields','model','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','includeAll','include','SalesforceAccount','findAll','rows','catch','show','length','merge','options','create','body','find','params','getConfigurations','findOne','SalesforceConfiguration','addConfiguration','getSubjects','channel','Descriptions','SalesforceField','Subjects','getFields','remoteUri','username','password','securityToken','slice','lastIndexOf','clientId','clientSecret','concat','isNil','ticketType','sobject','OwnerId','IsReminderSet','IsRecurrence','Subject','string','int','boolean','textarea','phone','remove','includes','label','custom','picklistValues','true','False','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','end','json','offset'];(function(_0xd22d95,_0xc59f8f){var _0x15d7a3=function(_0x3db95c){while(--_0x3db95c){_0xd22d95['push'](_0xd22d95['shift']());}};_0x15d7a3(++_0xc59f8f);}(_0xa575,0x14b));var _0x5a57=function(_0x41d93c,_0x4a6967){_0x41d93c=_0x41d93c-0x0;var _0x45634d=_0xa575[_0x41d93c];return _0x45634d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5a57('0x0'));var zipdir=require(_0x5a57('0x1'));var jsonpatch=require(_0x5a57('0x2'));var rp=require(_0x5a57('0x3'));var moment=require(_0x5a57('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x5a57('0x5'));var util=require(_0x5a57('0x6'));var path=require(_0x5a57('0x7'));var sox=require(_0x5a57('0x8'));var csv=require(_0x5a57('0x9'));var ejs=require(_0x5a57('0xa'));var fs=require('fs');var fs_extra=require(_0x5a57('0xb'));var _=require(_0x5a57('0xc'));var squel=require(_0x5a57('0xd'));var crypto=require(_0x5a57('0xe'));var jsforce=require(_0x5a57('0xf'));var deskjs=require(_0x5a57('0x10'));var toCsv=require('to-csv');var querystring=require(_0x5a57('0x11'));var Papa=require(_0x5a57('0x12'));var Redis=require(_0x5a57('0x13'));var authService=require(_0x5a57('0x14'));var qs=require(_0x5a57('0x15'));var as=require(_0x5a57('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5a57('0x17'))(_0x5a57('0x18'));var utils=require('../../config/utils');var config=require(_0x5a57('0x19'));var licenseUtil=require(_0x5a57('0x1a'));var db=require(_0x5a57('0x1b'))['db'];var integrations=require(_0x5a57('0x1c'));function respondWithStatusCode(_0x3fadae,_0x4f8297){_0x4f8297=_0x4f8297||0xcc;return function(_0x290759){if(_0x290759){return _0x3fadae['sendStatus'](_0x4f8297);}return _0x3fadae['status'](_0x4f8297)[_0x5a57('0x1d')]();};}function respondWithResult(_0x4a348b,_0xeb369f){_0xeb369f=_0xeb369f||0xc8;return function(_0x2f7897){if(_0x2f7897){return _0x4a348b['status'](_0xeb369f)[_0x5a57('0x1e')](_0x2f7897);}};}function respondWithFilteredResult(_0x18b808,_0x56c3f3){return function(_0x51fe3e){if(_0x51fe3e){var _0x96b8bb=typeof _0x56c3f3[_0x5a57('0x1f')]==='undefined'&&typeof _0x56c3f3[_0x5a57('0x20')]==='undefined';var _0x5a4ffe=_0x51fe3e[_0x5a57('0x21')];var _0xc04011=_0x96b8bb?0x0:_0x56c3f3[_0x5a57('0x1f')];var _0x18dc16=_0x96b8bb?_0x51fe3e[_0x5a57('0x21')]:_0x56c3f3['offset']+_0x56c3f3[_0x5a57('0x20')];var _0x83ae87;if(_0x18dc16>=_0x5a4ffe){_0x18dc16=_0x5a4ffe;_0x83ae87=0xc8;}else{_0x83ae87=0xce;}_0x18b808['status'](_0x83ae87);return _0x18b808['set'](_0x5a57('0x22'),_0xc04011+'-'+_0x18dc16+'/'+_0x5a4ffe)[_0x5a57('0x1e')](_0x51fe3e);}return null;};}function patchUpdates(_0x45859a){return function(_0x42ec81){try{jsonpatch['apply'](_0x42ec81,_0x45859a,!![]);}catch(_0x249b75){return BPromise[_0x5a57('0x23')](_0x249b75);}return _0x42ec81[_0x5a57('0x24')]();};}function saveUpdates(_0x574c04,_0x56ddf0){return function(_0x247a77){if(_0x247a77){return _0x247a77[_0x5a57('0x25')](_0x574c04)[_0x5a57('0x26')](function(_0x55beb8){return _0x55beb8;});}return null;};}function removeEntity(_0x5d89e4,_0xa94dbd){return function(_0x37f725){if(_0x37f725){return _0x37f725[_0x5a57('0x27')]()['then'](function(){_0x5d89e4['status'](0xcc)[_0x5a57('0x1d')]();});}};}function handleEntityNotFound(_0x563237,_0x4a766c){return function(_0x3baf99){if(!_0x3baf99){_0x563237[_0x5a57('0x28')](0x194);}return _0x3baf99;};}function handleError(_0x5da64b,_0x3065a2){_0x3065a2=_0x3065a2||0x1f4;return function(_0x1314ec){logger[_0x5a57('0x29')](_0x1314ec[_0x5a57('0x2a')]);if(_0x1314ec['name']){delete _0x1314ec[_0x5a57('0x2b')];}_0x5da64b[_0x5a57('0x2c')](_0x3065a2)['send'](_0x1314ec);};}exports[_0x5a57('0x2d')]=function(_0x1f521a,_0x46e7ac){var _0x3d59ec={},_0x1bc0b2={},_0x2b68e0={'count':0x0,'rows':[]};var _0x278093=_['map'](db['SalesforceAccount'][_0x5a57('0x2e')],function(_0x19b497){return{'name':_0x19b497[_0x5a57('0x2f')],'type':_0x19b497[_0x5a57('0x30')][_0x5a57('0x31')]};});_0x1bc0b2['model']=_['map'](_0x278093,_0x5a57('0x2b'));_0x1bc0b2['query']=_[_0x5a57('0x32')](_0x1f521a[_0x5a57('0x33')]);_0x1bc0b2[_0x5a57('0x34')]=_[_0x5a57('0x35')](_0x1bc0b2['model'],_0x1bc0b2[_0x5a57('0x33')]);_0x3d59ec[_0x5a57('0x36')]=_[_0x5a57('0x35')](_0x1bc0b2['model'],qs[_0x5a57('0x37')](_0x1f521a[_0x5a57('0x33')][_0x5a57('0x37')]));_0x3d59ec[_0x5a57('0x36')]=_0x3d59ec[_0x5a57('0x36')]['length']?_0x3d59ec['attributes']:_0x1bc0b2[_0x5a57('0x38')];if(!_0x1f521a['query'][_0x5a57('0x39')](_0x5a57('0x3a'))){_0x3d59ec[_0x5a57('0x20')]=qs[_0x5a57('0x20')](_0x1f521a[_0x5a57('0x33')][_0x5a57('0x20')]);_0x3d59ec[_0x5a57('0x1f')]=qs['offset'](_0x1f521a['query'][_0x5a57('0x1f')]);}_0x3d59ec[_0x5a57('0x3b')]=qs[_0x5a57('0x3c')](_0x1f521a[_0x5a57('0x33')][_0x5a57('0x3c')]);_0x3d59ec[_0x5a57('0x3d')]=qs[_0x5a57('0x34')](_[_0x5a57('0x3e')](_0x1f521a[_0x5a57('0x33')],_0x1bc0b2[_0x5a57('0x34')]),_0x278093);if(_0x1f521a[_0x5a57('0x33')][_0x5a57('0x3f')]){_0x3d59ec['where']=_['merge'](_0x3d59ec[_0x5a57('0x3d')],{'$or':_[_0x5a57('0x40')](_0x278093,function(_0x29eeb6){if(_0x29eeb6[_0x5a57('0x30')]!=='VIRTUAL'){var _0xa1079b={};_0xa1079b[_0x29eeb6['name']]={'$like':'%'+_0x1f521a[_0x5a57('0x33')]['filter']+'%'};return _0xa1079b;}})});}_0x3d59ec=_['merge']({},_0x3d59ec,_0x1f521a['options']);var _0x165c7a={'where':_0x3d59ec[_0x5a57('0x3d')]};return db['SalesforceAccount'][_0x5a57('0x21')](_0x165c7a)[_0x5a57('0x26')](function(_0x47f32a){_0x2b68e0[_0x5a57('0x21')]=_0x47f32a;if(_0x1f521a[_0x5a57('0x33')][_0x5a57('0x41')]){_0x3d59ec[_0x5a57('0x42')]=[{'all':!![]}];}return db[_0x5a57('0x43')][_0x5a57('0x44')](_0x3d59ec);})['then'](function(_0x364766){_0x2b68e0[_0x5a57('0x45')]=_0x364766;return _0x2b68e0;})[_0x5a57('0x26')](respondWithFilteredResult(_0x46e7ac,_0x3d59ec))[_0x5a57('0x46')](handleError(_0x46e7ac,null));};exports[_0x5a57('0x47')]=function(_0x3bd441,_0x4fa062){var _0xc46931={'raw':![],'where':{'id':_0x3bd441['params']['id']}},_0x3f38bf={};_0x3f38bf['model']=_[_0x5a57('0x32')](db['SalesforceAccount'][_0x5a57('0x2e')]);_0x3f38bf[_0x5a57('0x33')]=_[_0x5a57('0x32')](_0x3bd441[_0x5a57('0x33')]);_0x3f38bf['filters']=_[_0x5a57('0x35')](_0x3f38bf[_0x5a57('0x38')],_0x3f38bf[_0x5a57('0x33')]);_0xc46931[_0x5a57('0x36')]=_[_0x5a57('0x35')](_0x3f38bf['model'],qs[_0x5a57('0x37')](_0x3bd441[_0x5a57('0x33')][_0x5a57('0x37')]));_0xc46931[_0x5a57('0x36')]=_0xc46931[_0x5a57('0x36')][_0x5a57('0x48')]?_0xc46931[_0x5a57('0x36')]:_0x3f38bf[_0x5a57('0x38')];if(_0x3bd441['query']['includeAll']){_0xc46931[_0x5a57('0x42')]=[{'all':!![]}];}_0xc46931=_[_0x5a57('0x49')]({},_0xc46931,_0x3bd441[_0x5a57('0x4a')]);return db[_0x5a57('0x43')]['find'](_0xc46931)[_0x5a57('0x26')](handleEntityNotFound(_0x4fa062,null))['then'](respondWithResult(_0x4fa062,null))[_0x5a57('0x46')](handleError(_0x4fa062,null));};exports[_0x5a57('0x4b')]=function(_0x1b538f,_0x3a5e3e){return db[_0x5a57('0x43')][_0x5a57('0x4b')](_0x1b538f[_0x5a57('0x4c')],{})[_0x5a57('0x26')](respondWithResult(_0x3a5e3e,0xc9))[_0x5a57('0x46')](handleError(_0x3a5e3e,null));};exports['update']=function(_0x100f3f,_0x5f35ba){if(_0x100f3f[_0x5a57('0x4c')]['id']){delete _0x100f3f['body']['id'];}return db['SalesforceAccount'][_0x5a57('0x4d')]({'where':{'id':_0x100f3f[_0x5a57('0x4e')]['id']}})[_0x5a57('0x26')](handleEntityNotFound(_0x5f35ba,null))[_0x5a57('0x26')](saveUpdates(_0x100f3f[_0x5a57('0x4c')],null))['then'](respondWithResult(_0x5f35ba,null))['catch'](handleError(_0x5f35ba,null));};exports[_0x5a57('0x27')]=function(_0xb73aa6,_0x48c0ed){return db[_0x5a57('0x43')][_0x5a57('0x4d')]({'where':{'id':_0xb73aa6['params']['id']}})[_0x5a57('0x26')](handleEntityNotFound(_0x48c0ed,null))[_0x5a57('0x26')](removeEntity(_0x48c0ed,null))[_0x5a57('0x46')](handleError(_0x48c0ed,null));};exports[_0x5a57('0x4f')]=function(_0x162366,_0x22a516,_0x4ab537){var _0x3a7426={};var _0x33c8d5={};var _0x2979f6;var _0x27a296;return db[_0x5a57('0x43')][_0x5a57('0x50')]({'where':{'id':_0x162366[_0x5a57('0x4e')]['id']}})[_0x5a57('0x26')](handleEntityNotFound(_0x22a516,null))[_0x5a57('0x26')](function(_0x38a5f3){if(_0x38a5f3){_0x2979f6=_0x38a5f3;_0x33c8d5[_0x5a57('0x38')]=_[_0x5a57('0x32')](db[_0x5a57('0x51')][_0x5a57('0x2e')]);_0x33c8d5['query']=_[_0x5a57('0x32')](_0x162366['query']);_0x33c8d5['filters']=_[_0x5a57('0x35')](_0x33c8d5[_0x5a57('0x38')],_0x33c8d5['query']);_0x3a7426[_0x5a57('0x36')]=_['intersection'](_0x33c8d5[_0x5a57('0x38')],qs[_0x5a57('0x37')](_0x162366[_0x5a57('0x33')][_0x5a57('0x37')]));_0x3a7426[_0x5a57('0x36')]=_0x3a7426['attributes'][_0x5a57('0x48')]?_0x3a7426[_0x5a57('0x36')]:_0x33c8d5[_0x5a57('0x38')];_0x3a7426[_0x5a57('0x3b')]=qs[_0x5a57('0x3c')](_0x162366['query'][_0x5a57('0x3c')]);_0x3a7426[_0x5a57('0x3d')]=qs['filters'](_[_0x5a57('0x3e')](_0x162366[_0x5a57('0x33')],_0x33c8d5[_0x5a57('0x34')]));if(_0x162366[_0x5a57('0x33')][_0x5a57('0x3f')]){_0x3a7426['where']=_['merge'](_0x3a7426[_0x5a57('0x3d')],{'$or':_[_0x5a57('0x40')](_0x3a7426[_0x5a57('0x36')],function(_0x15f58f){var _0x456293={};_0x456293[_0x15f58f]={'$like':'%'+_0x162366[_0x5a57('0x33')][_0x5a57('0x3f')]+'%'};return _0x456293;})});}_0x3a7426=_[_0x5a57('0x49')]({},_0x3a7426,_0x162366[_0x5a57('0x4a')]);return _0x2979f6['getConfigurations'](_0x3a7426);}})[_0x5a57('0x26')](function(_0x552fd1){if(_0x552fd1){_0x27a296=_0x552fd1['length'];if(!_0x162366[_0x5a57('0x33')]['hasOwnProperty'](_0x5a57('0x3a'))){_0x3a7426[_0x5a57('0x20')]=qs['limit'](_0x162366[_0x5a57('0x33')][_0x5a57('0x20')]);_0x3a7426[_0x5a57('0x1f')]=qs[_0x5a57('0x1f')](_0x162366['query'][_0x5a57('0x1f')]);}return _0x2979f6['getConfigurations'](_0x3a7426);}})[_0x5a57('0x26')](function(_0x52fe65){if(_0x52fe65){return _0x52fe65?{'count':_0x27a296,'rows':_0x52fe65}:null;}})['then'](respondWithResult(_0x22a516,null))[_0x5a57('0x46')](handleError(_0x22a516,null));};exports[_0x5a57('0x52')]=function(_0x3be7c8,_0x1b9e41,_0x529ba0){if(_0x3be7c8[_0x5a57('0x4c')]['id']){delete _0x3be7c8['body']['id'];}return db[_0x5a57('0x43')][_0x5a57('0x50')]({'where':{'id':_0x3be7c8['params']['id']}})[_0x5a57('0x26')](handleEntityNotFound(_0x1b9e41,null))[_0x5a57('0x26')](function(_0x52bf89){if(_0x52bf89){_0x3be7c8['body']['AccountId']=_0x52bf89['id'];_0x3be7c8[_0x5a57('0x4c')]['Subjects']=integrations[_0x5a57('0x53')](_0x3be7c8[_0x5a57('0x4c')][_0x5a57('0x54')],_0x3be7c8[_0x5a57('0x4c')][_0x5a57('0x30')]);_0x3be7c8[_0x5a57('0x4c')][_0x5a57('0x55')]=integrations['getDescriptions'](_0x3be7c8['body'][_0x5a57('0x54')],_0x3be7c8[_0x5a57('0x4c')][_0x5a57('0x30')]);return db[_0x5a57('0x51')][_0x5a57('0x4b')](_0x3be7c8['body'],{'include':[{'model':db[_0x5a57('0x56')],'as':_0x5a57('0x57')},{'model':db['SalesforceField'],'as':_0x5a57('0x55')}]});}return null;})[_0x5a57('0x26')](respondWithResult(_0x1b9e41,null))[_0x5a57('0x46')](handleError(_0x1b9e41,null));};exports[_0x5a57('0x58')]=function(_0x56c422,_0x5c43a7,_0x14f17b){var _0x118415;var _0x20588b='';var _0x117132='Task';return db[_0x5a57('0x43')]['findOne']({'where':{'id':_0x56c422[_0x5a57('0x4e')]['id']},'attributes':['id',_0x5a57('0x59'),'clientId','clientSecret',_0x5a57('0x5a'),_0x5a57('0x5b'),_0x5a57('0x5c')]})[_0x5a57('0x26')](handleEntityNotFound(_0x5c43a7,null))[_0x5a57('0x26')](function(_0x137e94){if(_0x137e94){_0x20588b=_0x137e94[_0x5a57('0x59')];var _0xe3f381=_0x20588b[_0x5a57('0x5d')](-0x1);if(_0xe3f381==='/'){_0x20588b=_0x20588b['substring'](0x0,_0x20588b[_0x5a57('0x5e')](_0xe3f381));}_0x118415=new jsforce['Connection']({'oauth2':{'loginUrl':_0x20588b,'clientId':_0x137e94[_0x5a57('0x5f')],'clientSecret':_0x137e94[_0x5a57('0x60')]}});return _0x118415['login'](_0x137e94['username'],_0x137e94[_0x5a57('0x5b')][_0x5a57('0x61')](_0x137e94[_0x5a57('0x5c')]));}})[_0x5a57('0x26')](function(_0x54e526){if(_0x54e526){if(!_[_0x5a57('0x62')](_0x56c422['query']['ticketType'])){_0x117132=_0x56c422[_0x5a57('0x33')][_0x5a57('0x63')];}return _0x118415[_0x5a57('0x64')](_0x117132)['describe']();}})['then'](function(_0x454157){var _0x276ade=[_0x5a57('0x65'),'ActivityDate',_0x5a57('0x66'),_0x5a57('0x67'),_0x5a57('0x68'),'Description'];var _0x375e55=[_0x5a57('0x69'),_0x5a57('0x6a'),'picklist',_0x5a57('0x6b'),'email',_0x5a57('0x6c'),_0x5a57('0x6d')];if(_0x454157){_[_0x5a57('0x6e')](_0x454157['fields'],function(_0x620da5){return _0x276ade[_0x5a57('0x6f')](_0x620da5[_0x5a57('0x2b')])||!_0x375e55[_0x5a57('0x6f')](_0x620da5[_0x5a57('0x30')]);});return{'count':_0x454157[_0x5a57('0x37')][_0x5a57('0x48')],'rows':_[_0x5a57('0x40')](_0x454157[_0x5a57('0x37')],function(_0x24fda8){return{'id':_0x24fda8[_0x5a57('0x2b')],'name':_0x24fda8[_0x5a57('0x70')],'custom':_0x24fda8[_0x5a57('0x71')],'options':_0x24fda8[_0x5a57('0x72')][_0x5a57('0x48')]>0x0?_[_0x5a57('0x40')](_0x24fda8[_0x5a57('0x72')],function(_0x396794){return{'name':_0x396794[_0x5a57('0x70')],'value':_0x396794['value']};}):_0x24fda8[_0x5a57('0x30')]==_0x5a57('0x6b')?[{'name':'True','value':_0x5a57('0x73')},{'name':_0x5a57('0x74'),'value':'false'}]:[]};})};}})[_0x5a57('0x26')](respondWithResult(_0x5c43a7,null))['catch'](function(_0x1a0dc7){var _0x352b95=_0x56c422[_0x5a57('0x33')][_0x5a57('0x75')]?0x1f4:_0x1a0dc7[_0x5a57('0x76')]||0x1f4;logger[_0x5a57('0x29')](_0x5a57('0x77'),_0x5a57('0x58'),_0x352b95,JSON['stringify'](_0x1a0dc7));delete _0x1a0dc7[_0x5a57('0x2b')];if(_0x352b95===0x191){_0x352b95=0x190;}_0x5c43a7[_0x5a57('0x2c')](_0x352b95)[_0x5a57('0x78')](_0x56c422['query'][_0x5a57('0x75')]?{'message':'Wrong\x20credentials','statusCode':_0x1a0dc7[_0x5a57('0x76')]}:_0x1a0dc7);});};