Built motion from commit 43538d75.|2.5.35
[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 _0x3dfd=['type','key','model','keys','query','filters','intersection','attributes','fields','nolimit','sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','show','params','find','create','body','getConfigurations','findOne','SalesforceConfiguration','length','order','hasOwnProperty','addConfiguration','AccountId','getSubjects','channel','Descriptions','SalesforceField','Subjects','Task','remoteUri','clientId','clientSecret','username','securityToken','slice','substring','lastIndexOf','Connection','login','concat','ticketType','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','int','picklist','boolean','textarea','remove','name','includes','label','custom','picklistValues','value','true','False','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','end','offset','limit','count','Content-Range','json','apply','reject','save','update','then','destroy','error','send','index','map','SalesforceAccount','rawAttributes','fieldName'];(function(_0x7080a9,_0x37549d){var _0x3fcd7c=function(_0x271703){while(--_0x271703){_0x7080a9['push'](_0x7080a9['shift']());}};_0x3fcd7c(++_0x37549d);}(_0x3dfd,0x14a));var _0xd3df=function(_0x2070da,_0x45e586){_0x2070da=_0x2070da-0x0;var _0x4f9fe1=_0x3dfd[_0x2070da];return _0x4f9fe1;};'use strict';var emlformat=require(_0xd3df('0x0'));var rimraf=require(_0xd3df('0x1'));var zipdir=require(_0xd3df('0x2'));var jsonpatch=require(_0xd3df('0x3'));var rp=require(_0xd3df('0x4'));var moment=require(_0xd3df('0x5'));var BPromise=require(_0xd3df('0x6'));var Mustache=require(_0xd3df('0x7'));var util=require('util');var path=require(_0xd3df('0x8'));var sox=require(_0xd3df('0x9'));var csv=require(_0xd3df('0xa'));var ejs=require(_0xd3df('0xb'));var fs=require('fs');var fs_extra=require(_0xd3df('0xc'));var _=require(_0xd3df('0xd'));var squel=require(_0xd3df('0xe'));var crypto=require(_0xd3df('0xf'));var jsforce=require(_0xd3df('0x10'));var deskjs=require(_0xd3df('0x11'));var toCsv=require('to-csv');var querystring=require(_0xd3df('0x12'));var Papa=require(_0xd3df('0x13'));var Redis=require(_0xd3df('0x14'));var authService=require(_0xd3df('0x15'));var qs=require(_0xd3df('0x16'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd3df('0x17'));var logger=require(_0xd3df('0x18'))(_0xd3df('0x19'));var utils=require(_0xd3df('0x1a'));var config=require(_0xd3df('0x1b'));var licenseUtil=require(_0xd3df('0x1c'));var db=require('../../mysqldb')['db'];var integrations=require(_0xd3df('0x1d'));function respondWithStatusCode(_0x44b3f1,_0x594fc5){_0x594fc5=_0x594fc5||0xcc;return function(_0x225bd7){if(_0x225bd7){return _0x44b3f1[_0xd3df('0x1e')](_0x594fc5);}return _0x44b3f1[_0xd3df('0x1f')](_0x594fc5)[_0xd3df('0x20')]();};}function respondWithResult(_0x17cf6b,_0x45da55){_0x45da55=_0x45da55||0xc8;return function(_0x1216f1){if(_0x1216f1){return _0x17cf6b[_0xd3df('0x1f')](_0x45da55)['json'](_0x1216f1);}};}function respondWithFilteredResult(_0x53b59c,_0x4b8dc0){return function(_0x5cb4f0){if(_0x5cb4f0){var _0x25715e=typeof _0x4b8dc0[_0xd3df('0x21')]==='undefined'&&typeof _0x4b8dc0[_0xd3df('0x22')]==='undefined';var _0x292cc6=_0x5cb4f0[_0xd3df('0x23')];var _0x202fc4=_0x25715e?0x0:_0x4b8dc0[_0xd3df('0x21')];var _0x47ca80=_0x25715e?_0x5cb4f0['count']:_0x4b8dc0[_0xd3df('0x21')]+_0x4b8dc0[_0xd3df('0x22')];var _0x4c9be2;if(_0x47ca80>=_0x292cc6){_0x47ca80=_0x292cc6;_0x4c9be2=0xc8;}else{_0x4c9be2=0xce;}_0x53b59c[_0xd3df('0x1f')](_0x4c9be2);return _0x53b59c['set'](_0xd3df('0x24'),_0x202fc4+'-'+_0x47ca80+'/'+_0x292cc6)[_0xd3df('0x25')](_0x5cb4f0);}return null;};}function patchUpdates(_0xfb2d55){return function(_0x148eec){try{jsonpatch[_0xd3df('0x26')](_0x148eec,_0xfb2d55,!![]);}catch(_0x227430){return BPromise[_0xd3df('0x27')](_0x227430);}return _0x148eec[_0xd3df('0x28')]();};}function saveUpdates(_0x534a28,_0x4df692){return function(_0x1b01d6){if(_0x1b01d6){return _0x1b01d6[_0xd3df('0x29')](_0x534a28)[_0xd3df('0x2a')](function(_0x5af2c2){return _0x5af2c2;});}return null;};}function removeEntity(_0x1d18c5,_0x249601){return function(_0x55caee){if(_0x55caee){return _0x55caee[_0xd3df('0x2b')]()[_0xd3df('0x2a')](function(){_0x1d18c5['status'](0xcc)[_0xd3df('0x20')]();});}};}function handleEntityNotFound(_0x49ad7a,_0x1cb761){return function(_0x28f64c){if(!_0x28f64c){_0x49ad7a[_0xd3df('0x1e')](0x194);}return _0x28f64c;};}function handleError(_0x395137,_0x4e92a9){_0x4e92a9=_0x4e92a9||0x1f4;return function(_0x5abb9e){logger[_0xd3df('0x2c')](_0x5abb9e['stack']);if(_0x5abb9e['name']){delete _0x5abb9e['name'];}_0x395137[_0xd3df('0x1f')](_0x4e92a9)[_0xd3df('0x2d')](_0x5abb9e);};}exports[_0xd3df('0x2e')]=function(_0x170962,_0x412266){var _0x44462b={},_0x1720f6={},_0x4123e5={'count':0x0,'rows':[]};var _0x4244bd=_[_0xd3df('0x2f')](db[_0xd3df('0x30')][_0xd3df('0x31')],function(_0x32249e){return{'name':_0x32249e[_0xd3df('0x32')],'type':_0x32249e[_0xd3df('0x33')][_0xd3df('0x34')]};});_0x1720f6[_0xd3df('0x35')]=_['map'](_0x4244bd,'name');_0x1720f6['query']=_[_0xd3df('0x36')](_0x170962[_0xd3df('0x37')]);_0x1720f6[_0xd3df('0x38')]=_[_0xd3df('0x39')](_0x1720f6[_0xd3df('0x35')],_0x1720f6[_0xd3df('0x37')]);_0x44462b[_0xd3df('0x3a')]=_[_0xd3df('0x39')](_0x1720f6[_0xd3df('0x35')],qs[_0xd3df('0x3b')](_0x170962[_0xd3df('0x37')][_0xd3df('0x3b')]));_0x44462b[_0xd3df('0x3a')]=_0x44462b[_0xd3df('0x3a')]['length']?_0x44462b[_0xd3df('0x3a')]:_0x1720f6[_0xd3df('0x35')];if(!_0x170962[_0xd3df('0x37')]['hasOwnProperty'](_0xd3df('0x3c'))){_0x44462b['limit']=qs['limit'](_0x170962['query'][_0xd3df('0x22')]);_0x44462b[_0xd3df('0x21')]=qs[_0xd3df('0x21')](_0x170962[_0xd3df('0x37')]['offset']);}_0x44462b['order']=qs[_0xd3df('0x3d')](_0x170962['query'][_0xd3df('0x3d')]);_0x44462b[_0xd3df('0x3e')]=qs[_0xd3df('0x38')](_[_0xd3df('0x3f')](_0x170962[_0xd3df('0x37')],_0x1720f6[_0xd3df('0x38')]),_0x4244bd);if(_0x170962[_0xd3df('0x37')][_0xd3df('0x40')]){_0x44462b[_0xd3df('0x3e')]=_[_0xd3df('0x41')](_0x44462b[_0xd3df('0x3e')],{'$or':_[_0xd3df('0x2f')](_0x4244bd,function(_0x211ebe){if(_0x211ebe[_0xd3df('0x33')]!=='VIRTUAL'){var _0x4f70f6={};_0x4f70f6[_0x211ebe['name']]={'$like':'%'+_0x170962['query']['filter']+'%'};return _0x4f70f6;}})});}_0x44462b=_[_0xd3df('0x41')]({},_0x44462b,_0x170962[_0xd3df('0x42')]);var _0x3b8bd8={'where':_0x44462b[_0xd3df('0x3e')]};return db[_0xd3df('0x30')][_0xd3df('0x23')](_0x3b8bd8)[_0xd3df('0x2a')](function(_0x3b2837){_0x4123e5['count']=_0x3b2837;if(_0x170962[_0xd3df('0x37')][_0xd3df('0x43')]){_0x44462b['include']=[{'all':!![]}];}return db[_0xd3df('0x30')][_0xd3df('0x44')](_0x44462b);})['then'](function(_0xfa11ff){_0x4123e5[_0xd3df('0x45')]=_0xfa11ff;return _0x4123e5;})['then'](respondWithFilteredResult(_0x412266,_0x44462b))[_0xd3df('0x46')](handleError(_0x412266,null));};exports[_0xd3df('0x47')]=function(_0x2eb1cd,_0x5003c3){var _0x19fc07={'raw':![],'where':{'id':_0x2eb1cd[_0xd3df('0x48')]['id']}},_0xce6227={};_0xce6227[_0xd3df('0x35')]=_['keys'](db['SalesforceAccount'][_0xd3df('0x31')]);_0xce6227['query']=_['keys'](_0x2eb1cd[_0xd3df('0x37')]);_0xce6227[_0xd3df('0x38')]=_[_0xd3df('0x39')](_0xce6227[_0xd3df('0x35')],_0xce6227[_0xd3df('0x37')]);_0x19fc07[_0xd3df('0x3a')]=_[_0xd3df('0x39')](_0xce6227['model'],qs[_0xd3df('0x3b')](_0x2eb1cd[_0xd3df('0x37')][_0xd3df('0x3b')]));_0x19fc07[_0xd3df('0x3a')]=_0x19fc07['attributes']['length']?_0x19fc07[_0xd3df('0x3a')]:_0xce6227[_0xd3df('0x35')];if(_0x2eb1cd[_0xd3df('0x37')][_0xd3df('0x43')]){_0x19fc07['include']=[{'all':!![]}];}_0x19fc07=_[_0xd3df('0x41')]({},_0x19fc07,_0x2eb1cd[_0xd3df('0x42')]);return db[_0xd3df('0x30')][_0xd3df('0x49')](_0x19fc07)[_0xd3df('0x2a')](handleEntityNotFound(_0x5003c3,null))[_0xd3df('0x2a')](respondWithResult(_0x5003c3,null))['catch'](handleError(_0x5003c3,null));};exports['create']=function(_0x53c3f5,_0x4de67a){return db['SalesforceAccount'][_0xd3df('0x4a')](_0x53c3f5[_0xd3df('0x4b')],{})[_0xd3df('0x2a')](respondWithResult(_0x4de67a,0xc9))['catch'](handleError(_0x4de67a,null));};exports[_0xd3df('0x29')]=function(_0x3b2c0c,_0x4ae927){if(_0x3b2c0c[_0xd3df('0x4b')]['id']){delete _0x3b2c0c[_0xd3df('0x4b')]['id'];}return db[_0xd3df('0x30')][_0xd3df('0x49')]({'where':{'id':_0x3b2c0c['params']['id']}})[_0xd3df('0x2a')](handleEntityNotFound(_0x4ae927,null))[_0xd3df('0x2a')](saveUpdates(_0x3b2c0c[_0xd3df('0x4b')],null))[_0xd3df('0x2a')](respondWithResult(_0x4ae927,null))[_0xd3df('0x46')](handleError(_0x4ae927,null));};exports[_0xd3df('0x2b')]=function(_0x2ac659,_0x49189e){return db['SalesforceAccount'][_0xd3df('0x49')]({'where':{'id':_0x2ac659[_0xd3df('0x48')]['id']}})['then'](handleEntityNotFound(_0x49189e,null))['then'](removeEntity(_0x49189e,null))[_0xd3df('0x46')](handleError(_0x49189e,null));};exports[_0xd3df('0x4c')]=function(_0x17ab0b,_0x2a69e9,_0x570e55){var _0x55e7ca={};var _0x195d5c={};var _0x1f4cdf;var _0x1c9b8f;return db[_0xd3df('0x30')][_0xd3df('0x4d')]({'where':{'id':_0x17ab0b[_0xd3df('0x48')]['id']}})[_0xd3df('0x2a')](handleEntityNotFound(_0x2a69e9,null))[_0xd3df('0x2a')](function(_0x44cae9){if(_0x44cae9){_0x1f4cdf=_0x44cae9;_0x195d5c[_0xd3df('0x35')]=_[_0xd3df('0x36')](db[_0xd3df('0x4e')][_0xd3df('0x31')]);_0x195d5c[_0xd3df('0x37')]=_[_0xd3df('0x36')](_0x17ab0b[_0xd3df('0x37')]);_0x195d5c[_0xd3df('0x38')]=_['intersection'](_0x195d5c[_0xd3df('0x35')],_0x195d5c[_0xd3df('0x37')]);_0x55e7ca[_0xd3df('0x3a')]=_[_0xd3df('0x39')](_0x195d5c[_0xd3df('0x35')],qs['fields'](_0x17ab0b[_0xd3df('0x37')][_0xd3df('0x3b')]));_0x55e7ca[_0xd3df('0x3a')]=_0x55e7ca['attributes'][_0xd3df('0x4f')]?_0x55e7ca[_0xd3df('0x3a')]:_0x195d5c[_0xd3df('0x35')];_0x55e7ca[_0xd3df('0x50')]=qs['sort'](_0x17ab0b[_0xd3df('0x37')][_0xd3df('0x3d')]);_0x55e7ca[_0xd3df('0x3e')]=qs[_0xd3df('0x38')](_[_0xd3df('0x3f')](_0x17ab0b['query'],_0x195d5c[_0xd3df('0x38')]));if(_0x17ab0b[_0xd3df('0x37')]['filter']){_0x55e7ca[_0xd3df('0x3e')]=_[_0xd3df('0x41')](_0x55e7ca['where'],{'$or':_['map'](_0x55e7ca[_0xd3df('0x3a')],function(_0xc2bd6b){var _0x397858={};_0x397858[_0xc2bd6b]={'$like':'%'+_0x17ab0b[_0xd3df('0x37')][_0xd3df('0x40')]+'%'};return _0x397858;})});}_0x55e7ca=_['merge']({},_0x55e7ca,_0x17ab0b[_0xd3df('0x42')]);return _0x1f4cdf[_0xd3df('0x4c')](_0x55e7ca);}})['then'](function(_0x343d6d){if(_0x343d6d){_0x1c9b8f=_0x343d6d['length'];if(!_0x17ab0b['query'][_0xd3df('0x51')](_0xd3df('0x3c'))){_0x55e7ca['limit']=qs['limit'](_0x17ab0b[_0xd3df('0x37')][_0xd3df('0x22')]);_0x55e7ca[_0xd3df('0x21')]=qs[_0xd3df('0x21')](_0x17ab0b['query']['offset']);}return _0x1f4cdf[_0xd3df('0x4c')](_0x55e7ca);}})[_0xd3df('0x2a')](function(_0x30c1af){if(_0x30c1af){return _0x30c1af?{'count':_0x1c9b8f,'rows':_0x30c1af}:null;}})['then'](respondWithResult(_0x2a69e9,null))[_0xd3df('0x46')](handleError(_0x2a69e9,null));};exports[_0xd3df('0x52')]=function(_0x588f8a,_0x45b0ab,_0x22b7d5){if(_0x588f8a[_0xd3df('0x4b')]['id']){delete _0x588f8a['body']['id'];}return db[_0xd3df('0x30')][_0xd3df('0x4d')]({'where':{'id':_0x588f8a[_0xd3df('0x48')]['id']}})[_0xd3df('0x2a')](handleEntityNotFound(_0x45b0ab,null))[_0xd3df('0x2a')](function(_0x3cc935){if(_0x3cc935){_0x588f8a[_0xd3df('0x4b')][_0xd3df('0x53')]=_0x3cc935['id'];_0x588f8a[_0xd3df('0x4b')]['Subjects']=integrations[_0xd3df('0x54')](_0x588f8a[_0xd3df('0x4b')][_0xd3df('0x55')],_0x588f8a[_0xd3df('0x4b')]['type']);_0x588f8a[_0xd3df('0x4b')][_0xd3df('0x56')]=integrations['getDescriptions'](_0x588f8a[_0xd3df('0x4b')][_0xd3df('0x55')],_0x588f8a[_0xd3df('0x4b')][_0xd3df('0x33')]);return db['SalesforceConfiguration'][_0xd3df('0x4a')](_0x588f8a[_0xd3df('0x4b')],{'include':[{'model':db[_0xd3df('0x57')],'as':_0xd3df('0x58')},{'model':db['SalesforceField'],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x45b0ab,null))[_0xd3df('0x46')](handleError(_0x45b0ab,null));};exports['getFields']=function(_0x456b0d,_0x1d01c2,_0x52a719){var _0x18d6aa;var _0x440da8='';var _0x1fd2f6=_0xd3df('0x59');return db[_0xd3df('0x30')][_0xd3df('0x4d')]({'where':{'id':_0x456b0d[_0xd3df('0x48')]['id']},'attributes':['id',_0xd3df('0x5a'),_0xd3df('0x5b'),_0xd3df('0x5c'),_0xd3df('0x5d'),'password',_0xd3df('0x5e')]})[_0xd3df('0x2a')](handleEntityNotFound(_0x1d01c2,null))[_0xd3df('0x2a')](function(_0x6dfe16){if(_0x6dfe16){_0x440da8=_0x6dfe16['remoteUri'];var _0x13b261=_0x440da8[_0xd3df('0x5f')](-0x1);if(_0x13b261==='/'){_0x440da8=_0x440da8[_0xd3df('0x60')](0x0,_0x440da8[_0xd3df('0x61')](_0x13b261));}_0x18d6aa=new jsforce[(_0xd3df('0x62'))]({'oauth2':{'loginUrl':_0x440da8,'clientId':_0x6dfe16[_0xd3df('0x5b')],'clientSecret':_0x6dfe16['clientSecret']}});return _0x18d6aa[_0xd3df('0x63')](_0x6dfe16['username'],_0x6dfe16['password'][_0xd3df('0x64')](_0x6dfe16[_0xd3df('0x5e')]));}})[_0xd3df('0x2a')](function(_0x14a797){if(_0x14a797){if(!_['isNil'](_0x456b0d[_0xd3df('0x37')][_0xd3df('0x65')])){_0x1fd2f6=_0x456b0d[_0xd3df('0x37')][_0xd3df('0x65')];}return _0x18d6aa['sobject'](_0x1fd2f6)[_0xd3df('0x66')]();}})['then'](function(_0x4add2e){var _0x6f7d64=[_0xd3df('0x67'),_0xd3df('0x68'),_0xd3df('0x69'),_0xd3df('0x6a'),_0xd3df('0x6b'),_0xd3df('0x6c')];var _0xf772fb=[_0xd3df('0x6d'),_0xd3df('0x6e'),_0xd3df('0x6f'),_0xd3df('0x70'),'email',_0xd3df('0x71'),'phone'];if(_0x4add2e){_[_0xd3df('0x72')](_0x4add2e[_0xd3df('0x3b')],function(_0x57a0f3){return _0x6f7d64['includes'](_0x57a0f3[_0xd3df('0x73')])||!_0xf772fb[_0xd3df('0x74')](_0x57a0f3[_0xd3df('0x33')]);});return{'count':_0x4add2e['fields'][_0xd3df('0x4f')],'rows':_[_0xd3df('0x2f')](_0x4add2e[_0xd3df('0x3b')],function(_0x3e6150){return{'id':_0x3e6150['name'],'name':_0x3e6150[_0xd3df('0x75')],'custom':_0x3e6150[_0xd3df('0x76')],'options':_0x3e6150[_0xd3df('0x77')][_0xd3df('0x4f')]>0x0?_['map'](_0x3e6150[_0xd3df('0x77')],function(_0x1566db){return{'name':_0x1566db[_0xd3df('0x75')],'value':_0x1566db[_0xd3df('0x78')]};}):_0x3e6150[_0xd3df('0x33')]==_0xd3df('0x70')?[{'name':'True','value':_0xd3df('0x79')},{'name':_0xd3df('0x7a'),'value':'false'}]:[]};})};}})['then'](respondWithResult(_0x1d01c2,null))['catch'](function(_0x32e4aa){var _0x5c2052=_0x456b0d[_0xd3df('0x37')]['test']?0x1f4:_0x32e4aa[_0xd3df('0x7b')]||0x1f4;logger[_0xd3df('0x2c')](_0xd3df('0x7c'),_0xd3df('0x7d'),_0x5c2052,JSON[_0xd3df('0x7e')](_0x32e4aa));delete _0x32e4aa[_0xd3df('0x73')];if(_0x5c2052===0x191){_0x5c2052=0x190;}_0x1d01c2['status'](_0x5c2052)[_0xd3df('0x2d')](_0x456b0d[_0xd3df('0x37')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x32e4aa[_0xd3df('0x7b')]}:_0x32e4aa);});};