Built motion from commit 2a6dfb68.|2.6.23
[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 _0xe373=['params','rawAttributes','options','create','body','getConfigurations','findOne','SalesforceConfiguration','nolimit','Subjects','channel','getDescriptions','SalesforceField','Descriptions','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','substring','Connection','login','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsRecurrence','Subject','Description','picklist','boolean','textarea','remove','includes','label','picklistValues','value','True','true','False','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','SalesforceAccount','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','rows','catch','show'];(function(_0x342baa,_0x4a110f){var _0x1208f3=function(_0x56a645){while(--_0x56a645){_0x342baa['push'](_0x342baa['shift']());}};_0x1208f3(++_0x4a110f);}(_0xe373,0x129));var _0x3e37=function(_0x58b4d2,_0x376ce5){_0x58b4d2=_0x58b4d2-0x0;var _0x58570f=_0xe373[_0x58b4d2];return _0x58570f;};'use strict';var emlformat=require(_0x3e37('0x0'));var rimraf=require(_0x3e37('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3e37('0x2'));var rp=require(_0x3e37('0x3'));var moment=require(_0x3e37('0x4'));var BPromise=require(_0x3e37('0x5'));var Mustache=require(_0x3e37('0x6'));var util=require(_0x3e37('0x7'));var path=require(_0x3e37('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x3e37('0x9'));var fs=require('fs');var fs_extra=require(_0x3e37('0xa'));var _=require(_0x3e37('0xb'));var squel=require(_0x3e37('0xc'));var crypto=require(_0x3e37('0xd'));var jsforce=require(_0x3e37('0xe'));var deskjs=require(_0x3e37('0xf'));var toCsv=require(_0x3e37('0x10'));var querystring=require(_0x3e37('0x11'));var Papa=require(_0x3e37('0x12'));var Redis=require('ioredis');var authService=require(_0x3e37('0x13'));var qs=require(_0x3e37('0x14'));var as=require(_0x3e37('0x15'));var hardwareService=require(_0x3e37('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x3e37('0x17'));var config=require(_0x3e37('0x18'));var licenseUtil=require(_0x3e37('0x19'));var db=require(_0x3e37('0x1a'))['db'];var integrations=require(_0x3e37('0x1b'));function respondWithStatusCode(_0x22f1d0,_0x4dbde6){_0x4dbde6=_0x4dbde6||0xcc;return function(_0x56fbf5){if(_0x56fbf5){return _0x22f1d0[_0x3e37('0x1c')](_0x4dbde6);}return _0x22f1d0[_0x3e37('0x1d')](_0x4dbde6)[_0x3e37('0x1e')]();};}function respondWithResult(_0x15bb65,_0x10921e){_0x10921e=_0x10921e||0xc8;return function(_0x595884){if(_0x595884){return _0x15bb65['status'](_0x10921e)[_0x3e37('0x1f')](_0x595884);}};}function respondWithFilteredResult(_0x1f25e2,_0xc913c7){return function(_0x1fc476){if(_0x1fc476){var _0x8fc9ea=typeof _0xc913c7[_0x3e37('0x20')]===_0x3e37('0x21')&&typeof _0xc913c7[_0x3e37('0x22')]===_0x3e37('0x21');var _0x3ec39f=_0x1fc476[_0x3e37('0x23')];var _0x22e27f=_0x8fc9ea?0x0:_0xc913c7[_0x3e37('0x20')];var _0x2b32e7=_0x8fc9ea?_0x1fc476['count']:_0xc913c7[_0x3e37('0x20')]+_0xc913c7[_0x3e37('0x22')];var _0x584ab6;if(_0x2b32e7>=_0x3ec39f){_0x2b32e7=_0x3ec39f;_0x584ab6=0xc8;}else{_0x584ab6=0xce;}_0x1f25e2['status'](_0x584ab6);return _0x1f25e2[_0x3e37('0x24')](_0x3e37('0x25'),_0x22e27f+'-'+_0x2b32e7+'/'+_0x3ec39f)[_0x3e37('0x1f')](_0x1fc476);}return null;};}function patchUpdates(_0x4727b5){return function(_0x50960a){try{jsonpatch[_0x3e37('0x26')](_0x50960a,_0x4727b5,!![]);}catch(_0x52bea1){return BPromise[_0x3e37('0x27')](_0x52bea1);}return _0x50960a[_0x3e37('0x28')]();};}function saveUpdates(_0xf46b43,_0x461a53){return function(_0x509ad4){if(_0x509ad4){return _0x509ad4[_0x3e37('0x29')](_0xf46b43)[_0x3e37('0x2a')](function(_0x177622){return _0x177622;});}return null;};}function removeEntity(_0x2d7dec,_0x313557){return function(_0x57f4d3){if(_0x57f4d3){return _0x57f4d3[_0x3e37('0x2b')]()[_0x3e37('0x2a')](function(){_0x2d7dec[_0x3e37('0x1d')](0xcc)[_0x3e37('0x1e')]();});}};}function handleEntityNotFound(_0x470741,_0xfd9914){return function(_0x3878dc){if(!_0x3878dc){_0x470741[_0x3e37('0x1c')](0x194);}return _0x3878dc;};}function handleError(_0x49f097,_0x34eb97){_0x34eb97=_0x34eb97||0x1f4;return function(_0x460c63){logger[_0x3e37('0x2c')](_0x460c63['stack']);if(_0x460c63[_0x3e37('0x2d')]){delete _0x460c63[_0x3e37('0x2d')];}_0x49f097[_0x3e37('0x1d')](_0x34eb97)[_0x3e37('0x2e')](_0x460c63);};}exports[_0x3e37('0x2f')]=function(_0x6e6313,_0x1e1705){var _0x3252a4={},_0x151255={},_0x58f8ce={'count':0x0,'rows':[]};var _0x4cf7e3=_[_0x3e37('0x30')](db[_0x3e37('0x31')]['rawAttributes'],function(_0x5b751b){return{'name':_0x5b751b['fieldName'],'type':_0x5b751b['type'][_0x3e37('0x32')]};});_0x151255['model']=_[_0x3e37('0x30')](_0x4cf7e3,_0x3e37('0x2d'));_0x151255['query']=_[_0x3e37('0x33')](_0x6e6313[_0x3e37('0x34')]);_0x151255[_0x3e37('0x35')]=_[_0x3e37('0x36')](_0x151255[_0x3e37('0x37')],_0x151255['query']);_0x3252a4[_0x3e37('0x38')]=_[_0x3e37('0x36')](_0x151255[_0x3e37('0x37')],qs[_0x3e37('0x39')](_0x6e6313['query'][_0x3e37('0x39')]));_0x3252a4[_0x3e37('0x38')]=_0x3252a4[_0x3e37('0x38')][_0x3e37('0x3a')]?_0x3252a4[_0x3e37('0x38')]:_0x151255['model'];if(!_0x6e6313[_0x3e37('0x34')][_0x3e37('0x3b')]('nolimit')){_0x3252a4['limit']=qs[_0x3e37('0x22')](_0x6e6313[_0x3e37('0x34')][_0x3e37('0x22')]);_0x3252a4[_0x3e37('0x20')]=qs[_0x3e37('0x20')](_0x6e6313[_0x3e37('0x34')][_0x3e37('0x20')]);}_0x3252a4[_0x3e37('0x3c')]=qs['sort'](_0x6e6313[_0x3e37('0x34')][_0x3e37('0x3d')]);_0x3252a4[_0x3e37('0x3e')]=qs[_0x3e37('0x35')](_[_0x3e37('0x3f')](_0x6e6313[_0x3e37('0x34')],_0x151255[_0x3e37('0x35')]),_0x4cf7e3);if(_0x6e6313[_0x3e37('0x34')][_0x3e37('0x40')]){_0x3252a4[_0x3e37('0x3e')]=_[_0x3e37('0x41')](_0x3252a4['where'],{'$or':_[_0x3e37('0x30')](_0x4cf7e3,function(_0x39ad24){if(_0x39ad24[_0x3e37('0x42')]!==_0x3e37('0x43')){var _0x375a61={};_0x375a61[_0x39ad24[_0x3e37('0x2d')]]={'$like':'%'+_0x6e6313['query']['filter']+'%'};return _0x375a61;}})});}_0x3252a4=_[_0x3e37('0x41')]({},_0x3252a4,_0x6e6313['options']);var _0x47db5e={'where':_0x3252a4[_0x3e37('0x3e')]};return db[_0x3e37('0x31')][_0x3e37('0x23')](_0x47db5e)[_0x3e37('0x2a')](function(_0x3b483b){_0x58f8ce[_0x3e37('0x23')]=_0x3b483b;if(_0x6e6313['query'][_0x3e37('0x44')]){_0x3252a4['include']=[{'all':!![]}];}return db[_0x3e37('0x31')]['findAll'](_0x3252a4);})[_0x3e37('0x2a')](function(_0x423174){_0x58f8ce[_0x3e37('0x45')]=_0x423174;return _0x58f8ce;})[_0x3e37('0x2a')](respondWithFilteredResult(_0x1e1705,_0x3252a4))[_0x3e37('0x46')](handleError(_0x1e1705,null));};exports[_0x3e37('0x47')]=function(_0x52569a,_0xafae4c){var _0x4b6d3e={'raw':![],'where':{'id':_0x52569a[_0x3e37('0x48')]['id']}},_0x2bd756={};_0x2bd756[_0x3e37('0x37')]=_[_0x3e37('0x33')](db[_0x3e37('0x31')][_0x3e37('0x49')]);_0x2bd756[_0x3e37('0x34')]=_[_0x3e37('0x33')](_0x52569a[_0x3e37('0x34')]);_0x2bd756[_0x3e37('0x35')]=_[_0x3e37('0x36')](_0x2bd756[_0x3e37('0x37')],_0x2bd756[_0x3e37('0x34')]);_0x4b6d3e['attributes']=_[_0x3e37('0x36')](_0x2bd756['model'],qs[_0x3e37('0x39')](_0x52569a[_0x3e37('0x34')]['fields']));_0x4b6d3e[_0x3e37('0x38')]=_0x4b6d3e[_0x3e37('0x38')][_0x3e37('0x3a')]?_0x4b6d3e[_0x3e37('0x38')]:_0x2bd756[_0x3e37('0x37')];if(_0x52569a['query']['includeAll']){_0x4b6d3e['include']=[{'all':!![]}];}_0x4b6d3e=_[_0x3e37('0x41')]({},_0x4b6d3e,_0x52569a[_0x3e37('0x4a')]);return db['SalesforceAccount']['find'](_0x4b6d3e)['then'](handleEntityNotFound(_0xafae4c,null))[_0x3e37('0x2a')](respondWithResult(_0xafae4c,null))['catch'](handleError(_0xafae4c,null));};exports['create']=function(_0xed5a4c,_0x103236){return db[_0x3e37('0x31')][_0x3e37('0x4b')](_0xed5a4c[_0x3e37('0x4c')],{})['then'](respondWithResult(_0x103236,0xc9))['catch'](handleError(_0x103236,null));};exports[_0x3e37('0x29')]=function(_0x37351e,_0x14ebd9){if(_0x37351e[_0x3e37('0x4c')]['id']){delete _0x37351e[_0x3e37('0x4c')]['id'];}return db[_0x3e37('0x31')]['find']({'where':{'id':_0x37351e['params']['id']}})[_0x3e37('0x2a')](handleEntityNotFound(_0x14ebd9,null))[_0x3e37('0x2a')](saveUpdates(_0x37351e['body'],null))[_0x3e37('0x2a')](respondWithResult(_0x14ebd9,null))['catch'](handleError(_0x14ebd9,null));};exports[_0x3e37('0x2b')]=function(_0x1a813c,_0x138dd5){return db['SalesforceAccount']['find']({'where':{'id':_0x1a813c['params']['id']}})[_0x3e37('0x2a')](handleEntityNotFound(_0x138dd5,null))[_0x3e37('0x2a')](removeEntity(_0x138dd5,null))[_0x3e37('0x46')](handleError(_0x138dd5,null));};exports[_0x3e37('0x4d')]=function(_0xfaeea9,_0x48a58b,_0x1ad997){var _0x452fe6={};var _0x579cfa={};var _0x24aa72;var _0x493edd;return db[_0x3e37('0x31')][_0x3e37('0x4e')]({'where':{'id':_0xfaeea9[_0x3e37('0x48')]['id']}})['then'](handleEntityNotFound(_0x48a58b,null))[_0x3e37('0x2a')](function(_0x302f1c){if(_0x302f1c){_0x24aa72=_0x302f1c;_0x579cfa[_0x3e37('0x37')]=_[_0x3e37('0x33')](db[_0x3e37('0x4f')]['rawAttributes']);_0x579cfa[_0x3e37('0x34')]=_['keys'](_0xfaeea9['query']);_0x579cfa[_0x3e37('0x35')]=_[_0x3e37('0x36')](_0x579cfa[_0x3e37('0x37')],_0x579cfa[_0x3e37('0x34')]);_0x452fe6[_0x3e37('0x38')]=_[_0x3e37('0x36')](_0x579cfa[_0x3e37('0x37')],qs[_0x3e37('0x39')](_0xfaeea9['query'][_0x3e37('0x39')]));_0x452fe6[_0x3e37('0x38')]=_0x452fe6[_0x3e37('0x38')][_0x3e37('0x3a')]?_0x452fe6['attributes']:_0x579cfa[_0x3e37('0x37')];_0x452fe6['order']=qs[_0x3e37('0x3d')](_0xfaeea9[_0x3e37('0x34')][_0x3e37('0x3d')]);_0x452fe6['where']=qs['filters'](_[_0x3e37('0x3f')](_0xfaeea9['query'],_0x579cfa['filters']));if(_0xfaeea9[_0x3e37('0x34')]['filter']){_0x452fe6[_0x3e37('0x3e')]=_[_0x3e37('0x41')](_0x452fe6['where'],{'$or':_[_0x3e37('0x30')](_0x452fe6['attributes'],function(_0x459831){var _0x5eaa08={};_0x5eaa08[_0x459831]={'$like':'%'+_0xfaeea9[_0x3e37('0x34')][_0x3e37('0x40')]+'%'};return _0x5eaa08;})});}_0x452fe6=_[_0x3e37('0x41')]({},_0x452fe6,_0xfaeea9['options']);return _0x24aa72[_0x3e37('0x4d')](_0x452fe6);}})[_0x3e37('0x2a')](function(_0x504b2b){if(_0x504b2b){_0x493edd=_0x504b2b[_0x3e37('0x3a')];if(!_0xfaeea9[_0x3e37('0x34')][_0x3e37('0x3b')](_0x3e37('0x50'))){_0x452fe6[_0x3e37('0x22')]=qs[_0x3e37('0x22')](_0xfaeea9[_0x3e37('0x34')]['limit']);_0x452fe6[_0x3e37('0x20')]=qs[_0x3e37('0x20')](_0xfaeea9[_0x3e37('0x34')][_0x3e37('0x20')]);}return _0x24aa72[_0x3e37('0x4d')](_0x452fe6);}})[_0x3e37('0x2a')](function(_0x5d6673){if(_0x5d6673){return _0x5d6673?{'count':_0x493edd,'rows':_0x5d6673}:null;}})[_0x3e37('0x2a')](respondWithResult(_0x48a58b,null))['catch'](handleError(_0x48a58b,null));};exports['addConfiguration']=function(_0x3d1c90,_0x4eb3c2,_0x449df4){if(_0x3d1c90['body']['id']){delete _0x3d1c90[_0x3e37('0x4c')]['id'];}return db[_0x3e37('0x31')][_0x3e37('0x4e')]({'where':{'id':_0x3d1c90['params']['id']}})[_0x3e37('0x2a')](handleEntityNotFound(_0x4eb3c2,null))[_0x3e37('0x2a')](function(_0x51c0b5){if(_0x51c0b5){_0x3d1c90['body']['AccountId']=_0x51c0b5['id'];_0x3d1c90[_0x3e37('0x4c')][_0x3e37('0x51')]=integrations['getSubjects'](_0x3d1c90['body'][_0x3e37('0x52')],_0x3d1c90[_0x3e37('0x4c')][_0x3e37('0x42')]);_0x3d1c90[_0x3e37('0x4c')]['Descriptions']=integrations[_0x3e37('0x53')](_0x3d1c90[_0x3e37('0x4c')][_0x3e37('0x52')],_0x3d1c90[_0x3e37('0x4c')]['type']);return db[_0x3e37('0x4f')][_0x3e37('0x4b')](_0x3d1c90[_0x3e37('0x4c')],{'include':[{'model':db[_0x3e37('0x54')],'as':_0x3e37('0x51')},{'model':db['SalesforceField'],'as':_0x3e37('0x55')}]});}return null;})[_0x3e37('0x2a')](respondWithResult(_0x4eb3c2,null))[_0x3e37('0x46')](handleError(_0x4eb3c2,null));};exports[_0x3e37('0x56')]=function(_0x34ce04,_0x45612d,_0x371c65){var _0x4bb93d;var _0x682cc7='';var _0x4b48e9=_0x3e37('0x57');return db['SalesforceAccount'][_0x3e37('0x4e')]({'where':{'id':_0x34ce04['params']['id']},'attributes':['id',_0x3e37('0x58'),_0x3e37('0x59'),_0x3e37('0x5a'),_0x3e37('0x5b'),_0x3e37('0x5c'),_0x3e37('0x5d')]})[_0x3e37('0x2a')](handleEntityNotFound(_0x45612d,null))[_0x3e37('0x2a')](function(_0x1fae1a){if(_0x1fae1a){_0x682cc7=_0x1fae1a[_0x3e37('0x58')];var _0x5e02f9=_0x682cc7['slice'](-0x1);if(_0x5e02f9==='/'){_0x682cc7=_0x682cc7[_0x3e37('0x5e')](0x0,_0x682cc7['lastIndexOf'](_0x5e02f9));}_0x4bb93d=new jsforce[(_0x3e37('0x5f'))]({'oauth2':{'loginUrl':_0x682cc7,'clientId':_0x1fae1a[_0x3e37('0x59')],'clientSecret':_0x1fae1a['clientSecret']}});return _0x4bb93d[_0x3e37('0x60')](_0x1fae1a[_0x3e37('0x5b')],_0x1fae1a[_0x3e37('0x5c')][_0x3e37('0x61')](_0x1fae1a[_0x3e37('0x5d')]));}})[_0x3e37('0x2a')](function(_0x524a4e){if(_0x524a4e){if(!_[_0x3e37('0x62')](_0x34ce04['query'][_0x3e37('0x63')])){_0x4b48e9=_0x34ce04[_0x3e37('0x34')][_0x3e37('0x63')];}return _0x4bb93d[_0x3e37('0x64')](_0x4b48e9)[_0x3e37('0x65')]();}})['then'](function(_0x235a14){var _0x437398=[_0x3e37('0x66'),_0x3e37('0x67'),'IsReminderSet',_0x3e37('0x68'),_0x3e37('0x69'),_0x3e37('0x6a')];var _0x4ebbe6=['string','int',_0x3e37('0x6b'),_0x3e37('0x6c'),'email',_0x3e37('0x6d'),'phone'];if(_0x235a14){_[_0x3e37('0x6e')](_0x235a14[_0x3e37('0x39')],function(_0x524e62){return _0x437398['includes'](_0x524e62['name'])||!_0x4ebbe6[_0x3e37('0x6f')](_0x524e62[_0x3e37('0x42')]);});return{'count':_0x235a14['fields']['length'],'rows':_[_0x3e37('0x30')](_0x235a14[_0x3e37('0x39')],function(_0x402273){return{'id':_0x402273[_0x3e37('0x2d')],'name':_0x402273[_0x3e37('0x70')],'custom':_0x402273['custom'],'options':_0x402273[_0x3e37('0x71')][_0x3e37('0x3a')]>0x0?_[_0x3e37('0x30')](_0x402273['picklistValues'],function(_0xdb3c96){return{'name':_0xdb3c96[_0x3e37('0x70')],'value':_0xdb3c96[_0x3e37('0x72')]};}):_0x402273[_0x3e37('0x42')]==_0x3e37('0x6c')?[{'name':_0x3e37('0x73'),'value':_0x3e37('0x74')},{'name':_0x3e37('0x75'),'value':_0x3e37('0x76')}]:[]};})};}})[_0x3e37('0x2a')](respondWithResult(_0x45612d,null))[_0x3e37('0x46')](function(_0x4aed84){var _0x84c6ce=_0x34ce04[_0x3e37('0x34')][_0x3e37('0x77')]?0x1f4:_0x4aed84[_0x3e37('0x78')]||0x1f4;logger[_0x3e37('0x2c')](_0x3e37('0x79'),'getFields',_0x84c6ce,JSON[_0x3e37('0x7a')](_0x4aed84));delete _0x4aed84[_0x3e37('0x2d')];if(_0x84c6ce===0x191){_0x84c6ce=0x190;}_0x45612d[_0x3e37('0x1d')](_0x84c6ce)[_0x3e37('0x2e')](_0x34ce04[_0x3e37('0x34')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x4aed84['statusCode']}:_0x4aed84);});};