bdcec54043ed681a421e9fd58b734d783ec0c411
[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 _0x087b=['picklistValues','value','True','true','False','false','test','statusCode','stringify','Wrong\x20credentials','html-pdf','eml-format','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','http','request','then','info','SalesforceAccount,\x20%s,\x20%s','debug','SalesforceAccount,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','result','sendStatus','status','json','count','offset','limit','set','apply','reject','save','update','destroy','end','stack','name','send','index','map','SalesforceAccount','rawAttributes','type','key','query','keys','filters','intersection','model','attributes','nolimit','sort','where','pick','filter','VIRTUAL','merge','include','findAll','rows','catch','params','fields','length','includeAll','options','find','create','body','getConfigurations','findOne','SalesforceConfiguration','order','addConfiguration','Subjects','Descriptions','getFields','Task','remoteUri','clientId','securityToken','substring','lastIndexOf','Connection','clientSecret','login','username','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsRecurrence','Subject','Description','string','int','boolean','email','textarea','phone','remove','includes','label','custom'];(function(_0x98d987,_0x8035f9){var _0x371b08=function(_0x42e768){while(--_0x42e768){_0x98d987['push'](_0x98d987['shift']());}};_0x371b08(++_0x8035f9);}(_0x087b,0x11a));var _0xb087=function(_0x22b68a,_0x2bffc3){_0x22b68a=_0x22b68a-0x0;var _0x1ac67a=_0x087b[_0x22b68a];return _0x1ac67a;};'use strict';var pdf=require(_0xb087('0x0'));var emlformat=require(_0xb087('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xb087('0x2'));var rp=require('request-promise');var moment=require(_0xb087('0x3'));var BPromise=require(_0xb087('0x4'));var Mustache=require(_0xb087('0x5'));var util=require(_0xb087('0x6'));var path=require(_0xb087('0x7'));var sox=require(_0xb087('0x8'));var csv=require(_0xb087('0x9'));var ejs=require(_0xb087('0xa'));var fs=require('fs');var _=require(_0xb087('0xb'));var squel=require(_0xb087('0xc'));var crypto=require(_0xb087('0xd'));var jsforce=require(_0xb087('0xe'));var deskjs=require(_0xb087('0xf'));var toCsv=require(_0xb087('0x9'));var querystring=require(_0xb087('0x10'));var Papa=require(_0xb087('0x11'));var Redis=require(_0xb087('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xb087('0x13'));var as=require(_0xb087('0x14'));var hardwareService=require(_0xb087('0x15'));var logger=require(_0xb087('0x16'))(_0xb087('0x17'));var utils=require(_0xb087('0x18'));var config=require(_0xb087('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xb087('0x1a'))['db'];var integrations=require(_0xb087('0x1b'));var jayson=require(_0xb087('0x1c'));var client=jayson['client'][_0xb087('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x3f145e,_0x43f136,_0x46410b,_0x11784c){return new BPromise(function(_0x12d0db,_0x5e9757){var _0x5147e3=_0x11784c||client;return _0x5147e3[_0xb087('0x1e')](_0x3f145e,_0x46410b)[_0xb087('0x1f')](function(_0x5193a4){logger[_0xb087('0x20')](_0xb087('0x21'),_0x43f136,'request\x20sent');logger[_0xb087('0x22')](_0xb087('0x23'),_0x43f136,_0xb087('0x24'),JSON['stringify'](_0x5193a4));if(_0x5193a4[_0xb087('0x25')]){if(_0x5193a4[_0xb087('0x25')][_0xb087('0x26')]===0x1f4){logger[_0xb087('0x25')]('SalesforceAccount,\x20%s,\x20%s',_0x43f136,_0x5193a4[_0xb087('0x25')][_0xb087('0x27')]);return _0x5e9757(_0x5193a4[_0xb087('0x25')][_0xb087('0x27')]);}logger['error']('SalesforceAccount,\x20%s,\x20%s',_0x43f136,_0x5193a4['error']['message']);return _0x12d0db(_0x5193a4[_0xb087('0x25')][_0xb087('0x27')]);}else{logger[_0xb087('0x20')](_0xb087('0x21'),_0x43f136,_0xb087('0x24'));_0x12d0db(_0x5193a4[_0xb087('0x28')][_0xb087('0x27')]);}})['catch'](function(_0x1d1424){logger[_0xb087('0x25')](_0xb087('0x21'),_0x43f136,_0x1d1424);_0x5e9757(_0x1d1424);});});}function respondWithStatusCode(_0x1cfb3e,_0x3ad74e){_0x3ad74e=_0x3ad74e||0xcc;return function(_0x4d9028){if(_0x4d9028){return _0x1cfb3e[_0xb087('0x29')](_0x3ad74e);}return _0x1cfb3e[_0xb087('0x2a')](_0x3ad74e)['end']();};}function respondWithResult(_0x5a2dc6,_0x50745a){_0x50745a=_0x50745a||0xc8;return function(_0x598b99){if(_0x598b99){return _0x5a2dc6['status'](_0x50745a)[_0xb087('0x2b')](_0x598b99);}};}function respondWithFilteredResult(_0x45685d,_0x1d124f){return function(_0x3ca2df){if(_0x3ca2df){var _0xd9ec66=_0x3ca2df[_0xb087('0x2c')],_0xb72173=_0x1d124f[_0xb087('0x2d')],_0xf3f41f=_0x1d124f[_0xb087('0x2d')]+_0x1d124f[_0xb087('0x2e')],_0x35a52c;if(_0xf3f41f>=_0xd9ec66){_0xf3f41f=_0xd9ec66;_0x35a52c=0xc8;}else{_0x35a52c=0xce;}_0x45685d[_0xb087('0x2a')](_0x35a52c);return _0x45685d[_0xb087('0x2f')]('Content-Range',_0xb72173+'-'+_0xf3f41f+'/'+_0xd9ec66)[_0xb087('0x2b')](_0x3ca2df);}return null;};}function patchUpdates(_0x1335d9){return function(_0x20183f){try{jsonpatch[_0xb087('0x30')](_0x20183f,_0x1335d9,!![]);}catch(_0x22d441){return BPromise[_0xb087('0x31')](_0x22d441);}return _0x20183f[_0xb087('0x32')]();};}function saveUpdates(_0x13fb2f,_0x53a535){return function(_0x4c48f8){if(_0x4c48f8){return _0x4c48f8[_0xb087('0x33')](_0x13fb2f)[_0xb087('0x1f')](function(_0x4cb5a8){return _0x4cb5a8;});}return null;};}function removeEntity(_0x60bfe2,_0x7d3776){return function(_0x2a48d3){if(_0x2a48d3){return _0x2a48d3[_0xb087('0x34')]()[_0xb087('0x1f')](function(){_0x60bfe2[_0xb087('0x2a')](0xcc)[_0xb087('0x35')]();});}};}function handleEntityNotFound(_0x3b7ace,_0x8f4f02){return function(_0xdc7033){if(!_0xdc7033){_0x3b7ace[_0xb087('0x29')](0x194);}return _0xdc7033;};}function handleError(_0x3069b5,_0x57ae94){_0x57ae94=_0x57ae94||0x1f4;return function(_0x3bec03){logger['error'](_0x3bec03[_0xb087('0x36')]);if(_0x3bec03[_0xb087('0x37')]){delete _0x3bec03[_0xb087('0x37')];}_0x3069b5[_0xb087('0x2a')](_0x57ae94)[_0xb087('0x38')](_0x3bec03);};}exports[_0xb087('0x39')]=function(_0x32c3e8,_0x29df58){var _0x8a4c3c={},_0x521c3f={},_0x5814c2={'count':0x0,'rows':[]};var _0x35f900=_[_0xb087('0x3a')](db[_0xb087('0x3b')][_0xb087('0x3c')],function(_0x1982a8){return{'name':_0x1982a8['fieldName'],'type':_0x1982a8[_0xb087('0x3d')][_0xb087('0x3e')]};});_0x521c3f['model']=_['map'](_0x35f900,_0xb087('0x37'));_0x521c3f[_0xb087('0x3f')]=_[_0xb087('0x40')](_0x32c3e8['query']);_0x521c3f[_0xb087('0x41')]=_[_0xb087('0x42')](_0x521c3f[_0xb087('0x43')],_0x521c3f[_0xb087('0x3f')]);_0x8a4c3c[_0xb087('0x44')]=_['intersection'](_0x521c3f[_0xb087('0x43')],qs['fields'](_0x32c3e8[_0xb087('0x3f')]['fields']));_0x8a4c3c[_0xb087('0x44')]=_0x8a4c3c[_0xb087('0x44')]['length']?_0x8a4c3c[_0xb087('0x44')]:_0x521c3f['model'];if(!_0x32c3e8[_0xb087('0x3f')]['hasOwnProperty'](_0xb087('0x45'))){_0x8a4c3c[_0xb087('0x2e')]=qs[_0xb087('0x2e')](_0x32c3e8[_0xb087('0x3f')][_0xb087('0x2e')]);_0x8a4c3c[_0xb087('0x2d')]=qs[_0xb087('0x2d')](_0x32c3e8['query'][_0xb087('0x2d')]);}_0x8a4c3c['order']=qs[_0xb087('0x46')](_0x32c3e8[_0xb087('0x3f')]['sort']);_0x8a4c3c[_0xb087('0x47')]=qs[_0xb087('0x41')](_[_0xb087('0x48')](_0x32c3e8['query'],_0x521c3f[_0xb087('0x41')]),_0x35f900);if(_0x32c3e8['query'][_0xb087('0x49')]){_0x8a4c3c[_0xb087('0x47')]=_['merge'](_0x8a4c3c[_0xb087('0x47')],{'$or':_[_0xb087('0x3a')](_0x35f900,function(_0x4addbd){if(_0x4addbd[_0xb087('0x3d')]!==_0xb087('0x4a')){var _0x54eb11={};_0x54eb11[_0x4addbd[_0xb087('0x37')]]={'$like':'%'+_0x32c3e8[_0xb087('0x3f')][_0xb087('0x49')]+'%'};return _0x54eb11;}})});}_0x8a4c3c=_[_0xb087('0x4b')]({},_0x8a4c3c,_0x32c3e8['options']);var _0x47902e={'where':_0x8a4c3c[_0xb087('0x47')]};return db[_0xb087('0x3b')][_0xb087('0x2c')](_0x47902e)[_0xb087('0x1f')](function(_0x36a88f){_0x5814c2[_0xb087('0x2c')]=_0x36a88f;if(_0x32c3e8['query']['includeAll']){_0x8a4c3c[_0xb087('0x4c')]=[{'all':!![]}];}return db['SalesforceAccount'][_0xb087('0x4d')](_0x8a4c3c);})[_0xb087('0x1f')](function(_0x2a1823){_0x5814c2[_0xb087('0x4e')]=_0x2a1823;return _0x5814c2;})['then'](respondWithFilteredResult(_0x29df58,_0x8a4c3c))[_0xb087('0x4f')](handleError(_0x29df58,null));};exports['show']=function(_0x2fe8a0,_0x73413b){var _0xcb56c7={'raw':![],'where':{'id':_0x2fe8a0[_0xb087('0x50')]['id']}},_0x212021={};_0x212021['model']=_[_0xb087('0x40')](db[_0xb087('0x3b')][_0xb087('0x3c')]);_0x212021['query']=_[_0xb087('0x40')](_0x2fe8a0['query']);_0x212021['filters']=_[_0xb087('0x42')](_0x212021[_0xb087('0x43')],_0x212021['query']);_0xcb56c7[_0xb087('0x44')]=_[_0xb087('0x42')](_0x212021[_0xb087('0x43')],qs['fields'](_0x2fe8a0['query'][_0xb087('0x51')]));_0xcb56c7['attributes']=_0xcb56c7['attributes'][_0xb087('0x52')]?_0xcb56c7[_0xb087('0x44')]:_0x212021[_0xb087('0x43')];if(_0x2fe8a0[_0xb087('0x3f')][_0xb087('0x53')]){_0xcb56c7[_0xb087('0x4c')]=[{'all':!![]}];}_0xcb56c7=_[_0xb087('0x4b')]({},_0xcb56c7,_0x2fe8a0[_0xb087('0x54')]);return db[_0xb087('0x3b')][_0xb087('0x55')](_0xcb56c7)[_0xb087('0x1f')](handleEntityNotFound(_0x73413b,null))[_0xb087('0x1f')](respondWithResult(_0x73413b,null))['catch'](handleError(_0x73413b,null));};exports[_0xb087('0x56')]=function(_0x46548e,_0x5cac89){return db[_0xb087('0x3b')][_0xb087('0x56')](_0x46548e[_0xb087('0x57')],{})[_0xb087('0x1f')](respondWithResult(_0x5cac89,0xc9))[_0xb087('0x4f')](handleError(_0x5cac89,null));};exports[_0xb087('0x33')]=function(_0x167e90,_0x298169){if(_0x167e90[_0xb087('0x57')]['id']){delete _0x167e90[_0xb087('0x57')]['id'];}return db[_0xb087('0x3b')]['find']({'where':{'id':_0x167e90[_0xb087('0x50')]['id']}})['then'](handleEntityNotFound(_0x298169,null))[_0xb087('0x1f')](saveUpdates(_0x167e90['body'],null))[_0xb087('0x1f')](respondWithResult(_0x298169,null))[_0xb087('0x4f')](handleError(_0x298169,null));};exports[_0xb087('0x34')]=function(_0x1fe773,_0x62e7cc){return db[_0xb087('0x3b')][_0xb087('0x55')]({'where':{'id':_0x1fe773[_0xb087('0x50')]['id']}})[_0xb087('0x1f')](handleEntityNotFound(_0x62e7cc,null))[_0xb087('0x1f')](removeEntity(_0x62e7cc,null))[_0xb087('0x4f')](handleError(_0x62e7cc,null));};exports[_0xb087('0x58')]=function(_0x3834a6,_0x22be05,_0x3f6fd7){var _0x122103={};var _0x217f26={};var _0x3185c4;var _0x40ff74;return db[_0xb087('0x3b')][_0xb087('0x59')]({'where':{'id':_0x3834a6[_0xb087('0x50')]['id']}})['then'](handleEntityNotFound(_0x22be05,null))[_0xb087('0x1f')](function(_0x1f893a){if(_0x1f893a){_0x3185c4=_0x1f893a;_0x217f26[_0xb087('0x43')]=_['keys'](db[_0xb087('0x5a')][_0xb087('0x3c')]);_0x217f26['query']=_[_0xb087('0x40')](_0x3834a6[_0xb087('0x3f')]);_0x217f26[_0xb087('0x41')]=_['intersection'](_0x217f26[_0xb087('0x43')],_0x217f26[_0xb087('0x3f')]);_0x122103[_0xb087('0x44')]=_[_0xb087('0x42')](_0x217f26[_0xb087('0x43')],qs[_0xb087('0x51')](_0x3834a6[_0xb087('0x3f')][_0xb087('0x51')]));_0x122103['attributes']=_0x122103[_0xb087('0x44')][_0xb087('0x52')]?_0x122103[_0xb087('0x44')]:_0x217f26['model'];_0x122103[_0xb087('0x5b')]=qs['sort'](_0x3834a6['query'][_0xb087('0x46')]);_0x122103[_0xb087('0x47')]=qs['filters'](_[_0xb087('0x48')](_0x3834a6['query'],_0x217f26[_0xb087('0x41')]));if(_0x3834a6[_0xb087('0x3f')]['filter']){_0x122103['where']=_[_0xb087('0x4b')](_0x122103['where'],{'$or':_['map'](_0x122103[_0xb087('0x44')],function(_0x52d72a){var _0x34ad78={};_0x34ad78[_0x52d72a]={'$like':'%'+_0x3834a6['query'][_0xb087('0x49')]+'%'};return _0x34ad78;})});}_0x122103=_[_0xb087('0x4b')]({},_0x122103,_0x3834a6[_0xb087('0x54')]);return _0x3185c4[_0xb087('0x58')](_0x122103);}})[_0xb087('0x1f')](function(_0x3174bb){if(_0x3174bb){_0x40ff74=_0x3174bb['length'];if(!_0x3834a6[_0xb087('0x3f')]['hasOwnProperty'](_0xb087('0x45'))){_0x122103[_0xb087('0x2e')]=qs[_0xb087('0x2e')](_0x3834a6['query'][_0xb087('0x2e')]);_0x122103['offset']=qs[_0xb087('0x2d')](_0x3834a6[_0xb087('0x3f')][_0xb087('0x2d')]);}return _0x3185c4[_0xb087('0x58')](_0x122103);}})[_0xb087('0x1f')](function(_0xe9e103){if(_0xe9e103){return _0xe9e103?{'count':_0x40ff74,'rows':_0xe9e103}:null;}})['then'](respondWithResult(_0x22be05,null))[_0xb087('0x4f')](handleError(_0x22be05,null));};exports[_0xb087('0x5c')]=function(_0x4bedbd,_0x25a45f,_0x58de88){if(_0x4bedbd[_0xb087('0x57')]['id']){delete _0x4bedbd[_0xb087('0x57')]['id'];}return db[_0xb087('0x3b')][_0xb087('0x59')]({'where':{'id':_0x4bedbd[_0xb087('0x50')]['id']}})[_0xb087('0x1f')](handleEntityNotFound(_0x25a45f,null))[_0xb087('0x1f')](function(_0x186b40){if(_0x186b40){_0x4bedbd['body']['AccountId']=_0x186b40['id'];_0x4bedbd['body'][_0xb087('0x5d')]=integrations['getSubjects'](_0x4bedbd[_0xb087('0x57')]['channel'],_0x4bedbd[_0xb087('0x57')][_0xb087('0x3d')]);_0x4bedbd[_0xb087('0x57')][_0xb087('0x5e')]=integrations['getDescriptions'](_0x4bedbd[_0xb087('0x57')]['channel'],_0x4bedbd[_0xb087('0x57')][_0xb087('0x3d')]);return db[_0xb087('0x5a')][_0xb087('0x56')](_0x4bedbd['body'],{'include':[{'model':db['SalesforceField'],'as':_0xb087('0x5d')},{'model':db['SalesforceField'],'as':_0xb087('0x5e')}]});}return null;})[_0xb087('0x1f')](respondWithResult(_0x25a45f,null))[_0xb087('0x4f')](handleError(_0x25a45f,null));};exports[_0xb087('0x5f')]=function(_0x4a9193,_0x4bdd30,_0x2580e2){var _0x551f56;var _0x34e72c='';var _0x1c7cd7=_0xb087('0x60');return db[_0xb087('0x3b')][_0xb087('0x59')]({'where':{'id':_0x4a9193['params']['id']},'attributes':['id',_0xb087('0x61'),_0xb087('0x62'),'clientSecret','username','password',_0xb087('0x63')]})[_0xb087('0x1f')](handleEntityNotFound(_0x4bdd30,null))[_0xb087('0x1f')](function(_0x247b7e){if(_0x247b7e){_0x34e72c=_0x247b7e[_0xb087('0x61')];var _0x19d7ae=_0x34e72c['slice'](-0x1);if(_0x19d7ae==='/'){_0x34e72c=_0x34e72c[_0xb087('0x64')](0x0,_0x34e72c[_0xb087('0x65')](_0x19d7ae));}_0x551f56=new jsforce[(_0xb087('0x66'))]({'oauth2':{'loginUrl':_0x34e72c,'clientId':_0x247b7e[_0xb087('0x62')],'clientSecret':_0x247b7e[_0xb087('0x67')]}});return _0x551f56[_0xb087('0x68')](_0x247b7e[_0xb087('0x69')],_0x247b7e['password'][_0xb087('0x6a')](_0x247b7e[_0xb087('0x63')]));}})[_0xb087('0x1f')](function(_0x5439f4){if(_0x5439f4){if(!_[_0xb087('0x6b')](_0x4a9193['query'][_0xb087('0x6c')])){_0x1c7cd7=_0x4a9193[_0xb087('0x3f')][_0xb087('0x6c')];}return _0x551f56[_0xb087('0x6d')](_0x1c7cd7)[_0xb087('0x6e')]();}})[_0xb087('0x1f')](function(_0x5d3107){var _0x4ae3bb=[_0xb087('0x6f'),_0xb087('0x70'),'IsReminderSet',_0xb087('0x71'),_0xb087('0x72'),_0xb087('0x73')];var _0x2618d6=[_0xb087('0x74'),_0xb087('0x75'),'picklist',_0xb087('0x76'),_0xb087('0x77'),_0xb087('0x78'),_0xb087('0x79')];if(_0x5d3107){_[_0xb087('0x7a')](_0x5d3107[_0xb087('0x51')],function(_0xf286de){return _0x4ae3bb[_0xb087('0x7b')](_0xf286de[_0xb087('0x37')])||!_0x2618d6['includes'](_0xf286de[_0xb087('0x3d')]);});return{'count':_0x5d3107['fields'][_0xb087('0x52')],'rows':_[_0xb087('0x3a')](_0x5d3107['fields'],function(_0x219e70){return{'id':_0x219e70[_0xb087('0x37')],'name':_0x219e70[_0xb087('0x7c')],'custom':_0x219e70[_0xb087('0x7d')],'options':_0x219e70[_0xb087('0x7e')][_0xb087('0x52')]>0x0?_['map'](_0x219e70[_0xb087('0x7e')],function(_0x28dcea){return{'name':_0x28dcea[_0xb087('0x7c')],'value':_0x28dcea[_0xb087('0x7f')]};}):_0x219e70[_0xb087('0x3d')]=='boolean'?[{'name':_0xb087('0x80'),'value':_0xb087('0x81')},{'name':_0xb087('0x82'),'value':_0xb087('0x83')}]:[]};})};}})[_0xb087('0x1f')](respondWithResult(_0x4bdd30,null))[_0xb087('0x4f')](function(_0xa228cf){var _0x3b970f=_0x4a9193[_0xb087('0x3f')][_0xb087('0x84')]?0x1f4:_0xa228cf[_0xb087('0x85')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0xb087('0x5f'),_0x3b970f,JSON[_0xb087('0x86')](_0xa228cf));delete _0xa228cf[_0xb087('0x37')];if(_0x3b970f===0x191){_0x3b970f=0x190;}_0x4bdd30[_0xb087('0x2a')](_0x3b970f)[_0xb087('0x38')](_0x4a9193['query'][_0xb087('0x84')]?{'message':_0xb087('0x87'),'statusCode':_0xa228cf[_0xb087('0x85')]}:_0xa228cf);});};