Built motion from commit 1fa89557.|2.6.10
[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 _0x0926=['fast-json-patch','request-promise','mustache','util','path','to-csv','ejs','lodash','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','undefined','limit','offset','count','apply','reject','save','destroy','error','name','send','index','map','SalesforceAccount','rawAttributes','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','type','options','includeAll','include','findAll','rows','then','catch','show','params','length','merge','create','body','update','find','getConfigurations','pick','AccountId','Subjects','getSubjects','channel','SalesforceField','Descriptions','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','concat','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','int','picklist','boolean','email','textarea','phone','remove','includes','label','custom','picklistValues','value','True','true','False','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','rimraf','zip-dir'];(function(_0x21bdb0,_0x5b508d){var _0x1d2b5c=function(_0x503803){while(--_0x503803){_0x21bdb0['push'](_0x21bdb0['shift']());}};_0x1d2b5c(++_0x5b508d);}(_0x0926,0x75));var _0x6092=function(_0x257a28,_0x2cd00d){_0x257a28=_0x257a28-0x0;var _0x13bccc=_0x0926[_0x257a28];return _0x13bccc;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6092('0x0'));var zipdir=require(_0x6092('0x1'));var jsonpatch=require(_0x6092('0x2'));var rp=require(_0x6092('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6092('0x4'));var util=require(_0x6092('0x5'));var path=require(_0x6092('0x6'));var sox=require('sox');var csv=require(_0x6092('0x7'));var ejs=require(_0x6092('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6092('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x6092('0xa'));var deskjs=require(_0x6092('0xb'));var toCsv=require(_0x6092('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x6092('0xc'));var authService=require(_0x6092('0xd'));var qs=require(_0x6092('0xe'));var as=require(_0x6092('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6092('0x10'))(_0x6092('0x11'));var utils=require(_0x6092('0x12'));var config=require(_0x6092('0x13'));var licenseUtil=require(_0x6092('0x14'));var db=require(_0x6092('0x15'))['db'];var integrations=require(_0x6092('0x16'));function respondWithStatusCode(_0x12a034,_0x48dc08){_0x48dc08=_0x48dc08||0xcc;return function(_0x1bdc50){if(_0x1bdc50){return _0x12a034[_0x6092('0x17')](_0x48dc08);}return _0x12a034[_0x6092('0x18')](_0x48dc08)[_0x6092('0x19')]();};}function respondWithResult(_0x142fd6,_0x332ac4){_0x332ac4=_0x332ac4||0xc8;return function(_0x2a4e6e){if(_0x2a4e6e){return _0x142fd6[_0x6092('0x18')](_0x332ac4)[_0x6092('0x1a')](_0x2a4e6e);}};}function respondWithFilteredResult(_0x1961f4,_0x5564ef){return function(_0x18023f){if(_0x18023f){var _0x4642f5=typeof _0x5564ef['offset']===_0x6092('0x1b')&&typeof _0x5564ef[_0x6092('0x1c')]==='undefined';var _0x297284=_0x18023f['count'];var _0xfb1e=_0x4642f5?0x0:_0x5564ef[_0x6092('0x1d')];var _0x1c7720=_0x4642f5?_0x18023f[_0x6092('0x1e')]:_0x5564ef['offset']+_0x5564ef[_0x6092('0x1c')];var _0x5587db;if(_0x1c7720>=_0x297284){_0x1c7720=_0x297284;_0x5587db=0xc8;}else{_0x5587db=0xce;}_0x1961f4['status'](_0x5587db);return _0x1961f4['set']('Content-Range',_0xfb1e+'-'+_0x1c7720+'/'+_0x297284)['json'](_0x18023f);}return null;};}function patchUpdates(_0x2f3139){return function(_0x528e5c){try{jsonpatch[_0x6092('0x1f')](_0x528e5c,_0x2f3139,!![]);}catch(_0x27afbf){return BPromise[_0x6092('0x20')](_0x27afbf);}return _0x528e5c[_0x6092('0x21')]();};}function saveUpdates(_0x4a49d0,_0x267a7b){return function(_0x1aa9cd){if(_0x1aa9cd){return _0x1aa9cd['update'](_0x4a49d0)['then'](function(_0x5c81da){return _0x5c81da;});}return null;};}function removeEntity(_0x5ee7e7,_0x42afab){return function(_0x4958e4){if(_0x4958e4){return _0x4958e4[_0x6092('0x22')]()['then'](function(){_0x5ee7e7[_0x6092('0x18')](0xcc)[_0x6092('0x19')]();});}};}function handleEntityNotFound(_0x16b3a5,_0x59c6a0){return function(_0x3cbe24){if(!_0x3cbe24){_0x16b3a5[_0x6092('0x17')](0x194);}return _0x3cbe24;};}function handleError(_0x1abde5,_0x33526d){_0x33526d=_0x33526d||0x1f4;return function(_0x130386){logger[_0x6092('0x23')](_0x130386['stack']);if(_0x130386[_0x6092('0x24')]){delete _0x130386[_0x6092('0x24')];}_0x1abde5[_0x6092('0x18')](_0x33526d)[_0x6092('0x25')](_0x130386);};}exports[_0x6092('0x26')]=function(_0x415ced,_0x41ec11){var _0x1ea07b={},_0x169a47={},_0x42f226={'count':0x0,'rows':[]};var _0x331cc8=_[_0x6092('0x27')](db[_0x6092('0x28')][_0x6092('0x29')],function(_0x4405e9){return{'name':_0x4405e9['fieldName'],'type':_0x4405e9['type'][_0x6092('0x2a')]};});_0x169a47[_0x6092('0x2b')]=_[_0x6092('0x27')](_0x331cc8,_0x6092('0x24'));_0x169a47[_0x6092('0x2c')]=_[_0x6092('0x2d')](_0x415ced[_0x6092('0x2c')]);_0x169a47['filters']=_[_0x6092('0x2e')](_0x169a47['model'],_0x169a47[_0x6092('0x2c')]);_0x1ea07b[_0x6092('0x2f')]=_[_0x6092('0x2e')](_0x169a47[_0x6092('0x2b')],qs[_0x6092('0x30')](_0x415ced[_0x6092('0x2c')][_0x6092('0x30')]));_0x1ea07b[_0x6092('0x2f')]=_0x1ea07b[_0x6092('0x2f')]['length']?_0x1ea07b[_0x6092('0x2f')]:_0x169a47[_0x6092('0x2b')];if(!_0x415ced[_0x6092('0x2c')][_0x6092('0x31')](_0x6092('0x32'))){_0x1ea07b['limit']=qs['limit'](_0x415ced[_0x6092('0x2c')][_0x6092('0x1c')]);_0x1ea07b['offset']=qs[_0x6092('0x1d')](_0x415ced[_0x6092('0x2c')][_0x6092('0x1d')]);}_0x1ea07b[_0x6092('0x33')]=qs['sort'](_0x415ced['query'][_0x6092('0x34')]);_0x1ea07b[_0x6092('0x35')]=qs['filters'](_['pick'](_0x415ced[_0x6092('0x2c')],_0x169a47[_0x6092('0x36')]),_0x331cc8);if(_0x415ced[_0x6092('0x2c')][_0x6092('0x37')]){_0x1ea07b[_0x6092('0x35')]=_['merge'](_0x1ea07b[_0x6092('0x35')],{'$or':_[_0x6092('0x27')](_0x331cc8,function(_0x12ea6a){if(_0x12ea6a[_0x6092('0x38')]!=='VIRTUAL'){var _0x55ecf1={};_0x55ecf1[_0x12ea6a['name']]={'$like':'%'+_0x415ced[_0x6092('0x2c')][_0x6092('0x37')]+'%'};return _0x55ecf1;}})});}_0x1ea07b=_['merge']({},_0x1ea07b,_0x415ced[_0x6092('0x39')]);var _0x209dca={'where':_0x1ea07b[_0x6092('0x35')]};return db[_0x6092('0x28')]['count'](_0x209dca)['then'](function(_0x5540c5){_0x42f226['count']=_0x5540c5;if(_0x415ced[_0x6092('0x2c')][_0x6092('0x3a')]){_0x1ea07b[_0x6092('0x3b')]=[{'all':!![]}];}return db[_0x6092('0x28')][_0x6092('0x3c')](_0x1ea07b);})['then'](function(_0x4eec3b){_0x42f226[_0x6092('0x3d')]=_0x4eec3b;return _0x42f226;})[_0x6092('0x3e')](respondWithFilteredResult(_0x41ec11,_0x1ea07b))[_0x6092('0x3f')](handleError(_0x41ec11,null));};exports[_0x6092('0x40')]=function(_0x49d84f,_0x58380b){var _0x2f59e3={'raw':![],'where':{'id':_0x49d84f[_0x6092('0x41')]['id']}},_0x3a29c6={};_0x3a29c6[_0x6092('0x2b')]=_[_0x6092('0x2d')](db[_0x6092('0x28')][_0x6092('0x29')]);_0x3a29c6[_0x6092('0x2c')]=_['keys'](_0x49d84f[_0x6092('0x2c')]);_0x3a29c6[_0x6092('0x36')]=_[_0x6092('0x2e')](_0x3a29c6['model'],_0x3a29c6[_0x6092('0x2c')]);_0x2f59e3['attributes']=_['intersection'](_0x3a29c6[_0x6092('0x2b')],qs[_0x6092('0x30')](_0x49d84f['query'][_0x6092('0x30')]));_0x2f59e3['attributes']=_0x2f59e3[_0x6092('0x2f')][_0x6092('0x42')]?_0x2f59e3[_0x6092('0x2f')]:_0x3a29c6[_0x6092('0x2b')];if(_0x49d84f[_0x6092('0x2c')][_0x6092('0x3a')]){_0x2f59e3[_0x6092('0x3b')]=[{'all':!![]}];}_0x2f59e3=_[_0x6092('0x43')]({},_0x2f59e3,_0x49d84f[_0x6092('0x39')]);return db['SalesforceAccount']['find'](_0x2f59e3)[_0x6092('0x3e')](handleEntityNotFound(_0x58380b,null))[_0x6092('0x3e')](respondWithResult(_0x58380b,null))[_0x6092('0x3f')](handleError(_0x58380b,null));};exports[_0x6092('0x44')]=function(_0x5ce073,_0x15b94f){return db[_0x6092('0x28')]['create'](_0x5ce073[_0x6092('0x45')],{})[_0x6092('0x3e')](respondWithResult(_0x15b94f,0xc9))[_0x6092('0x3f')](handleError(_0x15b94f,null));};exports[_0x6092('0x46')]=function(_0x3f9ac3,_0x2e5d4f){if(_0x3f9ac3[_0x6092('0x45')]['id']){delete _0x3f9ac3['body']['id'];}return db[_0x6092('0x28')][_0x6092('0x47')]({'where':{'id':_0x3f9ac3['params']['id']}})[_0x6092('0x3e')](handleEntityNotFound(_0x2e5d4f,null))[_0x6092('0x3e')](saveUpdates(_0x3f9ac3[_0x6092('0x45')],null))[_0x6092('0x3e')](respondWithResult(_0x2e5d4f,null))['catch'](handleError(_0x2e5d4f,null));};exports[_0x6092('0x22')]=function(_0x19ac67,_0x15fe29){return db[_0x6092('0x28')]['find']({'where':{'id':_0x19ac67[_0x6092('0x41')]['id']}})['then'](handleEntityNotFound(_0x15fe29,null))[_0x6092('0x3e')](removeEntity(_0x15fe29,null))['catch'](handleError(_0x15fe29,null));};exports[_0x6092('0x48')]=function(_0xfe217e,_0x1ed317,_0x5cf8c8){var _0x778e96={};var _0x362acc={};var _0x1df61a;var _0x350810;return db[_0x6092('0x28')]['findOne']({'where':{'id':_0xfe217e[_0x6092('0x41')]['id']}})[_0x6092('0x3e')](handleEntityNotFound(_0x1ed317,null))[_0x6092('0x3e')](function(_0x4efff6){if(_0x4efff6){_0x1df61a=_0x4efff6;_0x362acc[_0x6092('0x2b')]=_[_0x6092('0x2d')](db['SalesforceConfiguration']['rawAttributes']);_0x362acc['query']=_[_0x6092('0x2d')](_0xfe217e['query']);_0x362acc[_0x6092('0x36')]=_[_0x6092('0x2e')](_0x362acc[_0x6092('0x2b')],_0x362acc['query']);_0x778e96[_0x6092('0x2f')]=_[_0x6092('0x2e')](_0x362acc[_0x6092('0x2b')],qs[_0x6092('0x30')](_0xfe217e[_0x6092('0x2c')]['fields']));_0x778e96[_0x6092('0x2f')]=_0x778e96[_0x6092('0x2f')][_0x6092('0x42')]?_0x778e96[_0x6092('0x2f')]:_0x362acc[_0x6092('0x2b')];_0x778e96['order']=qs['sort'](_0xfe217e[_0x6092('0x2c')]['sort']);_0x778e96[_0x6092('0x35')]=qs[_0x6092('0x36')](_[_0x6092('0x49')](_0xfe217e[_0x6092('0x2c')],_0x362acc[_0x6092('0x36')]));if(_0xfe217e['query'][_0x6092('0x37')]){_0x778e96['where']=_[_0x6092('0x43')](_0x778e96['where'],{'$or':_[_0x6092('0x27')](_0x778e96[_0x6092('0x2f')],function(_0x13ad8e){var _0x13816a={};_0x13816a[_0x13ad8e]={'$like':'%'+_0xfe217e['query'][_0x6092('0x37')]+'%'};return _0x13816a;})});}_0x778e96=_[_0x6092('0x43')]({},_0x778e96,_0xfe217e[_0x6092('0x39')]);return _0x1df61a[_0x6092('0x48')](_0x778e96);}})[_0x6092('0x3e')](function(_0x3cfdb1){if(_0x3cfdb1){_0x350810=_0x3cfdb1[_0x6092('0x42')];if(!_0xfe217e[_0x6092('0x2c')]['hasOwnProperty']('nolimit')){_0x778e96[_0x6092('0x1c')]=qs[_0x6092('0x1c')](_0xfe217e[_0x6092('0x2c')][_0x6092('0x1c')]);_0x778e96[_0x6092('0x1d')]=qs[_0x6092('0x1d')](_0xfe217e[_0x6092('0x2c')][_0x6092('0x1d')]);}return _0x1df61a[_0x6092('0x48')](_0x778e96);}})[_0x6092('0x3e')](function(_0x177331){if(_0x177331){return _0x177331?{'count':_0x350810,'rows':_0x177331}:null;}})[_0x6092('0x3e')](respondWithResult(_0x1ed317,null))['catch'](handleError(_0x1ed317,null));};exports['addConfiguration']=function(_0x2fb761,_0x4fa87c,_0x529770){if(_0x2fb761[_0x6092('0x45')]['id']){delete _0x2fb761['body']['id'];}return db[_0x6092('0x28')]['findOne']({'where':{'id':_0x2fb761[_0x6092('0x41')]['id']}})[_0x6092('0x3e')](handleEntityNotFound(_0x4fa87c,null))['then'](function(_0x5e9ba6){if(_0x5e9ba6){_0x2fb761[_0x6092('0x45')][_0x6092('0x4a')]=_0x5e9ba6['id'];_0x2fb761[_0x6092('0x45')][_0x6092('0x4b')]=integrations[_0x6092('0x4c')](_0x2fb761[_0x6092('0x45')]['channel'],_0x2fb761['body'][_0x6092('0x38')]);_0x2fb761['body']['Descriptions']=integrations['getDescriptions'](_0x2fb761[_0x6092('0x45')][_0x6092('0x4d')],_0x2fb761['body']['type']);return db['SalesforceConfiguration'][_0x6092('0x44')](_0x2fb761[_0x6092('0x45')],{'include':[{'model':db[_0x6092('0x4e')],'as':_0x6092('0x4b')},{'model':db[_0x6092('0x4e')],'as':_0x6092('0x4f')}]});}return null;})[_0x6092('0x3e')](respondWithResult(_0x4fa87c,null))[_0x6092('0x3f')](handleError(_0x4fa87c,null));};exports['getFields']=function(_0x4ea209,_0x509b72,_0x5dea50){var _0x43440c;var _0x139218='';var _0x27cc27='Task';return db[_0x6092('0x28')]['findOne']({'where':{'id':_0x4ea209[_0x6092('0x41')]['id']},'attributes':['id',_0x6092('0x50'),_0x6092('0x51'),_0x6092('0x52'),_0x6092('0x53'),_0x6092('0x54'),_0x6092('0x55')]})[_0x6092('0x3e')](handleEntityNotFound(_0x509b72,null))[_0x6092('0x3e')](function(_0x3305ff){if(_0x3305ff){_0x139218=_0x3305ff[_0x6092('0x50')];var _0x4f851a=_0x139218[_0x6092('0x56')](-0x1);if(_0x4f851a==='/'){_0x139218=_0x139218[_0x6092('0x57')](0x0,_0x139218[_0x6092('0x58')](_0x4f851a));}_0x43440c=new jsforce['Connection']({'oauth2':{'loginUrl':_0x139218,'clientId':_0x3305ff['clientId'],'clientSecret':_0x3305ff['clientSecret']}});return _0x43440c['login'](_0x3305ff['username'],_0x3305ff[_0x6092('0x54')][_0x6092('0x59')](_0x3305ff[_0x6092('0x55')]));}})['then'](function(_0x3b28ec){if(_0x3b28ec){if(!_['isNil'](_0x4ea209[_0x6092('0x2c')][_0x6092('0x5a')])){_0x27cc27=_0x4ea209[_0x6092('0x2c')][_0x6092('0x5a')];}return _0x43440c[_0x6092('0x5b')](_0x27cc27)[_0x6092('0x5c')]();}})[_0x6092('0x3e')](function(_0x40e63a){var _0x14cbe0=[_0x6092('0x5d'),_0x6092('0x5e'),_0x6092('0x5f'),_0x6092('0x60'),_0x6092('0x61'),_0x6092('0x62')];var _0x593a4a=[_0x6092('0x63'),_0x6092('0x64'),_0x6092('0x65'),_0x6092('0x66'),_0x6092('0x67'),_0x6092('0x68'),_0x6092('0x69')];if(_0x40e63a){_[_0x6092('0x6a')](_0x40e63a[_0x6092('0x30')],function(_0x5ee1e0){return _0x14cbe0[_0x6092('0x6b')](_0x5ee1e0[_0x6092('0x24')])||!_0x593a4a['includes'](_0x5ee1e0[_0x6092('0x38')]);});return{'count':_0x40e63a[_0x6092('0x30')]['length'],'rows':_[_0x6092('0x27')](_0x40e63a[_0x6092('0x30')],function(_0x5c08cd){return{'id':_0x5c08cd[_0x6092('0x24')],'name':_0x5c08cd[_0x6092('0x6c')],'custom':_0x5c08cd[_0x6092('0x6d')],'options':_0x5c08cd[_0x6092('0x6e')][_0x6092('0x42')]>0x0?_[_0x6092('0x27')](_0x5c08cd[_0x6092('0x6e')],function(_0x53ce20){return{'name':_0x53ce20[_0x6092('0x6c')],'value':_0x53ce20[_0x6092('0x6f')]};}):_0x5c08cd[_0x6092('0x38')]==_0x6092('0x66')?[{'name':_0x6092('0x70'),'value':_0x6092('0x71')},{'name':_0x6092('0x72'),'value':'false'}]:[]};})};}})['then'](respondWithResult(_0x509b72,null))['catch'](function(_0x27bd7b){var _0x3c3a0f=_0x4ea209['query']['test']?0x1f4:_0x27bd7b[_0x6092('0x73')]||0x1f4;logger[_0x6092('0x23')](_0x6092('0x74'),_0x6092('0x75'),_0x3c3a0f,JSON[_0x6092('0x76')](_0x27bd7b));delete _0x27bd7b['name'];if(_0x3c3a0f===0x191){_0x3c3a0f=0x190;}_0x509b72[_0x6092('0x18')](_0x3c3a0f)[_0x6092('0x25')](_0x4ea209[_0x6092('0x2c')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x27bd7b[_0x6092('0x73')]}:_0x27bd7b);});};