d3933ea0ee2cce47df5006227b50591e747c89b8
[motion2.git] / server / services / ami / trigger / integration / sugarcrm.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 _0x4d2a=['Enduser\x20created.','[HTTP]','merge','map','type','customField','content','string','customVariable','Variable','custom_fields','login','username','password','PLAIN','sessionID','Account\x20%d\x20is\x20not\x20valid','set_relationship','Calls','queue','remoteUri','stripTrailingSlash','serverUrl','uri','%s/service/v4_1/rest.php','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','uniqueid','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','Inbound','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','contacts','version','charAt','%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','user:%s','trigger:browser:url','catch','error','outbound','recordingFormat','none','[OUTBOUND]','destcalleridname','destcalleridnum','Outbound','users','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','unmanaged','lastevent','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','toUpperCase','lodash','request-promise','bluebird','util','ioredis','../../../../config/logger','sugarcrm','defaults','redis','localhost','socket.io-emitter','POST','emit','info','Creating\x20new\x20ticket...','name','getString','Subjects','assigned_user_id','created_by','Descriptions','date_start','slice','replace','duration_hours','duration_minutes','parent_id','parent_type','Contacts','direction','length','forEach','variableName','push','idField','stringify','Basic\x20%s','apiKey','toString','get_server_info','JSON','isNil','get_entry_list','Employees','then','find','entry_list','name_value_list','value','Agent\x20found!','resolve','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','user_name','Searching\x20enduser\x20with\x20phone','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','set_entry','first_name','<unknown>','format','Caller\x20-\x20%s'];(function(_0x27d592,_0x187464){var _0x425e64=function(_0x99b4ff){while(--_0x99b4ff){_0x27d592['push'](_0x27d592['shift']());}};_0x425e64(++_0x187464);}(_0x4d2a,0x1ad));var _0xa4d2=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x4d2a[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0xa4d2('0x0'));var rp=require(_0xa4d2('0x1'));var BPromise=require(_0xa4d2('0x2'));var md5=require('md5');var util=require(_0xa4d2('0x3'));var Redis=require(_0xa4d2('0x4'));var intUtil=require('./util');var config=require('../../../../config/environment');var logger=require(_0xa4d2('0x5'))(_0xa4d2('0x6'));config['redis']=_[_0xa4d2('0x7')](config[_0xa4d2('0x8')],{'host':_0xa4d2('0x9'),'port':0x18eb});var io=require(_0xa4d2('0xa'))(new Redis(config['redis']));var def={'method':_0xa4d2('0xb'),'json':!![]};function emit(_0x34d9b7,_0x12a40a,_0xce9904){io['to'](_0x34d9b7)[_0xa4d2('0xc')](_0x12a40a,_0xce9904);}function getTicket(_0x559c8a,_0x3b1312,_0x55ed4f,_0x1419e7,_0x18e68a,_0x15ec36,_0x2df81e,_0x1d4275){logger[_0xa4d2('0xd')](_0xa4d2('0xe'));var _0x1d634c=new Date();var _0x39d59d=[{'name':_0xa4d2('0xf'),'value':intUtil[_0xa4d2('0x10')](_0x1419e7[_0xa4d2('0x11')],_0x18e68a,'\x20')},{'name':_0xa4d2('0x12'),'value':_0x3b1312['id']},{'name':_0xa4d2('0x13'),'value':_0x3b1312['id']},{'name':'description','value':intUtil['getString'](_0x1419e7[_0xa4d2('0x14')],_0x18e68a,'\x0a')},{'name':_0xa4d2('0x15'),'value':_0x1d634c['toISOString']()[_0xa4d2('0x16')](0x0,0x13)[_0xa4d2('0x17')]('T','\x20')},{'name':_0xa4d2('0x18'),'value':'0'},{'name':_0xa4d2('0x19'),'value':'15'},{'name':_0xa4d2('0x1a'),'value':_0x55ed4f['id']},{'name':_0xa4d2('0x1b'),'value':_0xa4d2('0x1c')},{'name':'parent_name','value':_0x55ed4f[_0xa4d2('0xf')]},{'name':_0xa4d2('0x1d'),'value':_0x1d4275}];if(_0x15ec36[_0xa4d2('0x1e')]){_[_0xa4d2('0x1f')](_0x15ec36,function(_0xde8f8e){if(_0x18e68a[_0xde8f8e[_0xa4d2('0x20')]]){_0x39d59d[_0xa4d2('0x21')]({'name':_0xde8f8e[_0xa4d2('0x22')],'value':_0x18e68a[_0xde8f8e['variableName']]});}});}return request({'form':{'method':'set_entry','input_type':'JSON','response_type':'JSON','rest_data':JSON[_0xa4d2('0x23')]({'session':_0x2df81e['id'],'module_name':'Calls','name_value_list':_0x39d59d})}});}function getAuth(_0x292131){return util['format'](_0xa4d2('0x24'),new Buffer(_0x292131[_0xa4d2('0x25')]+':X')[_0xa4d2('0x26')]('base64'));}function getServerInfo(_0x39832a){return request({'form':{'method':_0xa4d2('0x27'),'input_type':_0xa4d2('0x28'),'response_type':_0xa4d2('0x28'),'rest_data':JSON[_0xa4d2('0x23')]({'session':_0x39832a['id']})}});}function getUser(_0x234d4c,_0x59e6d1,_0x146221){if(!_[_0xa4d2('0x29')](_0x59e6d1)){logger[_0xa4d2('0xd')]('Getting\x20agent\x20with\x20name',_0x59e6d1);return request({'form':{'method':_0xa4d2('0x2a'),'input_type':'JSON','response_type':_0xa4d2('0x28'),'rest_data':JSON[_0xa4d2('0x23')]({'session':_0x146221['id'],'module_name':_0xa4d2('0x2b'),'query':util['format']('INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200',_0x59e6d1),'order_by':'','offset':'0','select_fields':['id','name','user_name'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xa4d2('0x2c')](function(_0x36d05c){if(_0x36d05c['entry_list'][_0xa4d2('0x1e')]){var _0x8b787d=_[_0xa4d2('0x2d')](_0x36d05c[_0xa4d2('0x2e')],function(_0x5a54a1){return _0x5a54a1[_0xa4d2('0x2f')]['user_name'][_0xa4d2('0x30')]===_0x59e6d1;});if(_0x8b787d){logger['info'](_0xa4d2('0x31'));return BPromise[_0xa4d2('0x32')]({'id':_0x8b787d[_0xa4d2('0x2f')]['id']['value'],'name':_0x8b787d[_0xa4d2('0x2f')][_0xa4d2('0xf')]['value']});}}logger['info'](_0xa4d2('0x33'));return BPromise['resolve']({'id':_0x146221[_0xa4d2('0x2f')][_0xa4d2('0x34')][_0xa4d2('0x30')],'name':_0x146221[_0xa4d2('0x2f')][_0xa4d2('0x35')][_0xa4d2('0x30')]});});}else{logger[_0xa4d2('0xd')]('Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!');return BPromise[_0xa4d2('0x32')]({'id':_0x146221['name_value_list'][_0xa4d2('0x34')][_0xa4d2('0x30')],'name':_0x146221[_0xa4d2('0x2f')][_0xa4d2('0x35')]['value']});}}function getEndUser(_0x2bdac5,_0x24dea5,_0xae2f43,_0xccdc5f){logger[_0xa4d2('0xd')](_0xa4d2('0x36'),_0xae2f43);return request({'form':{'method':'get_entry_list','input_type':_0xa4d2('0x28'),'response_type':_0xa4d2('0x28'),'rest_data':JSON[_0xa4d2('0x23')]({'session':_0xccdc5f['id'],'module_name':_0xa4d2('0x1c'),'query':util['format'](_0xa4d2('0x37'),_0xae2f43),'order_by':'','offset':'0','select_fields':['id',_0xa4d2('0xf'),'phone_home'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xa4d2('0x2c')](function(_0x499676){if(_0x499676['entry_list'][_0xa4d2('0x1e')]){var _0x1e11f9=_[_0xa4d2('0x2d')](_0x499676['entry_list'],function(_0x241986){return _0x241986[_0xa4d2('0x2f')][_0xa4d2('0x38')]['value']===_0xae2f43;});if(_0x1e11f9){logger[_0xa4d2('0xd')]('Enduser\x20found!');return BPromise[_0xa4d2('0x32')]({'id':_0x1e11f9[_0xa4d2('0x2f')]['id'][_0xa4d2('0x30')],'name':_0x1e11f9[_0xa4d2('0x2f')][_0xa4d2('0xf')][_0xa4d2('0x30')],'phone':_0x1e11f9['name_value_list']['phone_home'][_0xa4d2('0x30')]});}}else{logger[_0xa4d2('0xd')](_0xa4d2('0x39'));return request({'form':{'method':_0xa4d2('0x3a'),'input_type':_0xa4d2('0x28'),'response_type':_0xa4d2('0x28'),'rest_data':JSON[_0xa4d2('0x23')]({'session':_0xccdc5f['id'],'module_name':_0xa4d2('0x1c'),'name_value_list':[{'name':_0xa4d2('0x3b'),'value':_0x24dea5!==_0xa4d2('0x3c')?_0x24dea5:util[_0xa4d2('0x3d')](_0xa4d2('0x3e'),_0xae2f43)},{'name':'phone_home','value':_0xae2f43}]})}})['then'](function(_0x41f0dc){logger[_0xa4d2('0xd')](_0xa4d2('0x3f'));return BPromise[_0xa4d2('0x32')]({'id':_0x41f0dc['id'],'name':_0x41f0dc[_0xa4d2('0x2e')][_0xa4d2('0x3b')][_0xa4d2('0x30')],'phone':_0x41f0dc[_0xa4d2('0x2e')][_0xa4d2('0x38')]['value']});});}});}function request(_0x5162bf){logger['debug'](_0xa4d2('0x40'),JSON[_0xa4d2('0x23')](_0x5162bf));return rp(_[_0xa4d2('0x41')](def,_0x5162bf));}function getTags(_0x1dcb2d,_0x579c37){var _0x386dec=[];if(_0x1dcb2d&&_0x1dcb2d[_0xa4d2('0x1e')]>0x0){_0x386dec=_[_0xa4d2('0x42')](_0x1dcb2d,_0x579c37);}return _0x386dec;}function getCustomFields(_0x23bd28,_0x3c1c85){var _0x31a5e9=[];var _0x1b2f59={'custom_fields':[]};if(_0x23bd28[_0xa4d2('0x1e')]>0x0){_[_0xa4d2('0x1f')](_0x23bd28,function(_0x311e71){if(_0x311e71[_0xa4d2('0x43')]==='string'&&_0x311e71['nameField']&&!_0x311e71[_0xa4d2('0x44')]){_0x1b2f59[_0x311e71['nameField']['toLowerCase']()]=_0x311e71[_0xa4d2('0x45')][_0xa4d2('0x26')]();}else if(_0x311e71[_0xa4d2('0x43')]===_0xa4d2('0x46')&&_0x311e71[_0xa4d2('0x22')]&&_0x311e71[_0xa4d2('0x44')]){_0x1b2f59['custom_fields']['push']({'id':_0x311e71[_0xa4d2('0x22')],'value':_0x311e71['content'][_0xa4d2('0x26')]()});}else if(_0x311e71[_0xa4d2('0x43')]==='variable'&&_0x311e71[_0xa4d2('0x20')]&&_0x311e71[_0xa4d2('0x22')]&&_0x311e71[_0xa4d2('0x44')]){_0x3c1c85[_0x311e71['variableName']]&&_0x1b2f59['custom_fields']['push']({'id':_0x311e71[_0xa4d2('0x22')],'value':_0x3c1c85[_0x311e71['variableName']]['toString']()});}else if(_0x311e71[_0xa4d2('0x43')]===_0xa4d2('0x47')&&_0x311e71[_0xa4d2('0x48')]&&_0x311e71[_0xa4d2('0x48')][_0xa4d2('0xf')]&&_0x311e71['idField']&&_0x311e71['customField']){_0x3c1c85[_0x311e71[_0xa4d2('0x48')][_0xa4d2('0xf')]['toLowerCase']()]&&_0x1b2f59[_0xa4d2('0x49')][_0xa4d2('0x21')]({'id':_0x311e71[_0xa4d2('0x22')],'value':_0x3c1c85[_0x311e71[_0xa4d2('0x48')][_0xa4d2('0xf')]['toLowerCase']()][_0xa4d2('0x26')]()});}});}return _0x1b2f59;}function getConnection(_0x54a739){return request({'method':_0xa4d2('0xb'),'form':{'method':_0xa4d2('0x4a'),'input_type':_0xa4d2('0x28'),'response_type':_0xa4d2('0x28'),'rest_data':JSON[_0xa4d2('0x23')]({'user_auth':{'user_name':_0x54a739[_0xa4d2('0x4b')],'password':_0x54a739[_0xa4d2('0x4c')],'encryption':_0xa4d2('0x4d')},'application':'xCALLY\x20Motion\x20integration'})}})[_0xa4d2('0x2c')](function(_0x535732){var _0xd7422d=_0x535732;if(_0xd7422d['id']){def[_0xa4d2('0x4e')]=_0xd7422d['id'];return BPromise['resolve'](_0xd7422d);}else{throw new Error(util['format'](_0xa4d2('0x4f'),_0x54a739['id']));}});}function setRelationship(_0x3121f0,_0x14a856,_0x3549ae,_0x2ca80d){return request({'form':{'method':_0xa4d2('0x50'),'input_type':'JSON','response_type':_0xa4d2('0x28'),'rest_data':JSON[_0xa4d2('0x23')]({'session':_0x3121f0['id'],'module_name':_0xa4d2('0x51'),'module_id':_0x3549ae['id'],'link_field_name':_0x2ca80d,'related_ids':[_0x14a856['id']],'name_value_list':[],'delete':0x0})}});}exports[_0xa4d2('0x52')]=function(_0x1718f0,_0x7ca086,_0x2b367d,_0x4ecfe2,_0x3a8646,_0x1e8951){var _0x320003,_0x330c39,_0x4aa43b,_0xdcda39;_0x1e8951[_0xa4d2('0x53')]=intUtil[_0xa4d2('0x54')](_0x1e8951['remoteUri']);_0x1e8951['serverUrl']=intUtil['stripTrailingSlash'](_0x1e8951[_0xa4d2('0x55')]);def[_0xa4d2('0x56')]=util[_0xa4d2('0x3d')](_0xa4d2('0x57'),_0x1e8951[_0xa4d2('0x53')]);if(_0x3a8646&&_0x3a8646[_0xa4d2('0x58')]){logger[_0xa4d2('0xd')](_0xa4d2('0x59'),_0xa4d2('0x5a'));_0x7ca086[_0xa4d2('0x5b')]=util[_0xa4d2('0x3d')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x1e8951[_0xa4d2('0x55')],_0x7ca086[_0xa4d2('0x5c')],md5(_0x7ca086[_0xa4d2('0x5c')]));}else{_0x7ca086[_0xa4d2('0x5b')]='';}return getConnection(_0x1e8951)[_0xa4d2('0x2c')](function(_0xd97e6c){_0xdcda39=_0xd97e6c;return getUser(_0x1e8951,_0x4ecfe2[_0xa4d2('0xf')],_0xdcda39);})[_0xa4d2('0x2c')](function(_0x42c7d9){_0x320003=_0x42c7d9;logger[_0xa4d2('0xd')](_0xa4d2('0x5d'),_0x320003['id']);return getEndUser(_0x1e8951,_0x7ca086[_0xa4d2('0x5e')],_0x7ca086[_0xa4d2('0x5f')],_0xdcda39);})[_0xa4d2('0x2c')](function(_0x4b3d8f){_0x330c39=_0x4b3d8f;logger[_0xa4d2('0xd')](_0xa4d2('0x60'),_0x330c39['id']);return getTicket(_0x1e8951,_0x320003,_0x330c39,_0x2b367d,_0x7ca086,_0x2b367d[_0xa4d2('0x61')],_0xdcda39,_0xa4d2('0x62'));})[_0xa4d2('0x2c')](function(_0x3ff4d9){_0x4aa43b=_0x3ff4d9;logger[_0xa4d2('0xd')](_0xa4d2('0x63'));logger[_0xa4d2('0xd')](_0xa4d2('0x64'),_0x4aa43b['id']);return setRelationship(_0xdcda39,_0x320003,_0x4aa43b,'users');})[_0xa4d2('0x2c')](function(){return setRelationship(_0xdcda39,_0x330c39,_0x4aa43b,_0xa4d2('0x65'));})[_0xa4d2('0x2c')](function(){return getServerInfo(_0xdcda39);})[_0xa4d2('0x2c')](function(_0x3f282d){var _0x251790=parseInt(_0x3f282d[_0xa4d2('0x66')][_0xa4d2('0x67')](0x0));var _0x528b52=util[_0xa4d2('0x3d')](_0xa4d2('0x68'),_0x1e8951[_0xa4d2('0x53')],_0x4aa43b['id']);if(_0x251790>0x6){_0x528b52=util[_0xa4d2('0x3d')](_0xa4d2('0x69'),_0x1e8951['remoteUri'],_0x4aa43b['id']);}logger[_0xa4d2('0xd')](_0xa4d2('0x59'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xa4d2('0x3d')](_0xa4d2('0x6a'),_0x4ecfe2[_0xa4d2('0xf')]),_0xa4d2('0x6b'),{'uri':_0x528b52});})[_0xa4d2('0x6c')](function(_0x293e09){logger[_0xa4d2('0x6d')]('[QUEUE]',JSON[_0xa4d2('0x23')](_0x293e09));});};exports[_0xa4d2('0x6e')]=function(_0x42ec8e,_0x2bd363,_0x2ed618,_0x28d792,_0x3384f0,_0x5ba422,_0x2f1e02){var _0x4a1bb6,_0xf9a32a,_0x505ce3,_0x32958a;_0x5ba422[_0xa4d2('0x53')]=intUtil['stripTrailingSlash'](_0x5ba422[_0xa4d2('0x53')]);_0x5ba422[_0xa4d2('0x55')]=intUtil[_0xa4d2('0x54')](_0x5ba422[_0xa4d2('0x55')]);def[_0xa4d2('0x56')]=util[_0xa4d2('0x3d')](_0xa4d2('0x57'),_0x5ba422[_0xa4d2('0x53')]);if(_0x2f1e02&&_0x2f1e02[_0xa4d2('0x6f')]&&_0x2f1e02['recordingFormat']!==_0xa4d2('0x70')){logger[_0xa4d2('0xd')](_0xa4d2('0x71'),_0xa4d2('0x5a'));_0x2bd363['recordingURL']=util[_0xa4d2('0x3d')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x5ba422[_0xa4d2('0x55')],_0x2bd363['uniqueid'],md5(_0x2bd363[_0xa4d2('0x5c')]));}return getConnection(_0x5ba422)['then'](function(_0x3244b2){_0x32958a=_0x3244b2;return getUser(_0x5ba422,_0x28d792['name'],_0x32958a);})[_0xa4d2('0x2c')](function(_0x1a52ad){_0x4a1bb6=_0x1a52ad;logger[_0xa4d2('0xd')](_0xa4d2('0x5d'),_0x4a1bb6['id']);return getEndUser(_0x5ba422,_0x2bd363[_0xa4d2('0x72')],_0x2bd363[_0xa4d2('0x73')],_0x32958a);})[_0xa4d2('0x2c')](function(_0x34c988){_0xf9a32a=_0x34c988;logger['info'](_0xa4d2('0x60'),_0xf9a32a['id']);return getTicket(_0x5ba422,_0x4a1bb6,_0xf9a32a,_0x2ed618,_0x2bd363,_0x2ed618['Fields'],_0x32958a,_0xa4d2('0x74'));})[_0xa4d2('0x2c')](function(_0x22486d){_0x505ce3=_0x22486d;logger[_0xa4d2('0xd')]('Ticket\x20created!');logger['info']('The\x20Ticket\x20ID\x20is:',_0x505ce3['id']);return setRelationship(_0x32958a,_0x4a1bb6,_0x505ce3,_0xa4d2('0x75'));})['then'](function(){return setRelationship(_0x32958a,_0xf9a32a,_0x505ce3,_0xa4d2('0x65'));})['then'](function(){return getServerInfo(_0x32958a);})['then'](function(_0x17826f){var _0x15e616=parseInt(_0x17826f[_0xa4d2('0x66')][_0xa4d2('0x67')](0x0));var _0x6cb140=util[_0xa4d2('0x3d')](_0xa4d2('0x68'),_0x5ba422[_0xa4d2('0x53')],_0x505ce3['id']);if(_0x15e616>0x6){_0x6cb140=util[_0xa4d2('0x3d')]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x5ba422['remoteUri'],_0x505ce3['id']);}logger[_0xa4d2('0xd')](_0xa4d2('0x71'),_0xa4d2('0x76'));emit(util[_0xa4d2('0x3d')](_0xa4d2('0x6a'),_0x28d792['name']),_0xa4d2('0x6b'),{'uri':_0x6cb140});})['catch'](function(_0x2cf2ad){logger['error'](_0xa4d2('0x71'),JSON[_0xa4d2('0x23')](_0x2cf2ad));});};exports[_0xa4d2('0x77')]=function(_0x5736ea,_0x5bfe00,_0xc5b280,_0x2395f3,_0x23140c,_0x211553){var _0x209976,_0x377073,_0x516be3,_0x376e47;_0x211553[_0xa4d2('0x53')]=intUtil[_0xa4d2('0x54')](_0x211553[_0xa4d2('0x53')]);_0x211553[_0xa4d2('0x55')]=intUtil[_0xa4d2('0x54')](_0x211553[_0xa4d2('0x55')]);def[_0xa4d2('0x56')]=util[_0xa4d2('0x3d')]('%s/service/v4_1/rest.php',_0x211553['remoteUri']);if(_0x23140c&&_0x23140c[_0xa4d2('0x58')]){logger['info']('['+_0x5bfe00[_0xa4d2('0x78')]['toUpperCase']()+']',_0xa4d2('0x5a'));_0x5bfe00[_0xa4d2('0x5b')]=util[_0xa4d2('0x3d')](_0xa4d2('0x79'),_0x211553[_0xa4d2('0x55')],_0x5bfe00[_0xa4d2('0x5c')],md5(_0x5bfe00['uniqueid']));}else{_0x5bfe00['recordingURL']='';}return getConnection(_0x211553)[_0xa4d2('0x2c')](function(_0x1fe2f0){_0x376e47=_0x1fe2f0;if(!_[_0xa4d2('0x29')](_0x2395f3)){return getUser(_0x211553,_0x2395f3[_0xa4d2('0xf')],_0x376e47);}else{return getUser(_0x211553,null,_0x376e47);}})[_0xa4d2('0x2c')](function(_0x2f8632){_0x209976=_0x2f8632;logger[_0xa4d2('0xd')]('The\x20User\x20ID\x20is:',_0x209976['id']);return getEndUser(_0x211553,_0x5bfe00[_0xa4d2('0x5e')],_0x5bfe00[_0xa4d2('0x5f')],_0x376e47);})[_0xa4d2('0x2c')](function(_0x282ac3){_0x377073=_0x282ac3;logger[_0xa4d2('0xd')]('The\x20Enduser\x20ID\x20is:',_0x377073['id']);return getTicket(_0x211553,_0x209976,_0x377073,_0xc5b280,_0x5bfe00,_0xc5b280[_0xa4d2('0x61')],_0x376e47,_0xa4d2('0x62'));})[_0xa4d2('0x2c')](function(_0x492a9d){_0x516be3=_0x492a9d;logger['info'](_0xa4d2('0x63'));logger[_0xa4d2('0xd')](_0xa4d2('0x64'),_0x516be3['id']);return setRelationship(_0x376e47,_0x209976,_0x516be3,'users');})[_0xa4d2('0x2c')](function(){return setRelationship(_0x376e47,_0x377073,_0x516be3,'contacts');})[_0xa4d2('0x2c')](function(){return getServerInfo(_0x376e47);})['catch'](function(_0x1d81ec){logger['error']('['+_0x5bfe00[_0xa4d2('0x78')][_0xa4d2('0x7a')]()+']',JSON[_0xa4d2('0x23')](_0x1d81ec));});};