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 _0x14b0=['boolean','email','textarea','remove','includes','picklistValues','label','value','true','False','false','statusCode','getFields,\x20%s,\x20%s,\x20%s','test','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','then','end','error','stack','name','send','SalesforceAccount','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','catch','params','find','create','body','update','destroy','getConfigurations','findOne','SalesforceConfiguration','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','SalesforceField','getFields','Task','remoteUri','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','clientId','login','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsRecurrence','Subject','Description','string','int','picklist'];(function(_0x39d1f0,_0x1080ae){var _0x85aaf7=function(_0xfa3078){while(--_0xfa3078){_0x39d1f0['push'](_0x39d1f0['shift']());}};_0x85aaf7(++_0x1080ae);}(_0x14b0,0x113));var _0x014b=function(_0x2c660f,_0x4556e7){_0x2c660f=_0x2c660f-0x0;var _0x3e4457=_0x14b0[_0x2c660f];return _0x3e4457;};'use strict';var emlformat=require(_0x014b('0x0'));var rimraf=require(_0x014b('0x1'));var zipdir=require(_0x014b('0x2'));var jsonpatch=require(_0x014b('0x3'));var rp=require(_0x014b('0x4'));var moment=require(_0x014b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x014b('0x6'));var util=require(_0x014b('0x7'));var path=require(_0x014b('0x8'));var sox=require(_0x014b('0x9'));var csv=require('to-csv');var ejs=require(_0x014b('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x014b('0xb'));var squel=require(_0x014b('0xc'));var crypto=require('crypto');var jsforce=require(_0x014b('0xd'));var deskjs=require(_0x014b('0xe'));var toCsv=require(_0x014b('0xf'));var querystring=require('querystring');var Papa=require(_0x014b('0x10'));var Redis=require('ioredis');var authService=require(_0x014b('0x11'));var qs=require(_0x014b('0x12'));var as=require(_0x014b('0x13'));var hardwareService=require(_0x014b('0x14'));var logger=require(_0x014b('0x15'))(_0x014b('0x16'));var utils=require(_0x014b('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x014b('0x18'));var db=require(_0x014b('0x19'))['db'];var integrations=require(_0x014b('0x1a'));function respondWithStatusCode(_0x56912b,_0xf92412){_0xf92412=_0xf92412||0xcc;return function(_0x59191e){if(_0x59191e){return _0x56912b[_0x014b('0x1b')](_0xf92412);}return _0x56912b['status'](_0xf92412)['end']();};}function respondWithResult(_0x181dd1,_0x2539b7){_0x2539b7=_0x2539b7||0xc8;return function(_0x4a697b){if(_0x4a697b){return _0x181dd1[_0x014b('0x1c')](_0x2539b7)[_0x014b('0x1d')](_0x4a697b);}};}function respondWithFilteredResult(_0x131cd7,_0x1172cb){return function(_0x58a689){if(_0x58a689){var _0xa522df=typeof _0x1172cb[_0x014b('0x1e')]===_0x014b('0x1f')&&typeof _0x1172cb[_0x014b('0x20')]===_0x014b('0x1f');var _0xffb628=_0x58a689[_0x014b('0x21')];var _0x464dc3=_0xa522df?0x0:_0x1172cb[_0x014b('0x1e')];var _0x4bfd73=_0xa522df?_0x58a689[_0x014b('0x21')]:_0x1172cb[_0x014b('0x1e')]+_0x1172cb[_0x014b('0x20')];var _0x3f0283;if(_0x4bfd73>=_0xffb628){_0x4bfd73=_0xffb628;_0x3f0283=0xc8;}else{_0x3f0283=0xce;}_0x131cd7['status'](_0x3f0283);return _0x131cd7['set'](_0x014b('0x22'),_0x464dc3+'-'+_0x4bfd73+'/'+_0xffb628)[_0x014b('0x1d')](_0x58a689);}return null;};}function patchUpdates(_0x5e4367){return function(_0x45ce41){try{jsonpatch[_0x014b('0x23')](_0x45ce41,_0x5e4367,!![]);}catch(_0x180717){return BPromise[_0x014b('0x24')](_0x180717);}return _0x45ce41[_0x014b('0x25')]();};}function saveUpdates(_0x9eb566,_0x134602){return function(_0x230081){if(_0x230081){return _0x230081['update'](_0x9eb566)[_0x014b('0x26')](function(_0x514b3e){return _0x514b3e;});}return null;};}function removeEntity(_0x6d0fb5,_0x4fdcd9){return function(_0x40e02b){if(_0x40e02b){return _0x40e02b['destroy']()['then'](function(){_0x6d0fb5['status'](0xcc)[_0x014b('0x27')]();});}};}function handleEntityNotFound(_0x406d20,_0x729d64){return function(_0x450307){if(!_0x450307){_0x406d20[_0x014b('0x1b')](0x194);}return _0x450307;};}function handleError(_0x5a8cf2,_0x1976dc){_0x1976dc=_0x1976dc||0x1f4;return function(_0x403267){logger[_0x014b('0x28')](_0x403267[_0x014b('0x29')]);if(_0x403267[_0x014b('0x2a')]){delete _0x403267[_0x014b('0x2a')];}_0x5a8cf2[_0x014b('0x1c')](_0x1976dc)[_0x014b('0x2b')](_0x403267);};}exports['index']=function(_0x589af4,_0x36d62d){var _0x557106={},_0x388ea9={},_0x305174={'count':0x0,'rows':[]};var _0x521413=_['map'](db[_0x014b('0x2c')][_0x014b('0x2d')],function(_0x220965){return{'name':_0x220965[_0x014b('0x2e')],'type':_0x220965[_0x014b('0x2f')][_0x014b('0x30')]};});_0x388ea9[_0x014b('0x31')]=_[_0x014b('0x32')](_0x521413,'name');_0x388ea9[_0x014b('0x33')]=_[_0x014b('0x34')](_0x589af4[_0x014b('0x33')]);_0x388ea9[_0x014b('0x35')]=_[_0x014b('0x36')](_0x388ea9['model'],_0x388ea9[_0x014b('0x33')]);_0x557106['attributes']=_[_0x014b('0x36')](_0x388ea9[_0x014b('0x31')],qs['fields'](_0x589af4[_0x014b('0x33')][_0x014b('0x37')]));_0x557106['attributes']=_0x557106[_0x014b('0x38')][_0x014b('0x39')]?_0x557106[_0x014b('0x38')]:_0x388ea9[_0x014b('0x31')];if(!_0x589af4[_0x014b('0x33')][_0x014b('0x3a')](_0x014b('0x3b'))){_0x557106['limit']=qs[_0x014b('0x20')](_0x589af4[_0x014b('0x33')]['limit']);_0x557106[_0x014b('0x1e')]=qs[_0x014b('0x1e')](_0x589af4['query']['offset']);}_0x557106[_0x014b('0x3c')]=qs[_0x014b('0x3d')](_0x589af4[_0x014b('0x33')]['sort']);_0x557106['where']=qs['filters'](_[_0x014b('0x3e')](_0x589af4[_0x014b('0x33')],_0x388ea9[_0x014b('0x35')]),_0x521413);if(_0x589af4[_0x014b('0x33')][_0x014b('0x3f')]){_0x557106[_0x014b('0x40')]=_['merge'](_0x557106[_0x014b('0x40')],{'$or':_['map'](_0x521413,function(_0x101384){if(_0x101384['type']!=='VIRTUAL'){var _0x47ba2d={};_0x47ba2d[_0x101384['name']]={'$like':'%'+_0x589af4[_0x014b('0x33')][_0x014b('0x3f')]+'%'};return _0x47ba2d;}})});}_0x557106=_[_0x014b('0x41')]({},_0x557106,_0x589af4[_0x014b('0x42')]);var _0x4ef9cf={'where':_0x557106[_0x014b('0x40')]};return db[_0x014b('0x2c')]['count'](_0x4ef9cf)[_0x014b('0x26')](function(_0x4b2eb6){_0x305174[_0x014b('0x21')]=_0x4b2eb6;if(_0x589af4[_0x014b('0x33')][_0x014b('0x43')]){_0x557106[_0x014b('0x44')]=[{'all':!![]}];}return db[_0x014b('0x2c')][_0x014b('0x45')](_0x557106);})[_0x014b('0x26')](function(_0x289abf){_0x305174[_0x014b('0x46')]=_0x289abf;return _0x305174;})[_0x014b('0x26')](respondWithFilteredResult(_0x36d62d,_0x557106))[_0x014b('0x47')](handleError(_0x36d62d,null));};exports['show']=function(_0x3cd4f8,_0x510179){var _0x5e4800={'raw':![],'where':{'id':_0x3cd4f8[_0x014b('0x48')]['id']}},_0x20bafa={};_0x20bafa[_0x014b('0x31')]=_[_0x014b('0x34')](db['SalesforceAccount'][_0x014b('0x2d')]);_0x20bafa['query']=_[_0x014b('0x34')](_0x3cd4f8[_0x014b('0x33')]);_0x20bafa['filters']=_[_0x014b('0x36')](_0x20bafa['model'],_0x20bafa[_0x014b('0x33')]);_0x5e4800[_0x014b('0x38')]=_['intersection'](_0x20bafa[_0x014b('0x31')],qs[_0x014b('0x37')](_0x3cd4f8[_0x014b('0x33')]['fields']));_0x5e4800['attributes']=_0x5e4800['attributes']['length']?_0x5e4800[_0x014b('0x38')]:_0x20bafa[_0x014b('0x31')];if(_0x3cd4f8['query']['includeAll']){_0x5e4800[_0x014b('0x44')]=[{'all':!![]}];}_0x5e4800=_['merge']({},_0x5e4800,_0x3cd4f8[_0x014b('0x42')]);return db[_0x014b('0x2c')][_0x014b('0x49')](_0x5e4800)['then'](handleEntityNotFound(_0x510179,null))['then'](respondWithResult(_0x510179,null))['catch'](handleError(_0x510179,null));};exports[_0x014b('0x4a')]=function(_0x1aa64c,_0x1d6b2f){return db[_0x014b('0x2c')][_0x014b('0x4a')](_0x1aa64c[_0x014b('0x4b')],{})[_0x014b('0x26')](respondWithResult(_0x1d6b2f,0xc9))[_0x014b('0x47')](handleError(_0x1d6b2f,null));};exports[_0x014b('0x4c')]=function(_0x293a66,_0xf7a12e){if(_0x293a66[_0x014b('0x4b')]['id']){delete _0x293a66[_0x014b('0x4b')]['id'];}return db[_0x014b('0x2c')][_0x014b('0x49')]({'where':{'id':_0x293a66['params']['id']}})[_0x014b('0x26')](handleEntityNotFound(_0xf7a12e,null))['then'](saveUpdates(_0x293a66[_0x014b('0x4b')],null))[_0x014b('0x26')](respondWithResult(_0xf7a12e,null))[_0x014b('0x47')](handleError(_0xf7a12e,null));};exports[_0x014b('0x4d')]=function(_0x37a69a,_0x47aa1c){return db['SalesforceAccount'][_0x014b('0x49')]({'where':{'id':_0x37a69a[_0x014b('0x48')]['id']}})[_0x014b('0x26')](handleEntityNotFound(_0x47aa1c,null))[_0x014b('0x26')](removeEntity(_0x47aa1c,null))['catch'](handleError(_0x47aa1c,null));};exports[_0x014b('0x4e')]=function(_0x58d700,_0x48b03e,_0x1f3fc7){var _0x3908dc={};var _0x404cbf={};var _0x2426da;var _0x2991f0;return db[_0x014b('0x2c')][_0x014b('0x4f')]({'where':{'id':_0x58d700[_0x014b('0x48')]['id']}})[_0x014b('0x26')](handleEntityNotFound(_0x48b03e,null))[_0x014b('0x26')](function(_0xf4025f){if(_0xf4025f){_0x2426da=_0xf4025f;_0x404cbf[_0x014b('0x31')]=_[_0x014b('0x34')](db[_0x014b('0x50')][_0x014b('0x2d')]);_0x404cbf[_0x014b('0x33')]=_[_0x014b('0x34')](_0x58d700[_0x014b('0x33')]);_0x404cbf[_0x014b('0x35')]=_[_0x014b('0x36')](_0x404cbf[_0x014b('0x31')],_0x404cbf[_0x014b('0x33')]);_0x3908dc[_0x014b('0x38')]=_[_0x014b('0x36')](_0x404cbf[_0x014b('0x31')],qs[_0x014b('0x37')](_0x58d700[_0x014b('0x33')][_0x014b('0x37')]));_0x3908dc['attributes']=_0x3908dc[_0x014b('0x38')][_0x014b('0x39')]?_0x3908dc[_0x014b('0x38')]:_0x404cbf[_0x014b('0x31')];_0x3908dc[_0x014b('0x3c')]=qs[_0x014b('0x3d')](_0x58d700[_0x014b('0x33')]['sort']);_0x3908dc[_0x014b('0x40')]=qs[_0x014b('0x35')](_[_0x014b('0x3e')](_0x58d700[_0x014b('0x33')],_0x404cbf['filters']));if(_0x58d700[_0x014b('0x33')][_0x014b('0x3f')]){_0x3908dc['where']=_[_0x014b('0x41')](_0x3908dc[_0x014b('0x40')],{'$or':_[_0x014b('0x32')](_0x3908dc[_0x014b('0x38')],function(_0x1b526a){var _0x585cf0={};_0x585cf0[_0x1b526a]={'$like':'%'+_0x58d700[_0x014b('0x33')][_0x014b('0x3f')]+'%'};return _0x585cf0;})});}_0x3908dc=_['merge']({},_0x3908dc,_0x58d700[_0x014b('0x42')]);return _0x2426da[_0x014b('0x4e')](_0x3908dc);}})[_0x014b('0x26')](function(_0x1aab02){if(_0x1aab02){_0x2991f0=_0x1aab02[_0x014b('0x39')];if(!_0x58d700[_0x014b('0x33')][_0x014b('0x3a')](_0x014b('0x3b'))){_0x3908dc['limit']=qs[_0x014b('0x20')](_0x58d700[_0x014b('0x33')]['limit']);_0x3908dc['offset']=qs[_0x014b('0x1e')](_0x58d700['query'][_0x014b('0x1e')]);}return _0x2426da[_0x014b('0x4e')](_0x3908dc);}})[_0x014b('0x26')](function(_0x304e56){if(_0x304e56){return _0x304e56?{'count':_0x2991f0,'rows':_0x304e56}:null;}})[_0x014b('0x26')](respondWithResult(_0x48b03e,null))['catch'](handleError(_0x48b03e,null));};exports[_0x014b('0x51')]=function(_0x3df32,_0x56d8fd,_0x37ca06){if(_0x3df32[_0x014b('0x4b')]['id']){delete _0x3df32['body']['id'];}return db[_0x014b('0x2c')][_0x014b('0x4f')]({'where':{'id':_0x3df32[_0x014b('0x48')]['id']}})[_0x014b('0x26')](handleEntityNotFound(_0x56d8fd,null))[_0x014b('0x26')](function(_0xe55075){if(_0xe55075){_0x3df32[_0x014b('0x4b')][_0x014b('0x52')]=_0xe55075['id'];_0x3df32['body'][_0x014b('0x53')]=integrations[_0x014b('0x54')](_0x3df32[_0x014b('0x4b')][_0x014b('0x55')],_0x3df32[_0x014b('0x4b')][_0x014b('0x2f')]);_0x3df32[_0x014b('0x4b')][_0x014b('0x56')]=integrations[_0x014b('0x57')](_0x3df32['body'][_0x014b('0x55')],_0x3df32['body'][_0x014b('0x2f')]);return db[_0x014b('0x50')][_0x014b('0x4a')](_0x3df32[_0x014b('0x4b')],{'include':[{'model':db[_0x014b('0x58')],'as':'Subjects'},{'model':db[_0x014b('0x58')],'as':_0x014b('0x56')}]});}return null;})['then'](respondWithResult(_0x56d8fd,null))[_0x014b('0x47')](handleError(_0x56d8fd,null));};exports[_0x014b('0x59')]=function(_0x47c323,_0x1fc9c5,_0x4fd12a){var _0x6a90be;var _0x21236f='';var _0x167fa2=_0x014b('0x5a');return db['SalesforceAccount'][_0x014b('0x4f')]({'where':{'id':_0x47c323[_0x014b('0x48')]['id']},'attributes':['id',_0x014b('0x5b'),'clientId',_0x014b('0x5c'),_0x014b('0x5d'),_0x014b('0x5e'),_0x014b('0x5f')]})[_0x014b('0x26')](handleEntityNotFound(_0x1fc9c5,null))['then'](function(_0x1b09b7){if(_0x1b09b7){_0x21236f=_0x1b09b7[_0x014b('0x5b')];var _0x4d2d9f=_0x21236f[_0x014b('0x60')](-0x1);if(_0x4d2d9f==='/'){_0x21236f=_0x21236f[_0x014b('0x61')](0x0,_0x21236f[_0x014b('0x62')](_0x4d2d9f));}_0x6a90be=new jsforce[(_0x014b('0x63'))]({'oauth2':{'loginUrl':_0x21236f,'clientId':_0x1b09b7[_0x014b('0x64')],'clientSecret':_0x1b09b7['clientSecret']}});return _0x6a90be[_0x014b('0x65')](_0x1b09b7[_0x014b('0x5d')],_0x1b09b7[_0x014b('0x5e')][_0x014b('0x66')](_0x1b09b7[_0x014b('0x5f')]));}})['then'](function(_0x42b673){if(_0x42b673){if(!_[_0x014b('0x67')](_0x47c323[_0x014b('0x33')][_0x014b('0x68')])){_0x167fa2=_0x47c323[_0x014b('0x33')][_0x014b('0x68')];}return _0x6a90be[_0x014b('0x69')](_0x167fa2)[_0x014b('0x6a')]();}})[_0x014b('0x26')](function(_0x37cc9c){var _0x2b3768=[_0x014b('0x6b'),_0x014b('0x6c'),'IsReminderSet',_0x014b('0x6d'),_0x014b('0x6e'),_0x014b('0x6f')];var _0x2d3a93=[_0x014b('0x70'),_0x014b('0x71'),_0x014b('0x72'),_0x014b('0x73'),_0x014b('0x74'),_0x014b('0x75'),'phone'];if(_0x37cc9c){_[_0x014b('0x76')](_0x37cc9c['fields'],function(_0x5c1c70){return _0x2b3768[_0x014b('0x77')](_0x5c1c70['name'])||!_0x2d3a93[_0x014b('0x77')](_0x5c1c70['type']);});return{'count':_0x37cc9c['fields']['length'],'rows':_[_0x014b('0x32')](_0x37cc9c[_0x014b('0x37')],function(_0x1d9072){return{'id':_0x1d9072[_0x014b('0x2a')],'name':_0x1d9072['label'],'custom':_0x1d9072['custom'],'options':_0x1d9072[_0x014b('0x78')][_0x014b('0x39')]>0x0?_[_0x014b('0x32')](_0x1d9072[_0x014b('0x78')],function(_0x5a4d46){return{'name':_0x5a4d46[_0x014b('0x79')],'value':_0x5a4d46[_0x014b('0x7a')]};}):_0x1d9072['type']==_0x014b('0x73')?[{'name':'True','value':_0x014b('0x7b')},{'name':_0x014b('0x7c'),'value':_0x014b('0x7d')}]:[]};})};}})[_0x014b('0x26')](respondWithResult(_0x1fc9c5,null))['catch'](function(_0x4bd3e4){var _0x3809cf=_0x47c323[_0x014b('0x33')]['test']?0x1f4:_0x4bd3e4[_0x014b('0x7e')]||0x1f4;logger[_0x014b('0x28')](_0x014b('0x7f'),'getFields',_0x3809cf,JSON['stringify'](_0x4bd3e4));delete _0x4bd3e4['name'];if(_0x3809cf===0x191){_0x3809cf=0x190;}_0x1fc9c5[_0x014b('0x1c')](_0x3809cf)[_0x014b('0x2b')](_0x47c323[_0x014b('0x33')][_0x014b('0x80')]?{'message':_0x014b('0x81'),'statusCode':_0x4bd3e4[_0x014b('0x7e')]}:_0x4bd3e4);});};