Built motion from commit 092f8824.|2.5.49
[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 _0xd0d0=['undefined','count','Content-Range','reject','save','update','destroy','then','error','name','index','SalesforceAccount','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','options','include','findAll','catch','includeAll','find','create','body','params','getConfigurations','addConfiguration','AccountId','getSubjects','Descriptions','getDescriptions','channel','SalesforceField','Subjects','findOne','remoteUri','password','securityToken','slice','lastIndexOf','Connection','clientId','clientSecret','login','username','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','picklist','boolean','email','textarea','phone','includes','label','custom','picklistValues','True','False','false','test','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','end','status','json','offset','limit'];(function(_0x51d098,_0x8c2d01){var _0xebc34d=function(_0x46b58f){while(--_0x46b58f){_0x51d098['push'](_0x51d098['shift']());}};_0xebc34d(++_0x8c2d01);}(_0xd0d0,0x1d3));var _0x0d0d=function(_0x464981,_0x5187a1){_0x464981=_0x464981-0x0;var _0x1aa90d=_0xd0d0[_0x464981];return _0x1aa90d;};'use strict';var emlformat=require(_0x0d0d('0x0'));var rimraf=require(_0x0d0d('0x1'));var zipdir=require(_0x0d0d('0x2'));var jsonpatch=require(_0x0d0d('0x3'));var rp=require(_0x0d0d('0x4'));var moment=require(_0x0d0d('0x5'));var BPromise=require(_0x0d0d('0x6'));var Mustache=require(_0x0d0d('0x7'));var util=require('util');var path=require(_0x0d0d('0x8'));var sox=require(_0x0d0d('0x9'));var csv=require('to-csv');var ejs=require(_0x0d0d('0xa'));var fs=require('fs');var fs_extra=require(_0x0d0d('0xb'));var _=require(_0x0d0d('0xc'));var squel=require(_0x0d0d('0xd'));var crypto=require(_0x0d0d('0xe'));var jsforce=require(_0x0d0d('0xf'));var deskjs=require(_0x0d0d('0x10'));var toCsv=require(_0x0d0d('0x11'));var querystring=require(_0x0d0d('0x12'));var Papa=require('papaparse');var Redis=require(_0x0d0d('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x0d0d('0x14'));var hardwareService=require(_0x0d0d('0x15'));var logger=require(_0x0d0d('0x16'))('api');var utils=require(_0x0d0d('0x17'));var config=require(_0x0d0d('0x18'));var licenseUtil=require(_0x0d0d('0x19'));var db=require('../../mysqldb')['db'];var integrations=require(_0x0d0d('0x1a'));function respondWithStatusCode(_0x29e532,_0x426fc6){_0x426fc6=_0x426fc6||0xcc;return function(_0x15dc13){if(_0x15dc13){return _0x29e532[_0x0d0d('0x1b')](_0x426fc6);}return _0x29e532['status'](_0x426fc6)[_0x0d0d('0x1c')]();};}function respondWithResult(_0x328f23,_0x3b6a8){_0x3b6a8=_0x3b6a8||0xc8;return function(_0x418240){if(_0x418240){return _0x328f23[_0x0d0d('0x1d')](_0x3b6a8)[_0x0d0d('0x1e')](_0x418240);}};}function respondWithFilteredResult(_0x8de86b,_0x423170){return function(_0x29da5c){if(_0x29da5c){var _0x580f52=typeof _0x423170[_0x0d0d('0x1f')]==='undefined'&&typeof _0x423170[_0x0d0d('0x20')]===_0x0d0d('0x21');var _0x324bf8=_0x29da5c[_0x0d0d('0x22')];var _0x322661=_0x580f52?0x0:_0x423170[_0x0d0d('0x1f')];var _0x1db7c2=_0x580f52?_0x29da5c[_0x0d0d('0x22')]:_0x423170[_0x0d0d('0x1f')]+_0x423170['limit'];var _0x2cd502;if(_0x1db7c2>=_0x324bf8){_0x1db7c2=_0x324bf8;_0x2cd502=0xc8;}else{_0x2cd502=0xce;}_0x8de86b['status'](_0x2cd502);return _0x8de86b['set'](_0x0d0d('0x23'),_0x322661+'-'+_0x1db7c2+'/'+_0x324bf8)['json'](_0x29da5c);}return null;};}function patchUpdates(_0x2546ae){return function(_0x51ee57){try{jsonpatch['apply'](_0x51ee57,_0x2546ae,!![]);}catch(_0x1bb8cb){return BPromise[_0x0d0d('0x24')](_0x1bb8cb);}return _0x51ee57[_0x0d0d('0x25')]();};}function saveUpdates(_0x579e61,_0x5abadf){return function(_0x37d2be){if(_0x37d2be){return _0x37d2be[_0x0d0d('0x26')](_0x579e61)['then'](function(_0x23c5f2){return _0x23c5f2;});}return null;};}function removeEntity(_0x5c8914,_0x49e5fd){return function(_0x41e12f){if(_0x41e12f){return _0x41e12f[_0x0d0d('0x27')]()[_0x0d0d('0x28')](function(){_0x5c8914[_0x0d0d('0x1d')](0xcc)[_0x0d0d('0x1c')]();});}};}function handleEntityNotFound(_0x1090f9,_0x883456){return function(_0x51d647){if(!_0x51d647){_0x1090f9[_0x0d0d('0x1b')](0x194);}return _0x51d647;};}function handleError(_0x3b1941,_0x449ec9){_0x449ec9=_0x449ec9||0x1f4;return function(_0xe35559){logger[_0x0d0d('0x29')](_0xe35559['stack']);if(_0xe35559[_0x0d0d('0x2a')]){delete _0xe35559['name'];}_0x3b1941[_0x0d0d('0x1d')](_0x449ec9)['send'](_0xe35559);};}exports[_0x0d0d('0x2b')]=function(_0x135389,_0x1cdd6e){var _0x1d5ce6={},_0x1396e7={},_0x3ae6d3={'count':0x0,'rows':[]};var _0x2f2e15=_['map'](db[_0x0d0d('0x2c')][_0x0d0d('0x2d')],function(_0x595ccf){return{'name':_0x595ccf[_0x0d0d('0x2e')],'type':_0x595ccf[_0x0d0d('0x2f')][_0x0d0d('0x30')]};});_0x1396e7[_0x0d0d('0x31')]=_[_0x0d0d('0x32')](_0x2f2e15,_0x0d0d('0x2a'));_0x1396e7[_0x0d0d('0x33')]=_[_0x0d0d('0x34')](_0x135389['query']);_0x1396e7['filters']=_[_0x0d0d('0x35')](_0x1396e7[_0x0d0d('0x31')],_0x1396e7[_0x0d0d('0x33')]);_0x1d5ce6[_0x0d0d('0x36')]=_[_0x0d0d('0x35')](_0x1396e7[_0x0d0d('0x31')],qs[_0x0d0d('0x37')](_0x135389[_0x0d0d('0x33')][_0x0d0d('0x37')]));_0x1d5ce6[_0x0d0d('0x36')]=_0x1d5ce6[_0x0d0d('0x36')][_0x0d0d('0x38')]?_0x1d5ce6['attributes']:_0x1396e7[_0x0d0d('0x31')];if(!_0x135389[_0x0d0d('0x33')][_0x0d0d('0x39')](_0x0d0d('0x3a'))){_0x1d5ce6['limit']=qs[_0x0d0d('0x20')](_0x135389['query']['limit']);_0x1d5ce6[_0x0d0d('0x1f')]=qs['offset'](_0x135389['query'][_0x0d0d('0x1f')]);}_0x1d5ce6[_0x0d0d('0x3b')]=qs[_0x0d0d('0x3c')](_0x135389[_0x0d0d('0x33')][_0x0d0d('0x3c')]);_0x1d5ce6[_0x0d0d('0x3d')]=qs[_0x0d0d('0x3e')](_[_0x0d0d('0x3f')](_0x135389[_0x0d0d('0x33')],_0x1396e7[_0x0d0d('0x3e')]),_0x2f2e15);if(_0x135389['query'][_0x0d0d('0x40')]){_0x1d5ce6[_0x0d0d('0x3d')]=_[_0x0d0d('0x41')](_0x1d5ce6['where'],{'$or':_[_0x0d0d('0x32')](_0x2f2e15,function(_0x5a0fe0){if(_0x5a0fe0[_0x0d0d('0x2f')]!=='VIRTUAL'){var _0x299bf5={};_0x299bf5[_0x5a0fe0['name']]={'$like':'%'+_0x135389[_0x0d0d('0x33')][_0x0d0d('0x40')]+'%'};return _0x299bf5;}})});}_0x1d5ce6=_[_0x0d0d('0x41')]({},_0x1d5ce6,_0x135389[_0x0d0d('0x42')]);var _0x2640ee={'where':_0x1d5ce6['where']};return db['SalesforceAccount'][_0x0d0d('0x22')](_0x2640ee)[_0x0d0d('0x28')](function(_0xeab865){_0x3ae6d3[_0x0d0d('0x22')]=_0xeab865;if(_0x135389[_0x0d0d('0x33')]['includeAll']){_0x1d5ce6[_0x0d0d('0x43')]=[{'all':!![]}];}return db[_0x0d0d('0x2c')][_0x0d0d('0x44')](_0x1d5ce6);})[_0x0d0d('0x28')](function(_0x950cb7){_0x3ae6d3['rows']=_0x950cb7;return _0x3ae6d3;})[_0x0d0d('0x28')](respondWithFilteredResult(_0x1cdd6e,_0x1d5ce6))[_0x0d0d('0x45')](handleError(_0x1cdd6e,null));};exports['show']=function(_0x1011dc,_0x32d74e){var _0x1f053e={'raw':![],'where':{'id':_0x1011dc['params']['id']}},_0x4a7286={};_0x4a7286[_0x0d0d('0x31')]=_[_0x0d0d('0x34')](db['SalesforceAccount'][_0x0d0d('0x2d')]);_0x4a7286[_0x0d0d('0x33')]=_[_0x0d0d('0x34')](_0x1011dc['query']);_0x4a7286[_0x0d0d('0x3e')]=_['intersection'](_0x4a7286[_0x0d0d('0x31')],_0x4a7286[_0x0d0d('0x33')]);_0x1f053e['attributes']=_[_0x0d0d('0x35')](_0x4a7286[_0x0d0d('0x31')],qs[_0x0d0d('0x37')](_0x1011dc[_0x0d0d('0x33')][_0x0d0d('0x37')]));_0x1f053e[_0x0d0d('0x36')]=_0x1f053e[_0x0d0d('0x36')][_0x0d0d('0x38')]?_0x1f053e[_0x0d0d('0x36')]:_0x4a7286[_0x0d0d('0x31')];if(_0x1011dc[_0x0d0d('0x33')][_0x0d0d('0x46')]){_0x1f053e[_0x0d0d('0x43')]=[{'all':!![]}];}_0x1f053e=_[_0x0d0d('0x41')]({},_0x1f053e,_0x1011dc[_0x0d0d('0x42')]);return db[_0x0d0d('0x2c')][_0x0d0d('0x47')](_0x1f053e)[_0x0d0d('0x28')](handleEntityNotFound(_0x32d74e,null))['then'](respondWithResult(_0x32d74e,null))['catch'](handleError(_0x32d74e,null));};exports['create']=function(_0x4ea2f7,_0x309d39){return db[_0x0d0d('0x2c')][_0x0d0d('0x48')](_0x4ea2f7[_0x0d0d('0x49')],{})[_0x0d0d('0x28')](respondWithResult(_0x309d39,0xc9))['catch'](handleError(_0x309d39,null));};exports[_0x0d0d('0x26')]=function(_0x5a3b92,_0x4661fa){if(_0x5a3b92['body']['id']){delete _0x5a3b92[_0x0d0d('0x49')]['id'];}return db[_0x0d0d('0x2c')][_0x0d0d('0x47')]({'where':{'id':_0x5a3b92[_0x0d0d('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4661fa,null))[_0x0d0d('0x28')](saveUpdates(_0x5a3b92[_0x0d0d('0x49')],null))['then'](respondWithResult(_0x4661fa,null))['catch'](handleError(_0x4661fa,null));};exports[_0x0d0d('0x27')]=function(_0x29c254,_0x20b4c7){return db[_0x0d0d('0x2c')][_0x0d0d('0x47')]({'where':{'id':_0x29c254['params']['id']}})[_0x0d0d('0x28')](handleEntityNotFound(_0x20b4c7,null))[_0x0d0d('0x28')](removeEntity(_0x20b4c7,null))[_0x0d0d('0x45')](handleError(_0x20b4c7,null));};exports[_0x0d0d('0x4b')]=function(_0x386454,_0x2bead7,_0x57c008){var _0x1eb222={};var _0x4ffc60={};var _0x4f1627;var _0x372a81;return db[_0x0d0d('0x2c')]['findOne']({'where':{'id':_0x386454[_0x0d0d('0x4a')]['id']}})['then'](handleEntityNotFound(_0x2bead7,null))[_0x0d0d('0x28')](function(_0x375ca8){if(_0x375ca8){_0x4f1627=_0x375ca8;_0x4ffc60[_0x0d0d('0x31')]=_['keys'](db['SalesforceConfiguration'][_0x0d0d('0x2d')]);_0x4ffc60[_0x0d0d('0x33')]=_[_0x0d0d('0x34')](_0x386454[_0x0d0d('0x33')]);_0x4ffc60[_0x0d0d('0x3e')]=_[_0x0d0d('0x35')](_0x4ffc60[_0x0d0d('0x31')],_0x4ffc60[_0x0d0d('0x33')]);_0x1eb222[_0x0d0d('0x36')]=_[_0x0d0d('0x35')](_0x4ffc60['model'],qs[_0x0d0d('0x37')](_0x386454[_0x0d0d('0x33')][_0x0d0d('0x37')]));_0x1eb222[_0x0d0d('0x36')]=_0x1eb222[_0x0d0d('0x36')][_0x0d0d('0x38')]?_0x1eb222[_0x0d0d('0x36')]:_0x4ffc60[_0x0d0d('0x31')];_0x1eb222[_0x0d0d('0x3b')]=qs[_0x0d0d('0x3c')](_0x386454[_0x0d0d('0x33')][_0x0d0d('0x3c')]);_0x1eb222[_0x0d0d('0x3d')]=qs['filters'](_[_0x0d0d('0x3f')](_0x386454[_0x0d0d('0x33')],_0x4ffc60['filters']));if(_0x386454[_0x0d0d('0x33')]['filter']){_0x1eb222[_0x0d0d('0x3d')]=_[_0x0d0d('0x41')](_0x1eb222[_0x0d0d('0x3d')],{'$or':_[_0x0d0d('0x32')](_0x1eb222['attributes'],function(_0x340b42){var _0x3ec9ed={};_0x3ec9ed[_0x340b42]={'$like':'%'+_0x386454[_0x0d0d('0x33')][_0x0d0d('0x40')]+'%'};return _0x3ec9ed;})});}_0x1eb222=_['merge']({},_0x1eb222,_0x386454[_0x0d0d('0x42')]);return _0x4f1627[_0x0d0d('0x4b')](_0x1eb222);}})[_0x0d0d('0x28')](function(_0x495db7){if(_0x495db7){_0x372a81=_0x495db7[_0x0d0d('0x38')];if(!_0x386454[_0x0d0d('0x33')][_0x0d0d('0x39')](_0x0d0d('0x3a'))){_0x1eb222['limit']=qs[_0x0d0d('0x20')](_0x386454[_0x0d0d('0x33')][_0x0d0d('0x20')]);_0x1eb222['offset']=qs[_0x0d0d('0x1f')](_0x386454[_0x0d0d('0x33')][_0x0d0d('0x1f')]);}return _0x4f1627['getConfigurations'](_0x1eb222);}})[_0x0d0d('0x28')](function(_0x2d3ac8){if(_0x2d3ac8){return _0x2d3ac8?{'count':_0x372a81,'rows':_0x2d3ac8}:null;}})[_0x0d0d('0x28')](respondWithResult(_0x2bead7,null))[_0x0d0d('0x45')](handleError(_0x2bead7,null));};exports[_0x0d0d('0x4c')]=function(_0x479e01,_0x36e3cf,_0x165760){if(_0x479e01['body']['id']){delete _0x479e01[_0x0d0d('0x49')]['id'];}return db['SalesforceAccount']['findOne']({'where':{'id':_0x479e01[_0x0d0d('0x4a')]['id']}})[_0x0d0d('0x28')](handleEntityNotFound(_0x36e3cf,null))[_0x0d0d('0x28')](function(_0x2bf026){if(_0x2bf026){_0x479e01['body'][_0x0d0d('0x4d')]=_0x2bf026['id'];_0x479e01[_0x0d0d('0x49')]['Subjects']=integrations[_0x0d0d('0x4e')](_0x479e01[_0x0d0d('0x49')]['channel'],_0x479e01[_0x0d0d('0x49')]['type']);_0x479e01[_0x0d0d('0x49')][_0x0d0d('0x4f')]=integrations[_0x0d0d('0x50')](_0x479e01[_0x0d0d('0x49')][_0x0d0d('0x51')],_0x479e01['body']['type']);return db['SalesforceConfiguration']['create'](_0x479e01[_0x0d0d('0x49')],{'include':[{'model':db[_0x0d0d('0x52')],'as':_0x0d0d('0x53')},{'model':db[_0x0d0d('0x52')],'as':_0x0d0d('0x4f')}]});}return null;})[_0x0d0d('0x28')](respondWithResult(_0x36e3cf,null))[_0x0d0d('0x45')](handleError(_0x36e3cf,null));};exports['getFields']=function(_0x2db70c,_0x36bb83,_0x4e4771){var _0x2ad54e;var _0x253611='';var _0x820848='Task';return db[_0x0d0d('0x2c')][_0x0d0d('0x54')]({'where':{'id':_0x2db70c[_0x0d0d('0x4a')]['id']},'attributes':['id',_0x0d0d('0x55'),'clientId','clientSecret','username',_0x0d0d('0x56'),_0x0d0d('0x57')]})['then'](handleEntityNotFound(_0x36bb83,null))[_0x0d0d('0x28')](function(_0x2ddac2){if(_0x2ddac2){_0x253611=_0x2ddac2[_0x0d0d('0x55')];var _0x1d57f9=_0x253611[_0x0d0d('0x58')](-0x1);if(_0x1d57f9==='/'){_0x253611=_0x253611['substring'](0x0,_0x253611[_0x0d0d('0x59')](_0x1d57f9));}_0x2ad54e=new jsforce[(_0x0d0d('0x5a'))]({'oauth2':{'loginUrl':_0x253611,'clientId':_0x2ddac2[_0x0d0d('0x5b')],'clientSecret':_0x2ddac2[_0x0d0d('0x5c')]}});return _0x2ad54e[_0x0d0d('0x5d')](_0x2ddac2[_0x0d0d('0x5e')],_0x2ddac2[_0x0d0d('0x56')][_0x0d0d('0x5f')](_0x2ddac2[_0x0d0d('0x57')]));}})['then'](function(_0x5403df){if(_0x5403df){if(!_[_0x0d0d('0x60')](_0x2db70c[_0x0d0d('0x33')][_0x0d0d('0x61')])){_0x820848=_0x2db70c['query'][_0x0d0d('0x61')];}return _0x2ad54e[_0x0d0d('0x62')](_0x820848)[_0x0d0d('0x63')]();}})[_0x0d0d('0x28')](function(_0x5977b0){var _0xad2f3a=[_0x0d0d('0x64'),_0x0d0d('0x65'),_0x0d0d('0x66'),_0x0d0d('0x67'),_0x0d0d('0x68'),_0x0d0d('0x69')];var _0x2b8432=[_0x0d0d('0x6a'),'int',_0x0d0d('0x6b'),_0x0d0d('0x6c'),_0x0d0d('0x6d'),_0x0d0d('0x6e'),_0x0d0d('0x6f')];if(_0x5977b0){_['remove'](_0x5977b0[_0x0d0d('0x37')],function(_0x3700cb){return _0xad2f3a[_0x0d0d('0x70')](_0x3700cb['name'])||!_0x2b8432['includes'](_0x3700cb[_0x0d0d('0x2f')]);});return{'count':_0x5977b0[_0x0d0d('0x37')][_0x0d0d('0x38')],'rows':_['map'](_0x5977b0['fields'],function(_0x8bdfd){return{'id':_0x8bdfd[_0x0d0d('0x2a')],'name':_0x8bdfd[_0x0d0d('0x71')],'custom':_0x8bdfd[_0x0d0d('0x72')],'options':_0x8bdfd['picklistValues']['length']>0x0?_[_0x0d0d('0x32')](_0x8bdfd[_0x0d0d('0x73')],function(_0x1dda76){return{'name':_0x1dda76['label'],'value':_0x1dda76['value']};}):_0x8bdfd[_0x0d0d('0x2f')]=='boolean'?[{'name':_0x0d0d('0x74'),'value':'true'},{'name':_0x0d0d('0x75'),'value':_0x0d0d('0x76')}]:[]};})};}})[_0x0d0d('0x28')](respondWithResult(_0x36bb83,null))[_0x0d0d('0x45')](function(_0x7cfbe3){var _0x73bbe2=_0x2db70c[_0x0d0d('0x33')][_0x0d0d('0x77')]?0x1f4:_0x7cfbe3['statusCode']||0x1f4;logger[_0x0d0d('0x29')](_0x0d0d('0x78'),_0x0d0d('0x79'),_0x73bbe2,JSON[_0x0d0d('0x7a')](_0x7cfbe3));delete _0x7cfbe3[_0x0d0d('0x2a')];if(_0x73bbe2===0x191){_0x73bbe2=0x190;}_0x36bb83[_0x0d0d('0x1d')](_0x73bbe2)['send'](_0x2db70c['query'][_0x0d0d('0x77')]?{'message':_0x0d0d('0x7b'),'statusCode':_0x7cfbe3[_0x0d0d('0x7c')]}:_0x7cfbe3);});};