Built motion from commit 3c2ce842.|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 _0x44e4=['../../components/integrations/configuration','sendStatus','status','end','offset','undefined','limit','count','set','apply','save','update','then','destroy','name','send','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','where','filter','merge','includeAll','findAll','rows','catch','show','include','options','find','create','body','params','getConfigurations','findOne','SalesforceConfiguration','length','addConfiguration','getSubjects','getDescriptions','channel','Subjects','Descriptions','getFields','Task','remoteUri','clientId','clientSecret','password','substring','lastIndexOf','Connection','login','username','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','int','picklist','boolean','email','textarea','phone','remove','includes','label','picklistValues','value','True','true','false','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','rimraf','zip-dir','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x40a364,_0x7aa2e4){var _0x3434d1=function(_0x2e7e4a){while(--_0x2e7e4a){_0x40a364['push'](_0x40a364['shift']());}};_0x3434d1(++_0x7aa2e4);}(_0x44e4,0xde));var _0x444e=function(_0x2b31a8,_0x28b862){_0x2b31a8=_0x2b31a8-0x0;var _0x1175a5=_0x44e4[_0x2b31a8];return _0x1175a5;};'use strict';var emlformat=require(_0x444e('0x0'));var rimraf=require(_0x444e('0x1'));var zipdir=require(_0x444e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x444e('0x3'));var Mustache=require('mustache');var util=require(_0x444e('0x4'));var path=require(_0x444e('0x5'));var sox=require(_0x444e('0x6'));var csv=require(_0x444e('0x7'));var ejs=require(_0x444e('0x8'));var fs=require('fs');var fs_extra=require(_0x444e('0x9'));var _=require(_0x444e('0xa'));var squel=require(_0x444e('0xb'));var crypto=require(_0x444e('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x444e('0xd'));var toCsv=require('to-csv');var querystring=require(_0x444e('0xe'));var Papa=require('papaparse');var Redis=require(_0x444e('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x444e('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x444e('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x444e('0x12'));var config=require(_0x444e('0x13'));var licenseUtil=require(_0x444e('0x14'));var db=require(_0x444e('0x15'))['db'];var integrations=require(_0x444e('0x16'));function respondWithStatusCode(_0x3179b4,_0x5e9c98){_0x5e9c98=_0x5e9c98||0xcc;return function(_0x11087f){if(_0x11087f){return _0x3179b4[_0x444e('0x17')](_0x5e9c98);}return _0x3179b4[_0x444e('0x18')](_0x5e9c98)[_0x444e('0x19')]();};}function respondWithResult(_0x588931,_0xa6be8f){_0xa6be8f=_0xa6be8f||0xc8;return function(_0x1db231){if(_0x1db231){return _0x588931['status'](_0xa6be8f)['json'](_0x1db231);}};}function respondWithFilteredResult(_0x258b41,_0x29efb4){return function(_0x253b44){if(_0x253b44){var _0x13b511=typeof _0x29efb4[_0x444e('0x1a')]===_0x444e('0x1b')&&typeof _0x29efb4[_0x444e('0x1c')]===_0x444e('0x1b');var _0x55a93c=_0x253b44[_0x444e('0x1d')];var _0x22161f=_0x13b511?0x0:_0x29efb4[_0x444e('0x1a')];var _0x22ef75=_0x13b511?_0x253b44[_0x444e('0x1d')]:_0x29efb4[_0x444e('0x1a')]+_0x29efb4[_0x444e('0x1c')];var _0x4e5445;if(_0x22ef75>=_0x55a93c){_0x22ef75=_0x55a93c;_0x4e5445=0xc8;}else{_0x4e5445=0xce;}_0x258b41[_0x444e('0x18')](_0x4e5445);return _0x258b41[_0x444e('0x1e')]('Content-Range',_0x22161f+'-'+_0x22ef75+'/'+_0x55a93c)['json'](_0x253b44);}return null;};}function patchUpdates(_0x4ccd47){return function(_0x4722b9){try{jsonpatch[_0x444e('0x1f')](_0x4722b9,_0x4ccd47,!![]);}catch(_0x4909f0){return BPromise['reject'](_0x4909f0);}return _0x4722b9[_0x444e('0x20')]();};}function saveUpdates(_0x570db9,_0x2398c3){return function(_0x1aa424){if(_0x1aa424){return _0x1aa424[_0x444e('0x21')](_0x570db9)[_0x444e('0x22')](function(_0x3fc15b){return _0x3fc15b;});}return null;};}function removeEntity(_0x3c43e5,_0x90ec27){return function(_0x317f17){if(_0x317f17){return _0x317f17[_0x444e('0x23')]()['then'](function(){_0x3c43e5[_0x444e('0x18')](0xcc)[_0x444e('0x19')]();});}};}function handleEntityNotFound(_0x4935c9,_0x2be63b){return function(_0xbc8b7e){if(!_0xbc8b7e){_0x4935c9[_0x444e('0x17')](0x194);}return _0xbc8b7e;};}function handleError(_0x2270f8,_0x51f5b7){_0x51f5b7=_0x51f5b7||0x1f4;return function(_0x421a4c){logger['error'](_0x421a4c['stack']);if(_0x421a4c[_0x444e('0x24')]){delete _0x421a4c[_0x444e('0x24')];}_0x2270f8['status'](_0x51f5b7)[_0x444e('0x25')](_0x421a4c);};}exports['index']=function(_0x32cc04,_0x367d6c){var _0x342ef5={},_0x1d4d81={},_0x1af055={'count':0x0,'rows':[]};var _0x27a738=_[_0x444e('0x26')](db[_0x444e('0x27')][_0x444e('0x28')],function(_0x516d77){return{'name':_0x516d77[_0x444e('0x29')],'type':_0x516d77[_0x444e('0x2a')][_0x444e('0x2b')]};});_0x1d4d81[_0x444e('0x2c')]=_[_0x444e('0x26')](_0x27a738,_0x444e('0x24'));_0x1d4d81[_0x444e('0x2d')]=_[_0x444e('0x2e')](_0x32cc04[_0x444e('0x2d')]);_0x1d4d81['filters']=_[_0x444e('0x2f')](_0x1d4d81['model'],_0x1d4d81[_0x444e('0x2d')]);_0x342ef5[_0x444e('0x30')]=_['intersection'](_0x1d4d81['model'],qs[_0x444e('0x31')](_0x32cc04[_0x444e('0x2d')]['fields']));_0x342ef5[_0x444e('0x30')]=_0x342ef5['attributes']['length']?_0x342ef5[_0x444e('0x30')]:_0x1d4d81[_0x444e('0x2c')];if(!_0x32cc04[_0x444e('0x2d')][_0x444e('0x32')](_0x444e('0x33'))){_0x342ef5['limit']=qs[_0x444e('0x1c')](_0x32cc04['query'][_0x444e('0x1c')]);_0x342ef5[_0x444e('0x1a')]=qs[_0x444e('0x1a')](_0x32cc04['query'][_0x444e('0x1a')]);}_0x342ef5[_0x444e('0x34')]=qs[_0x444e('0x35')](_0x32cc04[_0x444e('0x2d')][_0x444e('0x35')]);_0x342ef5['where']=qs[_0x444e('0x36')](_[_0x444e('0x37')](_0x32cc04[_0x444e('0x2d')],_0x1d4d81[_0x444e('0x36')]),_0x27a738);if(_0x32cc04['query']['filter']){_0x342ef5[_0x444e('0x38')]=_['merge'](_0x342ef5[_0x444e('0x38')],{'$or':_[_0x444e('0x26')](_0x27a738,function(_0x150f23){if(_0x150f23[_0x444e('0x2a')]!=='VIRTUAL'){var _0x2cb086={};_0x2cb086[_0x150f23[_0x444e('0x24')]]={'$like':'%'+_0x32cc04[_0x444e('0x2d')][_0x444e('0x39')]+'%'};return _0x2cb086;}})});}_0x342ef5=_[_0x444e('0x3a')]({},_0x342ef5,_0x32cc04['options']);var _0x1b80c5={'where':_0x342ef5[_0x444e('0x38')]};return db[_0x444e('0x27')]['count'](_0x1b80c5)[_0x444e('0x22')](function(_0x20bca1){_0x1af055[_0x444e('0x1d')]=_0x20bca1;if(_0x32cc04['query'][_0x444e('0x3b')]){_0x342ef5['include']=[{'all':!![]}];}return db[_0x444e('0x27')][_0x444e('0x3c')](_0x342ef5);})[_0x444e('0x22')](function(_0x1c5b4a){_0x1af055[_0x444e('0x3d')]=_0x1c5b4a;return _0x1af055;})[_0x444e('0x22')](respondWithFilteredResult(_0x367d6c,_0x342ef5))[_0x444e('0x3e')](handleError(_0x367d6c,null));};exports[_0x444e('0x3f')]=function(_0x112caa,_0x32bf75){var _0x541fb2={'raw':![],'where':{'id':_0x112caa['params']['id']}},_0xe7a4f9={};_0xe7a4f9[_0x444e('0x2c')]=_[_0x444e('0x2e')](db[_0x444e('0x27')][_0x444e('0x28')]);_0xe7a4f9[_0x444e('0x2d')]=_[_0x444e('0x2e')](_0x112caa[_0x444e('0x2d')]);_0xe7a4f9[_0x444e('0x36')]=_['intersection'](_0xe7a4f9[_0x444e('0x2c')],_0xe7a4f9[_0x444e('0x2d')]);_0x541fb2['attributes']=_[_0x444e('0x2f')](_0xe7a4f9[_0x444e('0x2c')],qs[_0x444e('0x31')](_0x112caa[_0x444e('0x2d')][_0x444e('0x31')]));_0x541fb2[_0x444e('0x30')]=_0x541fb2[_0x444e('0x30')]['length']?_0x541fb2[_0x444e('0x30')]:_0xe7a4f9['model'];if(_0x112caa[_0x444e('0x2d')][_0x444e('0x3b')]){_0x541fb2[_0x444e('0x40')]=[{'all':!![]}];}_0x541fb2=_[_0x444e('0x3a')]({},_0x541fb2,_0x112caa[_0x444e('0x41')]);return db[_0x444e('0x27')][_0x444e('0x42')](_0x541fb2)['then'](handleEntityNotFound(_0x32bf75,null))[_0x444e('0x22')](respondWithResult(_0x32bf75,null))[_0x444e('0x3e')](handleError(_0x32bf75,null));};exports[_0x444e('0x43')]=function(_0x225655,_0x492c47){return db[_0x444e('0x27')][_0x444e('0x43')](_0x225655[_0x444e('0x44')],{})[_0x444e('0x22')](respondWithResult(_0x492c47,0xc9))[_0x444e('0x3e')](handleError(_0x492c47,null));};exports['update']=function(_0x58c2f4,_0x2e8b21){if(_0x58c2f4['body']['id']){delete _0x58c2f4[_0x444e('0x44')]['id'];}return db[_0x444e('0x27')][_0x444e('0x42')]({'where':{'id':_0x58c2f4[_0x444e('0x45')]['id']}})[_0x444e('0x22')](handleEntityNotFound(_0x2e8b21,null))['then'](saveUpdates(_0x58c2f4[_0x444e('0x44')],null))['then'](respondWithResult(_0x2e8b21,null))[_0x444e('0x3e')](handleError(_0x2e8b21,null));};exports[_0x444e('0x23')]=function(_0x1fa6e4,_0x15d1d7){return db[_0x444e('0x27')][_0x444e('0x42')]({'where':{'id':_0x1fa6e4[_0x444e('0x45')]['id']}})[_0x444e('0x22')](handleEntityNotFound(_0x15d1d7,null))[_0x444e('0x22')](removeEntity(_0x15d1d7,null))[_0x444e('0x3e')](handleError(_0x15d1d7,null));};exports[_0x444e('0x46')]=function(_0x5962ca,_0x5e5b14,_0x120114){var _0x25ba6c={};var _0x1f134d={};var _0xbad4ec;var _0x3c09c5;return db['SalesforceAccount'][_0x444e('0x47')]({'where':{'id':_0x5962ca['params']['id']}})[_0x444e('0x22')](handleEntityNotFound(_0x5e5b14,null))[_0x444e('0x22')](function(_0x14a5ed){if(_0x14a5ed){_0xbad4ec=_0x14a5ed;_0x1f134d[_0x444e('0x2c')]=_[_0x444e('0x2e')](db[_0x444e('0x48')][_0x444e('0x28')]);_0x1f134d['query']=_[_0x444e('0x2e')](_0x5962ca[_0x444e('0x2d')]);_0x1f134d[_0x444e('0x36')]=_[_0x444e('0x2f')](_0x1f134d[_0x444e('0x2c')],_0x1f134d[_0x444e('0x2d')]);_0x25ba6c[_0x444e('0x30')]=_[_0x444e('0x2f')](_0x1f134d[_0x444e('0x2c')],qs[_0x444e('0x31')](_0x5962ca[_0x444e('0x2d')][_0x444e('0x31')]));_0x25ba6c['attributes']=_0x25ba6c[_0x444e('0x30')][_0x444e('0x49')]?_0x25ba6c[_0x444e('0x30')]:_0x1f134d[_0x444e('0x2c')];_0x25ba6c[_0x444e('0x34')]=qs['sort'](_0x5962ca[_0x444e('0x2d')]['sort']);_0x25ba6c[_0x444e('0x38')]=qs[_0x444e('0x36')](_['pick'](_0x5962ca[_0x444e('0x2d')],_0x1f134d[_0x444e('0x36')]));if(_0x5962ca[_0x444e('0x2d')][_0x444e('0x39')]){_0x25ba6c[_0x444e('0x38')]=_[_0x444e('0x3a')](_0x25ba6c['where'],{'$or':_['map'](_0x25ba6c[_0x444e('0x30')],function(_0x88a63b){var _0x219d0b={};_0x219d0b[_0x88a63b]={'$like':'%'+_0x5962ca[_0x444e('0x2d')][_0x444e('0x39')]+'%'};return _0x219d0b;})});}_0x25ba6c=_[_0x444e('0x3a')]({},_0x25ba6c,_0x5962ca['options']);return _0xbad4ec[_0x444e('0x46')](_0x25ba6c);}})[_0x444e('0x22')](function(_0x2a11a7){if(_0x2a11a7){_0x3c09c5=_0x2a11a7[_0x444e('0x49')];if(!_0x5962ca['query'][_0x444e('0x32')](_0x444e('0x33'))){_0x25ba6c[_0x444e('0x1c')]=qs[_0x444e('0x1c')](_0x5962ca[_0x444e('0x2d')][_0x444e('0x1c')]);_0x25ba6c['offset']=qs['offset'](_0x5962ca[_0x444e('0x2d')][_0x444e('0x1a')]);}return _0xbad4ec[_0x444e('0x46')](_0x25ba6c);}})[_0x444e('0x22')](function(_0x591670){if(_0x591670){return _0x591670?{'count':_0x3c09c5,'rows':_0x591670}:null;}})['then'](respondWithResult(_0x5e5b14,null))[_0x444e('0x3e')](handleError(_0x5e5b14,null));};exports[_0x444e('0x4a')]=function(_0x218445,_0x3e99c3,_0x5dd335){if(_0x218445['body']['id']){delete _0x218445[_0x444e('0x44')]['id'];}return db[_0x444e('0x27')][_0x444e('0x47')]({'where':{'id':_0x218445[_0x444e('0x45')]['id']}})['then'](handleEntityNotFound(_0x3e99c3,null))[_0x444e('0x22')](function(_0x15825d){if(_0x15825d){_0x218445[_0x444e('0x44')]['AccountId']=_0x15825d['id'];_0x218445[_0x444e('0x44')]['Subjects']=integrations[_0x444e('0x4b')](_0x218445[_0x444e('0x44')]['channel'],_0x218445[_0x444e('0x44')][_0x444e('0x2a')]);_0x218445[_0x444e('0x44')]['Descriptions']=integrations[_0x444e('0x4c')](_0x218445[_0x444e('0x44')][_0x444e('0x4d')],_0x218445[_0x444e('0x44')]['type']);return db[_0x444e('0x48')][_0x444e('0x43')](_0x218445['body'],{'include':[{'model':db['SalesforceField'],'as':_0x444e('0x4e')},{'model':db['SalesforceField'],'as':_0x444e('0x4f')}]});}return null;})[_0x444e('0x22')](respondWithResult(_0x3e99c3,null))[_0x444e('0x3e')](handleError(_0x3e99c3,null));};exports[_0x444e('0x50')]=function(_0xd8d84b,_0x1324c6,_0x366670){var _0x2fd06a;var _0x32b525='';var _0x19f7fe=_0x444e('0x51');return db[_0x444e('0x27')][_0x444e('0x47')]({'where':{'id':_0xd8d84b[_0x444e('0x45')]['id']},'attributes':['id',_0x444e('0x52'),_0x444e('0x53'),_0x444e('0x54'),'username',_0x444e('0x55'),'securityToken']})[_0x444e('0x22')](handleEntityNotFound(_0x1324c6,null))['then'](function(_0x54e607){if(_0x54e607){_0x32b525=_0x54e607[_0x444e('0x52')];var _0x3ea221=_0x32b525['slice'](-0x1);if(_0x3ea221==='/'){_0x32b525=_0x32b525[_0x444e('0x56')](0x0,_0x32b525[_0x444e('0x57')](_0x3ea221));}_0x2fd06a=new jsforce[(_0x444e('0x58'))]({'oauth2':{'loginUrl':_0x32b525,'clientId':_0x54e607['clientId'],'clientSecret':_0x54e607[_0x444e('0x54')]}});return _0x2fd06a[_0x444e('0x59')](_0x54e607[_0x444e('0x5a')],_0x54e607[_0x444e('0x55')][_0x444e('0x5b')](_0x54e607['securityToken']));}})[_0x444e('0x22')](function(_0x2b282c){if(_0x2b282c){if(!_[_0x444e('0x5c')](_0xd8d84b['query'][_0x444e('0x5d')])){_0x19f7fe=_0xd8d84b[_0x444e('0x2d')][_0x444e('0x5d')];}return _0x2fd06a[_0x444e('0x5e')](_0x19f7fe)[_0x444e('0x5f')]();}})['then'](function(_0x29779c){var _0x26b5d4=[_0x444e('0x60'),_0x444e('0x61'),_0x444e('0x62'),_0x444e('0x63'),_0x444e('0x64'),_0x444e('0x65')];var _0x4eea63=[_0x444e('0x66'),_0x444e('0x67'),_0x444e('0x68'),_0x444e('0x69'),_0x444e('0x6a'),_0x444e('0x6b'),_0x444e('0x6c')];if(_0x29779c){_[_0x444e('0x6d')](_0x29779c['fields'],function(_0x57558f){return _0x26b5d4[_0x444e('0x6e')](_0x57558f[_0x444e('0x24')])||!_0x4eea63[_0x444e('0x6e')](_0x57558f[_0x444e('0x2a')]);});return{'count':_0x29779c[_0x444e('0x31')]['length'],'rows':_[_0x444e('0x26')](_0x29779c['fields'],function(_0x12ebec){return{'id':_0x12ebec[_0x444e('0x24')],'name':_0x12ebec[_0x444e('0x6f')],'custom':_0x12ebec['custom'],'options':_0x12ebec[_0x444e('0x70')]['length']>0x0?_[_0x444e('0x26')](_0x12ebec[_0x444e('0x70')],function(_0xd0129a){return{'name':_0xd0129a[_0x444e('0x6f')],'value':_0xd0129a[_0x444e('0x71')]};}):_0x12ebec[_0x444e('0x2a')]==_0x444e('0x69')?[{'name':_0x444e('0x72'),'value':_0x444e('0x73')},{'name':'False','value':_0x444e('0x74')}]:[]};})};}})[_0x444e('0x22')](respondWithResult(_0x1324c6,null))[_0x444e('0x3e')](function(_0x263f41){var _0x560db7=_0xd8d84b['query'][_0x444e('0x75')]?0x1f4:_0x263f41[_0x444e('0x76')]||0x1f4;logger[_0x444e('0x77')](_0x444e('0x78'),_0x444e('0x50'),_0x560db7,JSON['stringify'](_0x263f41));delete _0x263f41[_0x444e('0x24')];if(_0x560db7===0x191){_0x560db7=0x190;}_0x1324c6[_0x444e('0x18')](_0x560db7)['send'](_0xd8d84b['query'][_0x444e('0x75')]?{'message':_0x444e('0x79'),'statusCode':_0x263f41[_0x444e('0x76')]}:_0x263f41);});};