Built motion from commit (unavailable).|2.5.14
[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 _0x0972=['error','code','message','info','catch','status','end','json','count','offset','limit','Content-Range','apply','save','update','then','destroy','sendStatus','name','send','map','SalesforceAccount','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','VIRTUAL','filter','merge','options','includeAll','findAll','show','rawAttributes','include','create','params','body','getConfigurations','SalesforceConfiguration','addConfiguration','findOne','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','substring','login','concat','isNil','ticketType','sobject','CallDurationInSeconds','CallObject','CallType','Priority','Status','Type','Case','Origin','Reason','SuppliedName','SuppliedCompany','remove','custom','includes','picklistValues','label','value','boolean','True','true','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','eml-format','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','request','SalesforceAccount,\x20%s,\x20%s','debug','SalesforceAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify'];(function(_0x2c92e2,_0x1975b5){var _0x5719fa=function(_0x2c6382){while(--_0x2c6382){_0x2c92e2['push'](_0x2c92e2['shift']());}};_0x5719fa(++_0x1975b5);}(_0x0972,0x64));var _0x2097=function(_0x5eab1a,_0x4cc072){_0x5eab1a=_0x5eab1a-0x0;var _0x282c7e=_0x0972[_0x5eab1a];return _0x282c7e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x2097('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2097('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2097('0x2'));var moment=require(_0x2097('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x2097('0x4'));var util=require(_0x2097('0x5'));var path=require(_0x2097('0x6'));var sox=require(_0x2097('0x7'));var csv=require(_0x2097('0x8'));var ejs=require(_0x2097('0x9'));var fs=require('fs');var _=require(_0x2097('0xa'));var squel=require('squel');var crypto=require(_0x2097('0xb'));var jsforce=require(_0x2097('0xc'));var deskjs=require(_0x2097('0xd'));var toCsv=require(_0x2097('0x8'));var querystring=require(_0x2097('0xe'));var Papa=require('papaparse');var Redis=require(_0x2097('0xf'));var authService=require(_0x2097('0x10'));var qs=require(_0x2097('0x11'));var as=require(_0x2097('0x12'));var hardwareService=require(_0x2097('0x13'));var logger=require(_0x2097('0x14'))(_0x2097('0x15'));var utils=require(_0x2097('0x16'));var config=require(_0x2097('0x17'));var licenseUtil=require(_0x2097('0x18'));var db=require(_0x2097('0x19'))['db'];var integrations=require(_0x2097('0x1a'));var jayson=require(_0x2097('0x1b'));var client=jayson[_0x2097('0x1c')][_0x2097('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x3e3fdc,_0x185be8,_0x1c9ef9,_0x2c3e41){return new BPromise(function(_0x354387,_0x5d0a43){var _0x639c14=_0x2c3e41||client;return _0x639c14[_0x2097('0x1e')](_0x3e3fdc,_0x1c9ef9)['then'](function(_0x4eec05){logger['info'](_0x2097('0x1f'),_0x185be8,'request\x20sent');logger[_0x2097('0x20')](_0x2097('0x21'),_0x185be8,_0x2097('0x22'),JSON[_0x2097('0x23')](_0x4eec05));if(_0x4eec05[_0x2097('0x24')]){if(_0x4eec05['error'][_0x2097('0x25')]===0x1f4){logger[_0x2097('0x24')](_0x2097('0x1f'),_0x185be8,_0x4eec05[_0x2097('0x24')][_0x2097('0x26')]);return _0x5d0a43(_0x4eec05[_0x2097('0x24')][_0x2097('0x26')]);}logger[_0x2097('0x24')]('SalesforceAccount,\x20%s,\x20%s',_0x185be8,_0x4eec05['error'][_0x2097('0x26')]);return _0x354387(_0x4eec05['error'][_0x2097('0x26')]);}else{logger[_0x2097('0x27')]('SalesforceAccount,\x20%s,\x20%s',_0x185be8,_0x2097('0x22'));_0x354387(_0x4eec05['result'][_0x2097('0x26')]);}})[_0x2097('0x28')](function(_0x36189e){logger[_0x2097('0x24')](_0x2097('0x1f'),_0x185be8,_0x36189e);_0x5d0a43(_0x36189e);});});}function respondWithStatusCode(_0x35047b,_0x56390a){_0x56390a=_0x56390a||0xcc;return function(_0xae5f9){if(_0xae5f9){return _0x35047b['sendStatus'](_0x56390a);}return _0x35047b[_0x2097('0x29')](_0x56390a)[_0x2097('0x2a')]();};}function respondWithResult(_0x345875,_0x9f59bc){_0x9f59bc=_0x9f59bc||0xc8;return function(_0x499988){if(_0x499988){return _0x345875[_0x2097('0x29')](_0x9f59bc)[_0x2097('0x2b')](_0x499988);}};}function respondWithFilteredResult(_0x56af3b,_0x1229fc){return function(_0x5ed0fa){if(_0x5ed0fa){var _0x29b879=_0x5ed0fa[_0x2097('0x2c')],_0x48ae06=_0x1229fc[_0x2097('0x2d')],_0xbc0339=_0x1229fc[_0x2097('0x2d')]+_0x1229fc[_0x2097('0x2e')],_0x33e8d1;if(_0xbc0339>=_0x29b879){_0xbc0339=_0x29b879;_0x33e8d1=0xc8;}else{_0x33e8d1=0xce;}_0x56af3b[_0x2097('0x29')](_0x33e8d1);return _0x56af3b['set'](_0x2097('0x2f'),_0x48ae06+'-'+_0xbc0339+'/'+_0x29b879)[_0x2097('0x2b')](_0x5ed0fa);}return null;};}function patchUpdates(_0x5cce55){return function(_0x1398d0){try{jsonpatch[_0x2097('0x30')](_0x1398d0,_0x5cce55,!![]);}catch(_0x59fb84){return BPromise['reject'](_0x59fb84);}return _0x1398d0[_0x2097('0x31')]();};}function saveUpdates(_0x11b051,_0x1649c8){return function(_0x3589bb){if(_0x3589bb){return _0x3589bb[_0x2097('0x32')](_0x11b051)[_0x2097('0x33')](function(_0x56c538){return _0x56c538;});}return null;};}function removeEntity(_0xe1a381,_0x56bb42){return function(_0x193160){if(_0x193160){return _0x193160[_0x2097('0x34')]()[_0x2097('0x33')](function(){_0xe1a381[_0x2097('0x29')](0xcc)[_0x2097('0x2a')]();});}};}function handleEntityNotFound(_0x395d9f,_0x9bc312){return function(_0x455cf7){if(!_0x455cf7){_0x395d9f[_0x2097('0x35')](0x194);}return _0x455cf7;};}function handleError(_0x5c89ab,_0x192160){_0x192160=_0x192160||0x1f4;return function(_0x40baed){logger[_0x2097('0x24')](_0x40baed['stack']);if(_0x40baed[_0x2097('0x36')]){delete _0x40baed[_0x2097('0x36')];}_0x5c89ab[_0x2097('0x29')](_0x192160)[_0x2097('0x37')](_0x40baed);};}exports['index']=function(_0x50b101,_0x5689f6){var _0x3484ff={},_0x8f464d={},_0x4123b7={'count':0x0,'rows':[]};var _0x133c4c=_[_0x2097('0x38')](db[_0x2097('0x39')]['rawAttributes'],function(_0x379032){return{'name':_0x379032[_0x2097('0x3a')],'type':_0x379032[_0x2097('0x3b')][_0x2097('0x3c')]};});_0x8f464d[_0x2097('0x3d')]=_[_0x2097('0x38')](_0x133c4c,'name');_0x8f464d[_0x2097('0x3e')]=_[_0x2097('0x3f')](_0x50b101[_0x2097('0x3e')]);_0x8f464d['filters']=_['intersection'](_0x8f464d[_0x2097('0x3d')],_0x8f464d[_0x2097('0x3e')]);_0x3484ff[_0x2097('0x40')]=_[_0x2097('0x41')](_0x8f464d[_0x2097('0x3d')],qs[_0x2097('0x42')](_0x50b101[_0x2097('0x3e')][_0x2097('0x42')]));_0x3484ff[_0x2097('0x40')]=_0x3484ff[_0x2097('0x40')][_0x2097('0x43')]?_0x3484ff[_0x2097('0x40')]:_0x8f464d['model'];if(!_0x50b101[_0x2097('0x3e')][_0x2097('0x44')](_0x2097('0x45'))){_0x3484ff['limit']=qs[_0x2097('0x2e')](_0x50b101[_0x2097('0x3e')][_0x2097('0x2e')]);_0x3484ff[_0x2097('0x2d')]=qs[_0x2097('0x2d')](_0x50b101[_0x2097('0x3e')][_0x2097('0x2d')]);}_0x3484ff[_0x2097('0x46')]=qs['sort'](_0x50b101[_0x2097('0x3e')][_0x2097('0x47')]);_0x3484ff[_0x2097('0x48')]=qs[_0x2097('0x49')](_[_0x2097('0x4a')](_0x50b101[_0x2097('0x3e')],_0x8f464d[_0x2097('0x49')]),_0x133c4c);if(_0x50b101[_0x2097('0x3e')]['filter']){_0x3484ff[_0x2097('0x48')]=_['merge'](_0x3484ff[_0x2097('0x48')],{'$or':_[_0x2097('0x38')](_0x133c4c,function(_0x370cc6){if(_0x370cc6[_0x2097('0x3b')]!==_0x2097('0x4b')){var _0x4d0871={};_0x4d0871[_0x370cc6[_0x2097('0x36')]]={'$like':'%'+_0x50b101[_0x2097('0x3e')][_0x2097('0x4c')]+'%'};return _0x4d0871;}})});}_0x3484ff=_[_0x2097('0x4d')]({},_0x3484ff,_0x50b101[_0x2097('0x4e')]);var _0x58c7bd={'where':_0x3484ff[_0x2097('0x48')]};return db[_0x2097('0x39')][_0x2097('0x2c')](_0x58c7bd)[_0x2097('0x33')](function(_0xd90601){_0x4123b7[_0x2097('0x2c')]=_0xd90601;if(_0x50b101[_0x2097('0x3e')][_0x2097('0x4f')]){_0x3484ff['include']=[{'all':!![]}];}return db[_0x2097('0x39')][_0x2097('0x50')](_0x3484ff);})[_0x2097('0x33')](function(_0xfe13c8){_0x4123b7['rows']=_0xfe13c8;return _0x4123b7;})['then'](respondWithFilteredResult(_0x5689f6,_0x3484ff))['catch'](handleError(_0x5689f6,null));};exports[_0x2097('0x51')]=function(_0x396979,_0x4c4ef9){var _0x10577d={'raw':![],'where':{'id':_0x396979['params']['id']}},_0x3f3798={};_0x3f3798['model']=_[_0x2097('0x3f')](db[_0x2097('0x39')][_0x2097('0x52')]);_0x3f3798['query']=_[_0x2097('0x3f')](_0x396979[_0x2097('0x3e')]);_0x3f3798['filters']=_[_0x2097('0x41')](_0x3f3798[_0x2097('0x3d')],_0x3f3798[_0x2097('0x3e')]);_0x10577d[_0x2097('0x40')]=_[_0x2097('0x41')](_0x3f3798['model'],qs['fields'](_0x396979[_0x2097('0x3e')][_0x2097('0x42')]));_0x10577d[_0x2097('0x40')]=_0x10577d['attributes']['length']?_0x10577d[_0x2097('0x40')]:_0x3f3798[_0x2097('0x3d')];if(_0x396979['query'][_0x2097('0x4f')]){_0x10577d[_0x2097('0x53')]=[{'all':!![]}];}_0x10577d=_[_0x2097('0x4d')]({},_0x10577d,_0x396979[_0x2097('0x4e')]);return db[_0x2097('0x39')]['find'](_0x10577d)[_0x2097('0x33')](handleEntityNotFound(_0x4c4ef9,null))[_0x2097('0x33')](respondWithResult(_0x4c4ef9,null))[_0x2097('0x28')](handleError(_0x4c4ef9,null));};exports['create']=function(_0x4a25e2,_0xdf72c7){return db['SalesforceAccount'][_0x2097('0x54')](_0x4a25e2['body'],{})[_0x2097('0x33')](respondWithResult(_0xdf72c7,0xc9))['catch'](handleError(_0xdf72c7,null));};exports['update']=function(_0x5d4f35,_0x40cbe1){if(_0x5d4f35['body']['id']){delete _0x5d4f35['body']['id'];}return db[_0x2097('0x39')]['find']({'where':{'id':_0x5d4f35[_0x2097('0x55')]['id']}})[_0x2097('0x33')](handleEntityNotFound(_0x40cbe1,null))['then'](saveUpdates(_0x5d4f35[_0x2097('0x56')],null))[_0x2097('0x33')](respondWithResult(_0x40cbe1,null))[_0x2097('0x28')](handleError(_0x40cbe1,null));};exports[_0x2097('0x34')]=function(_0x306b71,_0x58d661){return db[_0x2097('0x39')]['find']({'where':{'id':_0x306b71[_0x2097('0x55')]['id']}})[_0x2097('0x33')](handleEntityNotFound(_0x58d661,null))[_0x2097('0x33')](removeEntity(_0x58d661,null))['catch'](handleError(_0x58d661,null));};exports[_0x2097('0x57')]=function(_0x17df41,_0x2f5016,_0x168a7d){var _0x3a93b8={};var _0x56cfbf={};var _0x5b9fa2;var _0x265eac;return db[_0x2097('0x39')]['findOne']({'where':{'id':_0x17df41['params']['id']}})['then'](handleEntityNotFound(_0x2f5016,null))['then'](function(_0x14b2d4){if(_0x14b2d4){_0x5b9fa2=_0x14b2d4;_0x56cfbf['model']=_[_0x2097('0x3f')](db[_0x2097('0x58')]['rawAttributes']);_0x56cfbf[_0x2097('0x3e')]=_[_0x2097('0x3f')](_0x17df41[_0x2097('0x3e')]);_0x56cfbf[_0x2097('0x49')]=_[_0x2097('0x41')](_0x56cfbf[_0x2097('0x3d')],_0x56cfbf[_0x2097('0x3e')]);_0x3a93b8[_0x2097('0x40')]=_[_0x2097('0x41')](_0x56cfbf['model'],qs[_0x2097('0x42')](_0x17df41[_0x2097('0x3e')][_0x2097('0x42')]));_0x3a93b8[_0x2097('0x40')]=_0x3a93b8[_0x2097('0x40')][_0x2097('0x43')]?_0x3a93b8['attributes']:_0x56cfbf[_0x2097('0x3d')];_0x3a93b8[_0x2097('0x46')]=qs[_0x2097('0x47')](_0x17df41[_0x2097('0x3e')][_0x2097('0x47')]);_0x3a93b8['where']=qs[_0x2097('0x49')](_[_0x2097('0x4a')](_0x17df41['query'],_0x56cfbf['filters']));if(_0x17df41['query'][_0x2097('0x4c')]){_0x3a93b8[_0x2097('0x48')]=_[_0x2097('0x4d')](_0x3a93b8[_0x2097('0x48')],{'$or':_[_0x2097('0x38')](_0x3a93b8[_0x2097('0x40')],function(_0x2e287b){var _0x2ce256={};_0x2ce256[_0x2e287b]={'$like':'%'+_0x17df41[_0x2097('0x3e')]['filter']+'%'};return _0x2ce256;})});}_0x3a93b8=_['merge']({},_0x3a93b8,_0x17df41[_0x2097('0x4e')]);return _0x5b9fa2[_0x2097('0x57')](_0x3a93b8);}})[_0x2097('0x33')](function(_0x2bdf29){if(_0x2bdf29){_0x265eac=_0x2bdf29[_0x2097('0x43')];if(!_0x17df41[_0x2097('0x3e')]['hasOwnProperty'](_0x2097('0x45'))){_0x3a93b8[_0x2097('0x2e')]=qs[_0x2097('0x2e')](_0x17df41[_0x2097('0x3e')]['limit']);_0x3a93b8['offset']=qs[_0x2097('0x2d')](_0x17df41[_0x2097('0x3e')]['offset']);}return _0x5b9fa2[_0x2097('0x57')](_0x3a93b8);}})[_0x2097('0x33')](function(_0x17551b){if(_0x17551b){return _0x17551b?{'count':_0x265eac,'rows':_0x17551b}:null;}})[_0x2097('0x33')](respondWithResult(_0x2f5016,null))[_0x2097('0x28')](handleError(_0x2f5016,null));};exports[_0x2097('0x59')]=function(_0x10f891,_0x2c6f24,_0x54159e){if(_0x10f891[_0x2097('0x56')]['id']){delete _0x10f891[_0x2097('0x56')]['id'];}return db['SalesforceAccount'][_0x2097('0x5a')]({'where':{'id':_0x10f891[_0x2097('0x55')]['id']}})[_0x2097('0x33')](handleEntityNotFound(_0x2c6f24,null))[_0x2097('0x33')](function(_0x307c43){if(_0x307c43){_0x10f891[_0x2097('0x56')][_0x2097('0x5b')]=_0x307c43['id'];_0x10f891[_0x2097('0x56')][_0x2097('0x5c')]=integrations[_0x2097('0x5d')](_0x10f891[_0x2097('0x56')]['channel'],_0x10f891[_0x2097('0x56')][_0x2097('0x3b')]);_0x10f891[_0x2097('0x56')][_0x2097('0x5e')]=integrations[_0x2097('0x5f')](_0x10f891['body'][_0x2097('0x60')],_0x10f891[_0x2097('0x56')][_0x2097('0x3b')]);return db['SalesforceConfiguration'][_0x2097('0x54')](_0x10f891['body'],{'include':[{'model':db[_0x2097('0x61')],'as':'Subjects'},{'model':db[_0x2097('0x61')],'as':'Descriptions'}]});}return null;})[_0x2097('0x33')](respondWithResult(_0x2c6f24,null))['catch'](handleError(_0x2c6f24,null));};exports[_0x2097('0x62')]=function(_0x3dba80,_0x18f796,_0x183f34){var _0x28d925;var _0x5deddb='';var _0x2c447e=_0x2097('0x63');return db[_0x2097('0x39')][_0x2097('0x5a')]({'where':{'id':_0x3dba80[_0x2097('0x55')]['id']},'attributes':['id',_0x2097('0x64'),_0x2097('0x65'),_0x2097('0x66'),_0x2097('0x67'),_0x2097('0x68'),_0x2097('0x69')]})[_0x2097('0x33')](handleEntityNotFound(_0x18f796,null))[_0x2097('0x33')](function(_0xa53114){if(_0xa53114){_0x5deddb=_0xa53114[_0x2097('0x64')];var _0xf3831c=_0x5deddb['slice'](-0x1);if(_0xf3831c==='/'){_0x5deddb=_0x5deddb[_0x2097('0x6a')](0x0,_0x5deddb['lastIndexOf'](_0xf3831c));}_0x28d925=new jsforce['Connection']({'oauth2':{'loginUrl':_0x5deddb,'clientId':_0xa53114[_0x2097('0x65')],'clientSecret':_0xa53114[_0x2097('0x66')]}});return _0x28d925[_0x2097('0x6b')](_0xa53114['username'],_0xa53114[_0x2097('0x68')][_0x2097('0x6c')](_0xa53114[_0x2097('0x69')]));}})[_0x2097('0x33')](function(_0x568a15){if(_0x568a15){if(!_[_0x2097('0x6d')](_0x3dba80['query'][_0x2097('0x6e')])){_0x2c447e=_0x3dba80[_0x2097('0x3e')][_0x2097('0x6e')];}return _0x28d925[_0x2097('0x6f')](_0x2c447e)['describe']();}})[_0x2097('0x33')](function(_0x28a3bf){var _0x31ec19=['CallDisposition',_0x2097('0x70'),_0x2097('0x71'),_0x2097('0x72'),'IsArchived',_0x2097('0x73'),_0x2097('0x74'),_0x2097('0x75')];if(!_[_0x2097('0x6d')](_0x3dba80[_0x2097('0x3e')][_0x2097('0x6e')])&&_0x3dba80['query']['ticketType']===_0x2097('0x76')){_0x31ec19=[_0x2097('0x75'),_0x2097('0x77'),_0x2097('0x78'),_0x2097('0x74'),_0x2097('0x73'),'IsEscalated',_0x2097('0x79'),_0x2097('0x7a')];}if(_0x28a3bf){_[_0x2097('0x7b')](_0x28a3bf[_0x2097('0x42')],function(_0x9b0763){return _0x9b0763[_0x2097('0x7c')]===![]&&!_0x31ec19[_0x2097('0x7d')](_0x9b0763['name']);});return{'count':_0x28a3bf[_0x2097('0x42')][_0x2097('0x43')],'rows':_[_0x2097('0x38')](_0x28a3bf[_0x2097('0x42')],function(_0x414efa){return{'id':_0x414efa[_0x2097('0x36')],'name':_0x414efa['label'],'custom':_0x414efa['custom'],'options':_0x414efa[_0x2097('0x7e')]['length']>0x0?_['map'](_0x414efa[_0x2097('0x7e')],function(_0x146470){return{'name':_0x146470[_0x2097('0x7f')],'value':_0x146470[_0x2097('0x80')]};}):_0x414efa[_0x2097('0x3b')]==_0x2097('0x81')?[{'name':_0x2097('0x82'),'value':_0x2097('0x83')},{'name':'False','value':_0x2097('0x84')}]:[]};})};}})[_0x2097('0x33')](respondWithResult(_0x18f796,null))[_0x2097('0x28')](function(_0x3b988f){var _0x3155f6=_0x3dba80['query'][_0x2097('0x85')]?0x1f4:_0x3b988f[_0x2097('0x86')]||0x1f4;logger[_0x2097('0x24')](_0x2097('0x87'),_0x2097('0x62'),_0x3155f6,JSON[_0x2097('0x23')](_0x3b988f));delete _0x3b988f['name'];if(_0x3155f6===0x191){_0x3155f6=0x190;}_0x18f796[_0x2097('0x29')](_0x3155f6)[_0x2097('0x37')](_0x3dba80['query']['test']?{'message':'Wrong\x20credentials','statusCode':_0x3b988f['statusCode']}:_0x3b988f);});};