Built motion from commit 9d0783e6.|2.6.13
[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 _0x9d1b=['findOne','SalesforceConfiguration','addConfiguration','AccountId','getSubjects','Descriptions','channel','Subjects','SalesforceField','getFields','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','Subject','Description','string','int','email','textarea','phone','remove','includes','label','custom','picklistValues','value','boolean','True','true','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','fast-json-patch','moment','bluebird','util','path','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','SalesforceAccount','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','rawAttributes','find','create','body','getConfigurations'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x9d1b,0xb2));var _0xb9d1=function(_0x279e6f,_0x566574){_0x279e6f=_0x279e6f-0x0;var _0x489a5f=_0x9d1b[_0x279e6f];return _0x489a5f;};'use strict';var emlformat=require(_0xb9d1('0x0'));var rimraf=require(_0xb9d1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb9d1('0x2'));var rp=require('request-promise');var moment=require(_0xb9d1('0x3'));var BPromise=require(_0xb9d1('0x4'));var Mustache=require('mustache');var util=require(_0xb9d1('0x5'));var path=require(_0xb9d1('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb9d1('0x7'));var _=require(_0xb9d1('0x8'));var squel=require(_0xb9d1('0x9'));var crypto=require(_0xb9d1('0xa'));var jsforce=require(_0xb9d1('0xb'));var deskjs=require(_0xb9d1('0xc'));var toCsv=require(_0xb9d1('0xd'));var querystring=require(_0xb9d1('0xe'));var Papa=require('papaparse');var Redis=require(_0xb9d1('0xf'));var authService=require(_0xb9d1('0x10'));var qs=require(_0xb9d1('0x11'));var as=require(_0xb9d1('0x12'));var hardwareService=require(_0xb9d1('0x13'));var logger=require(_0xb9d1('0x14'))('api');var utils=require(_0xb9d1('0x15'));var config=require(_0xb9d1('0x16'));var licenseUtil=require(_0xb9d1('0x17'));var db=require('../../mysqldb')['db'];var integrations=require(_0xb9d1('0x18'));function respondWithStatusCode(_0x28ee89,_0x4f5b33){_0x4f5b33=_0x4f5b33||0xcc;return function(_0x2f14b0){if(_0x2f14b0){return _0x28ee89['sendStatus'](_0x4f5b33);}return _0x28ee89['status'](_0x4f5b33)[_0xb9d1('0x19')]();};}function respondWithResult(_0x1b7cc1,_0x298d77){_0x298d77=_0x298d77||0xc8;return function(_0x392a1f){if(_0x392a1f){return _0x1b7cc1['status'](_0x298d77)[_0xb9d1('0x1a')](_0x392a1f);}};}function respondWithFilteredResult(_0x24bff0,_0x522f20){return function(_0x103db5){if(_0x103db5){var _0xd202a5=typeof _0x522f20[_0xb9d1('0x1b')]===_0xb9d1('0x1c')&&typeof _0x522f20[_0xb9d1('0x1d')]==='undefined';var _0xedd6b4=_0x103db5[_0xb9d1('0x1e')];var _0x1b33d9=_0xd202a5?0x0:_0x522f20[_0xb9d1('0x1b')];var _0x141d02=_0xd202a5?_0x103db5['count']:_0x522f20['offset']+_0x522f20[_0xb9d1('0x1d')];var _0x4b9d7d;if(_0x141d02>=_0xedd6b4){_0x141d02=_0xedd6b4;_0x4b9d7d=0xc8;}else{_0x4b9d7d=0xce;}_0x24bff0[_0xb9d1('0x1f')](_0x4b9d7d);return _0x24bff0[_0xb9d1('0x20')](_0xb9d1('0x21'),_0x1b33d9+'-'+_0x141d02+'/'+_0xedd6b4)[_0xb9d1('0x1a')](_0x103db5);}return null;};}function patchUpdates(_0x43fc7d){return function(_0x462019){try{jsonpatch[_0xb9d1('0x22')](_0x462019,_0x43fc7d,!![]);}catch(_0x421b3b){return BPromise[_0xb9d1('0x23')](_0x421b3b);}return _0x462019[_0xb9d1('0x24')]();};}function saveUpdates(_0x3cd601,_0x25d9b7){return function(_0x3661ec){if(_0x3661ec){return _0x3661ec[_0xb9d1('0x25')](_0x3cd601)[_0xb9d1('0x26')](function(_0x41f091){return _0x41f091;});}return null;};}function removeEntity(_0x3ac1c9,_0x5f3c6c){return function(_0x108fd9){if(_0x108fd9){return _0x108fd9[_0xb9d1('0x27')]()[_0xb9d1('0x26')](function(){_0x3ac1c9[_0xb9d1('0x1f')](0xcc)[_0xb9d1('0x19')]();});}};}function handleEntityNotFound(_0x2ebbf0,_0x500d50){return function(_0xb665f9){if(!_0xb665f9){_0x2ebbf0[_0xb9d1('0x28')](0x194);}return _0xb665f9;};}function handleError(_0x370d73,_0x1a824c){_0x1a824c=_0x1a824c||0x1f4;return function(_0x52fdd7){logger[_0xb9d1('0x29')](_0x52fdd7[_0xb9d1('0x2a')]);if(_0x52fdd7[_0xb9d1('0x2b')]){delete _0x52fdd7[_0xb9d1('0x2b')];}_0x370d73[_0xb9d1('0x1f')](_0x1a824c)[_0xb9d1('0x2c')](_0x52fdd7);};}exports[_0xb9d1('0x2d')]=function(_0x39e7de,_0x17e082){var _0x3cd0f6={},_0x1ac415={},_0x13068b={'count':0x0,'rows':[]};var _0x40203f=_[_0xb9d1('0x2e')](db[_0xb9d1('0x2f')]['rawAttributes'],function(_0x35e0a0){return{'name':_0x35e0a0[_0xb9d1('0x30')],'type':_0x35e0a0[_0xb9d1('0x31')][_0xb9d1('0x32')]};});_0x1ac415['model']=_['map'](_0x40203f,_0xb9d1('0x2b'));_0x1ac415[_0xb9d1('0x33')]=_[_0xb9d1('0x34')](_0x39e7de[_0xb9d1('0x33')]);_0x1ac415[_0xb9d1('0x35')]=_[_0xb9d1('0x36')](_0x1ac415[_0xb9d1('0x37')],_0x1ac415['query']);_0x3cd0f6[_0xb9d1('0x38')]=_[_0xb9d1('0x36')](_0x1ac415['model'],qs['fields'](_0x39e7de[_0xb9d1('0x33')][_0xb9d1('0x39')]));_0x3cd0f6[_0xb9d1('0x38')]=_0x3cd0f6[_0xb9d1('0x38')][_0xb9d1('0x3a')]?_0x3cd0f6[_0xb9d1('0x38')]:_0x1ac415['model'];if(!_0x39e7de[_0xb9d1('0x33')][_0xb9d1('0x3b')](_0xb9d1('0x3c'))){_0x3cd0f6[_0xb9d1('0x1d')]=qs[_0xb9d1('0x1d')](_0x39e7de[_0xb9d1('0x33')][_0xb9d1('0x1d')]);_0x3cd0f6[_0xb9d1('0x1b')]=qs[_0xb9d1('0x1b')](_0x39e7de['query']['offset']);}_0x3cd0f6[_0xb9d1('0x3d')]=qs[_0xb9d1('0x3e')](_0x39e7de[_0xb9d1('0x33')][_0xb9d1('0x3e')]);_0x3cd0f6[_0xb9d1('0x3f')]=qs['filters'](_[_0xb9d1('0x40')](_0x39e7de[_0xb9d1('0x33')],_0x1ac415['filters']),_0x40203f);if(_0x39e7de[_0xb9d1('0x33')][_0xb9d1('0x41')]){_0x3cd0f6[_0xb9d1('0x3f')]=_[_0xb9d1('0x42')](_0x3cd0f6[_0xb9d1('0x3f')],{'$or':_[_0xb9d1('0x2e')](_0x40203f,function(_0x36a179){if(_0x36a179['type']!==_0xb9d1('0x43')){var _0x1a42c1={};_0x1a42c1[_0x36a179[_0xb9d1('0x2b')]]={'$like':'%'+_0x39e7de['query'][_0xb9d1('0x41')]+'%'};return _0x1a42c1;}})});}_0x3cd0f6=_['merge']({},_0x3cd0f6,_0x39e7de[_0xb9d1('0x44')]);var _0xdfc265={'where':_0x3cd0f6[_0xb9d1('0x3f')]};return db[_0xb9d1('0x2f')][_0xb9d1('0x1e')](_0xdfc265)['then'](function(_0x2d8482){_0x13068b[_0xb9d1('0x1e')]=_0x2d8482;if(_0x39e7de[_0xb9d1('0x33')][_0xb9d1('0x45')]){_0x3cd0f6[_0xb9d1('0x46')]=[{'all':!![]}];}return db[_0xb9d1('0x2f')]['findAll'](_0x3cd0f6);})[_0xb9d1('0x26')](function(_0x3761f2){_0x13068b[_0xb9d1('0x47')]=_0x3761f2;return _0x13068b;})['then'](respondWithFilteredResult(_0x17e082,_0x3cd0f6))[_0xb9d1('0x48')](handleError(_0x17e082,null));};exports[_0xb9d1('0x49')]=function(_0x4d39e7,_0x2bddb9){var _0x4c2a43={'raw':![],'where':{'id':_0x4d39e7[_0xb9d1('0x4a')]['id']}},_0x473ad5={};_0x473ad5[_0xb9d1('0x37')]=_[_0xb9d1('0x34')](db['SalesforceAccount'][_0xb9d1('0x4b')]);_0x473ad5[_0xb9d1('0x33')]=_[_0xb9d1('0x34')](_0x4d39e7[_0xb9d1('0x33')]);_0x473ad5[_0xb9d1('0x35')]=_['intersection'](_0x473ad5[_0xb9d1('0x37')],_0x473ad5[_0xb9d1('0x33')]);_0x4c2a43[_0xb9d1('0x38')]=_[_0xb9d1('0x36')](_0x473ad5[_0xb9d1('0x37')],qs[_0xb9d1('0x39')](_0x4d39e7[_0xb9d1('0x33')]['fields']));_0x4c2a43['attributes']=_0x4c2a43[_0xb9d1('0x38')][_0xb9d1('0x3a')]?_0x4c2a43[_0xb9d1('0x38')]:_0x473ad5[_0xb9d1('0x37')];if(_0x4d39e7['query']['includeAll']){_0x4c2a43[_0xb9d1('0x46')]=[{'all':!![]}];}_0x4c2a43=_[_0xb9d1('0x42')]({},_0x4c2a43,_0x4d39e7[_0xb9d1('0x44')]);return db['SalesforceAccount'][_0xb9d1('0x4c')](_0x4c2a43)[_0xb9d1('0x26')](handleEntityNotFound(_0x2bddb9,null))[_0xb9d1('0x26')](respondWithResult(_0x2bddb9,null))['catch'](handleError(_0x2bddb9,null));};exports[_0xb9d1('0x4d')]=function(_0x45ae38,_0xba96a6){return db['SalesforceAccount'][_0xb9d1('0x4d')](_0x45ae38['body'],{})[_0xb9d1('0x26')](respondWithResult(_0xba96a6,0xc9))[_0xb9d1('0x48')](handleError(_0xba96a6,null));};exports[_0xb9d1('0x25')]=function(_0x179c40,_0x4bd4b2){if(_0x179c40[_0xb9d1('0x4e')]['id']){delete _0x179c40[_0xb9d1('0x4e')]['id'];}return db[_0xb9d1('0x2f')][_0xb9d1('0x4c')]({'where':{'id':_0x179c40['params']['id']}})[_0xb9d1('0x26')](handleEntityNotFound(_0x4bd4b2,null))[_0xb9d1('0x26')](saveUpdates(_0x179c40[_0xb9d1('0x4e')],null))[_0xb9d1('0x26')](respondWithResult(_0x4bd4b2,null))[_0xb9d1('0x48')](handleError(_0x4bd4b2,null));};exports[_0xb9d1('0x27')]=function(_0x5f3eea,_0x16864a){return db[_0xb9d1('0x2f')][_0xb9d1('0x4c')]({'where':{'id':_0x5f3eea[_0xb9d1('0x4a')]['id']}})['then'](handleEntityNotFound(_0x16864a,null))[_0xb9d1('0x26')](removeEntity(_0x16864a,null))[_0xb9d1('0x48')](handleError(_0x16864a,null));};exports[_0xb9d1('0x4f')]=function(_0x5a9851,_0x35d3e6,_0x5d156a){var _0x45c556={};var _0x1ddbfc={};var _0xe5008f;var _0xa5a576;return db[_0xb9d1('0x2f')][_0xb9d1('0x50')]({'where':{'id':_0x5a9851[_0xb9d1('0x4a')]['id']}})[_0xb9d1('0x26')](handleEntityNotFound(_0x35d3e6,null))[_0xb9d1('0x26')](function(_0x2b708b){if(_0x2b708b){_0xe5008f=_0x2b708b;_0x1ddbfc['model']=_['keys'](db[_0xb9d1('0x51')][_0xb9d1('0x4b')]);_0x1ddbfc['query']=_[_0xb9d1('0x34')](_0x5a9851[_0xb9d1('0x33')]);_0x1ddbfc['filters']=_[_0xb9d1('0x36')](_0x1ddbfc[_0xb9d1('0x37')],_0x1ddbfc[_0xb9d1('0x33')]);_0x45c556[_0xb9d1('0x38')]=_['intersection'](_0x1ddbfc[_0xb9d1('0x37')],qs['fields'](_0x5a9851['query'][_0xb9d1('0x39')]));_0x45c556['attributes']=_0x45c556[_0xb9d1('0x38')][_0xb9d1('0x3a')]?_0x45c556[_0xb9d1('0x38')]:_0x1ddbfc[_0xb9d1('0x37')];_0x45c556[_0xb9d1('0x3d')]=qs[_0xb9d1('0x3e')](_0x5a9851[_0xb9d1('0x33')][_0xb9d1('0x3e')]);_0x45c556['where']=qs[_0xb9d1('0x35')](_[_0xb9d1('0x40')](_0x5a9851[_0xb9d1('0x33')],_0x1ddbfc[_0xb9d1('0x35')]));if(_0x5a9851[_0xb9d1('0x33')]['filter']){_0x45c556[_0xb9d1('0x3f')]=_[_0xb9d1('0x42')](_0x45c556[_0xb9d1('0x3f')],{'$or':_['map'](_0x45c556[_0xb9d1('0x38')],function(_0x38633e){var _0x579d25={};_0x579d25[_0x38633e]={'$like':'%'+_0x5a9851[_0xb9d1('0x33')]['filter']+'%'};return _0x579d25;})});}_0x45c556=_[_0xb9d1('0x42')]({},_0x45c556,_0x5a9851['options']);return _0xe5008f['getConfigurations'](_0x45c556);}})[_0xb9d1('0x26')](function(_0x26b277){if(_0x26b277){_0xa5a576=_0x26b277[_0xb9d1('0x3a')];if(!_0x5a9851[_0xb9d1('0x33')]['hasOwnProperty']('nolimit')){_0x45c556[_0xb9d1('0x1d')]=qs['limit'](_0x5a9851[_0xb9d1('0x33')][_0xb9d1('0x1d')]);_0x45c556[_0xb9d1('0x1b')]=qs['offset'](_0x5a9851[_0xb9d1('0x33')]['offset']);}return _0xe5008f[_0xb9d1('0x4f')](_0x45c556);}})[_0xb9d1('0x26')](function(_0x3a0b99){if(_0x3a0b99){return _0x3a0b99?{'count':_0xa5a576,'rows':_0x3a0b99}:null;}})[_0xb9d1('0x26')](respondWithResult(_0x35d3e6,null))['catch'](handleError(_0x35d3e6,null));};exports[_0xb9d1('0x52')]=function(_0x5a5b26,_0x32aa21,_0x3132a3){if(_0x5a5b26[_0xb9d1('0x4e')]['id']){delete _0x5a5b26[_0xb9d1('0x4e')]['id'];}return db[_0xb9d1('0x2f')][_0xb9d1('0x50')]({'where':{'id':_0x5a5b26[_0xb9d1('0x4a')]['id']}})[_0xb9d1('0x26')](handleEntityNotFound(_0x32aa21,null))[_0xb9d1('0x26')](function(_0x350a55){if(_0x350a55){_0x5a5b26['body'][_0xb9d1('0x53')]=_0x350a55['id'];_0x5a5b26[_0xb9d1('0x4e')]['Subjects']=integrations[_0xb9d1('0x54')](_0x5a5b26[_0xb9d1('0x4e')]['channel'],_0x5a5b26[_0xb9d1('0x4e')][_0xb9d1('0x31')]);_0x5a5b26[_0xb9d1('0x4e')][_0xb9d1('0x55')]=integrations['getDescriptions'](_0x5a5b26[_0xb9d1('0x4e')][_0xb9d1('0x56')],_0x5a5b26[_0xb9d1('0x4e')][_0xb9d1('0x31')]);return db[_0xb9d1('0x51')][_0xb9d1('0x4d')](_0x5a5b26[_0xb9d1('0x4e')],{'include':[{'model':db['SalesforceField'],'as':_0xb9d1('0x57')},{'model':db[_0xb9d1('0x58')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x32aa21,null))[_0xb9d1('0x48')](handleError(_0x32aa21,null));};exports[_0xb9d1('0x59')]=function(_0xed89b2,_0x2f233c,_0x4f9919){var _0x4e4a28;var _0x531f81='';var _0x32369e='Task';return db[_0xb9d1('0x2f')][_0xb9d1('0x50')]({'where':{'id':_0xed89b2[_0xb9d1('0x4a')]['id']},'attributes':['id',_0xb9d1('0x5a'),_0xb9d1('0x5b'),_0xb9d1('0x5c'),_0xb9d1('0x5d'),_0xb9d1('0x5e'),_0xb9d1('0x5f')]})[_0xb9d1('0x26')](handleEntityNotFound(_0x2f233c,null))['then'](function(_0x5e4be5){if(_0x5e4be5){_0x531f81=_0x5e4be5[_0xb9d1('0x5a')];var _0x1b5a96=_0x531f81[_0xb9d1('0x60')](-0x1);if(_0x1b5a96==='/'){_0x531f81=_0x531f81[_0xb9d1('0x61')](0x0,_0x531f81[_0xb9d1('0x62')](_0x1b5a96));}_0x4e4a28=new jsforce[(_0xb9d1('0x63'))]({'oauth2':{'loginUrl':_0x531f81,'clientId':_0x5e4be5['clientId'],'clientSecret':_0x5e4be5[_0xb9d1('0x5c')]}});return _0x4e4a28['login'](_0x5e4be5[_0xb9d1('0x5d')],_0x5e4be5[_0xb9d1('0x5e')]['concat'](_0x5e4be5[_0xb9d1('0x5f')]));}})[_0xb9d1('0x26')](function(_0x40a7d3){if(_0x40a7d3){if(!_[_0xb9d1('0x64')](_0xed89b2[_0xb9d1('0x33')][_0xb9d1('0x65')])){_0x32369e=_0xed89b2['query'][_0xb9d1('0x65')];}return _0x4e4a28[_0xb9d1('0x66')](_0x32369e)[_0xb9d1('0x67')]();}})['then'](function(_0x911446){var _0x33fc5b=[_0xb9d1('0x68'),_0xb9d1('0x69'),_0xb9d1('0x6a'),'IsRecurrence',_0xb9d1('0x6b'),_0xb9d1('0x6c')];var _0x5c6c40=[_0xb9d1('0x6d'),_0xb9d1('0x6e'),'picklist','boolean',_0xb9d1('0x6f'),_0xb9d1('0x70'),_0xb9d1('0x71')];if(_0x911446){_[_0xb9d1('0x72')](_0x911446[_0xb9d1('0x39')],function(_0x1ee363){return _0x33fc5b[_0xb9d1('0x73')](_0x1ee363[_0xb9d1('0x2b')])||!_0x5c6c40['includes'](_0x1ee363['type']);});return{'count':_0x911446[_0xb9d1('0x39')][_0xb9d1('0x3a')],'rows':_['map'](_0x911446[_0xb9d1('0x39')],function(_0x1d1ecb){return{'id':_0x1d1ecb[_0xb9d1('0x2b')],'name':_0x1d1ecb[_0xb9d1('0x74')],'custom':_0x1d1ecb[_0xb9d1('0x75')],'options':_0x1d1ecb['picklistValues'][_0xb9d1('0x3a')]>0x0?_[_0xb9d1('0x2e')](_0x1d1ecb[_0xb9d1('0x76')],function(_0x249b9f){return{'name':_0x249b9f[_0xb9d1('0x74')],'value':_0x249b9f[_0xb9d1('0x77')]};}):_0x1d1ecb[_0xb9d1('0x31')]==_0xb9d1('0x78')?[{'name':_0xb9d1('0x79'),'value':_0xb9d1('0x7a')},{'name':'False','value':_0xb9d1('0x7b')}]:[]};})};}})[_0xb9d1('0x26')](respondWithResult(_0x2f233c,null))[_0xb9d1('0x48')](function(_0x3fede2){var _0x4b60b8=_0xed89b2[_0xb9d1('0x33')][_0xb9d1('0x7c')]?0x1f4:_0x3fede2[_0xb9d1('0x7d')]||0x1f4;logger[_0xb9d1('0x29')](_0xb9d1('0x7e'),_0xb9d1('0x59'),_0x4b60b8,JSON[_0xb9d1('0x7f')](_0x3fede2));delete _0x3fede2[_0xb9d1('0x2b')];if(_0x4b60b8===0x191){_0x4b60b8=0x190;}_0x2f233c[_0xb9d1('0x1f')](_0x4b60b8)['send'](_0xed89b2['query'][_0xb9d1('0x7c')]?{'message':_0xb9d1('0x80'),'statusCode':_0x3fede2[_0xb9d1('0x7d')]}:_0x3fede2);});};