fb6fe0e456eebaee75d19c70bab7d34632e271e2
[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 _0x3c6b=['The\x20Enduser\x20ID\x20is:','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','contacts','version','isNil','calleridname','calleridnum','Inbound','error','lastevent','toUpperCase','request-promise','bluebird','md5','util','ioredis','./util','../../../../config/environment','../../../../config/logger','redis','defaults','socket.io-emitter','POST','info','name','getString','Subjects','assigned_user_id','created_by','date_start','toISOString','replace','duration_hours','duration_minutes','parent_id','parent_type','Contacts','parent_name','direction','length','forEach','push','idField','set_entry','JSON','Calls','format','apiKey','toString','base64','get_server_info','stringify','Getting\x20agent\x20with\x20name','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','user_name','then','entry_list','name_value_list','Agent\x20found!','resolve','value','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','get_entry_list','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','first_name','<unknown>','Enduser\x20created.','debug','merge','map','type','nameField','toLowerCase','content','string','customField','variableName','Variable','custom_fields','username','password','PLAIN','xCALLY\x20Motion\x20integration','sessionID','Account\x20%d\x20is\x20not\x20valid','queue','remoteUri','stripTrailingSlash','serverUrl','%s/service/v4_1/rest.php','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','uniqueid','Fields','users','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','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','catch','outbound','uri','recordingFormat','none','[OUTBOUND]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','The\x20User\x20ID\x20is:','destcalleridnum'];(function(_0x382a62,_0x1baa5e){var _0x490a25=function(_0x1b3427){while(--_0x1b3427){_0x382a62['push'](_0x382a62['shift']());}};_0x490a25(++_0x1baa5e);}(_0x3c6b,0x1e8));var _0xb3c6=function(_0x31858e,_0x1c0dea){_0x31858e=_0x31858e-0x0;var _0x59d00e=_0x3c6b[_0x31858e];return _0x59d00e;};'use strict';var _=require('lodash');var rp=require(_0xb3c6('0x0'));var BPromise=require(_0xb3c6('0x1'));var md5=require(_0xb3c6('0x2'));var util=require(_0xb3c6('0x3'));var Redis=require(_0xb3c6('0x4'));var intUtil=require(_0xb3c6('0x5'));var config=require(_0xb3c6('0x6'));var logger=require(_0xb3c6('0x7'))('sugarcrm');config[_0xb3c6('0x8')]=_[_0xb3c6('0x9')](config[_0xb3c6('0x8')],{'host':'localhost','port':0x18eb});var io=require(_0xb3c6('0xa'))(new Redis(config[_0xb3c6('0x8')]));var def={'method':_0xb3c6('0xb'),'json':!![]};function emit(_0x16a407,_0x1a342d,_0x5c9a38){io['to'](_0x16a407)['emit'](_0x1a342d,_0x5c9a38);}function getTicket(_0x135a2b,_0x49df54,_0x318465,_0x293e65,_0x38bb3a,_0x4f1ef5,_0xbef48f,_0x33f834){logger[_0xb3c6('0xc')]('Creating\x20new\x20ticket...');var _0x5b5e5a=new Date();var _0x9ae93c=[{'name':_0xb3c6('0xd'),'value':intUtil[_0xb3c6('0xe')](_0x293e65[_0xb3c6('0xf')],_0x38bb3a,'\x20')},{'name':_0xb3c6('0x10'),'value':_0x49df54['id']},{'name':_0xb3c6('0x11'),'value':_0x49df54['id']},{'name':'description','value':intUtil[_0xb3c6('0xe')](_0x293e65['Descriptions'],_0x38bb3a,'\x0a')},{'name':_0xb3c6('0x12'),'value':_0x5b5e5a[_0xb3c6('0x13')]()['slice'](0x0,0x13)[_0xb3c6('0x14')]('T','\x20')},{'name':_0xb3c6('0x15'),'value':'0'},{'name':_0xb3c6('0x16'),'value':'15'},{'name':_0xb3c6('0x17'),'value':_0x318465['id']},{'name':_0xb3c6('0x18'),'value':_0xb3c6('0x19')},{'name':_0xb3c6('0x1a'),'value':_0x318465[_0xb3c6('0xd')]},{'name':_0xb3c6('0x1b'),'value':_0x33f834}];if(_0x4f1ef5[_0xb3c6('0x1c')]){_[_0xb3c6('0x1d')](_0x4f1ef5,function(_0x2a84b5){if(_0x38bb3a[_0x2a84b5['variableName']]){_0x9ae93c[_0xb3c6('0x1e')]({'name':_0x2a84b5[_0xb3c6('0x1f')],'value':_0x38bb3a[_0x2a84b5['variableName']]});}});}return request({'form':{'method':_0xb3c6('0x20'),'input_type':'JSON','response_type':_0xb3c6('0x21'),'rest_data':JSON['stringify']({'session':_0xbef48f['id'],'module_name':_0xb3c6('0x22'),'name_value_list':_0x9ae93c})}});}function getAuth(_0xf0b35c){return util[_0xb3c6('0x23')]('Basic\x20%s',new Buffer(_0xf0b35c[_0xb3c6('0x24')]+':X')[_0xb3c6('0x25')](_0xb3c6('0x26')));}function getServerInfo(_0x333c19){return request({'form':{'method':_0xb3c6('0x27'),'input_type':_0xb3c6('0x21'),'response_type':_0xb3c6('0x21'),'rest_data':JSON[_0xb3c6('0x28')]({'session':_0x333c19['id']})}});}function getUser(_0x2436c9,_0x3fe685,_0x12849a){if(!_['isNil'](_0x3fe685)){logger[_0xb3c6('0xc')](_0xb3c6('0x29'),_0x3fe685);return request({'form':{'method':'get_entry_list','input_type':_0xb3c6('0x21'),'response_type':_0xb3c6('0x21'),'rest_data':JSON[_0xb3c6('0x28')]({'session':_0x12849a['id'],'module_name':_0xb3c6('0x2a'),'query':util['format'](_0xb3c6('0x2b'),_0x3fe685),'order_by':'','offset':'0','select_fields':['id',_0xb3c6('0xd'),_0xb3c6('0x2c')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xb3c6('0x2d')](function(_0x3a5e38){if(_0x3a5e38[_0xb3c6('0x2e')]['length']){var _0xd0427a=_['find'](_0x3a5e38[_0xb3c6('0x2e')],function(_0x589bb6){return _0x589bb6[_0xb3c6('0x2f')][_0xb3c6('0x2c')]['value']===_0x3fe685;});if(_0xd0427a){logger[_0xb3c6('0xc')](_0xb3c6('0x30'));return BPromise[_0xb3c6('0x31')]({'id':_0xd0427a[_0xb3c6('0x2f')]['id'][_0xb3c6('0x32')],'name':_0xd0427a['name_value_list'][_0xb3c6('0xd')]['value']});}}logger[_0xb3c6('0xc')](_0xb3c6('0x33'));return BPromise[_0xb3c6('0x31')]({'id':_0x12849a[_0xb3c6('0x2f')][_0xb3c6('0x34')][_0xb3c6('0x32')],'name':_0x12849a[_0xb3c6('0x2f')][_0xb3c6('0x2c')][_0xb3c6('0x32')]});});}else{logger[_0xb3c6('0xc')](_0xb3c6('0x35'));return BPromise[_0xb3c6('0x31')]({'id':_0x12849a['name_value_list'][_0xb3c6('0x34')][_0xb3c6('0x32')],'name':_0x12849a[_0xb3c6('0x2f')][_0xb3c6('0x2c')][_0xb3c6('0x32')]});}}function getEndUser(_0x13d65d,_0xbac952,_0x23a844,_0x33e2d4){logger[_0xb3c6('0xc')]('Searching\x20enduser\x20with\x20phone',_0x23a844);return request({'form':{'method':_0xb3c6('0x36'),'input_type':_0xb3c6('0x21'),'response_type':_0xb3c6('0x21'),'rest_data':JSON[_0xb3c6('0x28')]({'session':_0x33e2d4['id'],'module_name':_0xb3c6('0x19'),'query':util['format'](_0xb3c6('0x37'),_0x23a844),'order_by':'','offset':'0','select_fields':['id',_0xb3c6('0xd'),_0xb3c6('0x38')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xb3c6('0x2d')](function(_0x1a4597){if(_0x1a4597['entry_list'][_0xb3c6('0x1c')]){var _0x27affb=_['find'](_0x1a4597[_0xb3c6('0x2e')],function(_0x292e61){return _0x292e61[_0xb3c6('0x2f')][_0xb3c6('0x38')][_0xb3c6('0x32')]===_0x23a844;});if(_0x27affb){logger[_0xb3c6('0xc')](_0xb3c6('0x39'));return BPromise[_0xb3c6('0x31')]({'id':_0x27affb['name_value_list']['id'][_0xb3c6('0x32')],'name':_0x27affb[_0xb3c6('0x2f')]['name'][_0xb3c6('0x32')],'phone':_0x27affb[_0xb3c6('0x2f')]['phone_home'][_0xb3c6('0x32')]});}}else{logger[_0xb3c6('0xc')](_0xb3c6('0x3a'));return request({'form':{'method':'set_entry','input_type':_0xb3c6('0x21'),'response_type':'JSON','rest_data':JSON[_0xb3c6('0x28')]({'session':_0x33e2d4['id'],'module_name':_0xb3c6('0x19'),'name_value_list':[{'name':_0xb3c6('0x3b'),'value':_0xbac952!==_0xb3c6('0x3c')?_0xbac952:util[_0xb3c6('0x23')]('Caller\x20-\x20%s',_0x23a844)},{'name':_0xb3c6('0x38'),'value':_0x23a844}]})}})[_0xb3c6('0x2d')](function(_0x38091b){logger[_0xb3c6('0xc')](_0xb3c6('0x3d'));return BPromise['resolve']({'id':_0x38091b['id'],'name':_0x38091b[_0xb3c6('0x2e')][_0xb3c6('0x3b')][_0xb3c6('0x32')],'phone':_0x38091b[_0xb3c6('0x2e')][_0xb3c6('0x38')][_0xb3c6('0x32')]});});}});}function request(_0x4b91d7){logger[_0xb3c6('0x3e')]('[HTTP]',JSON[_0xb3c6('0x28')](_0x4b91d7));return rp(_[_0xb3c6('0x3f')](def,_0x4b91d7));}function getTags(_0x3152c1,_0x48e45e){var _0x1be266=[];if(_0x3152c1&&_0x3152c1[_0xb3c6('0x1c')]>0x0){_0x1be266=_[_0xb3c6('0x40')](_0x3152c1,_0x48e45e);}return _0x1be266;}function getCustomFields(_0x76a97d,_0x31f131){var _0x2e0ad4=[];var _0x110173={'custom_fields':[]};if(_0x76a97d[_0xb3c6('0x1c')]>0x0){_[_0xb3c6('0x1d')](_0x76a97d,function(_0x2d5652){if(_0x2d5652[_0xb3c6('0x41')]==='string'&&_0x2d5652['nameField']&&!_0x2d5652['customField']){_0x110173[_0x2d5652[_0xb3c6('0x42')][_0xb3c6('0x43')]()]=_0x2d5652[_0xb3c6('0x44')][_0xb3c6('0x25')]();}else if(_0x2d5652[_0xb3c6('0x41')]===_0xb3c6('0x45')&&_0x2d5652[_0xb3c6('0x1f')]&&_0x2d5652[_0xb3c6('0x46')]){_0x110173['custom_fields'][_0xb3c6('0x1e')]({'id':_0x2d5652[_0xb3c6('0x1f')],'value':_0x2d5652[_0xb3c6('0x44')][_0xb3c6('0x25')]()});}else if(_0x2d5652[_0xb3c6('0x41')]==='variable'&&_0x2d5652[_0xb3c6('0x47')]&&_0x2d5652['idField']&&_0x2d5652[_0xb3c6('0x46')]){_0x31f131[_0x2d5652[_0xb3c6('0x47')]]&&_0x110173['custom_fields'][_0xb3c6('0x1e')]({'id':_0x2d5652[_0xb3c6('0x1f')],'value':_0x31f131[_0x2d5652[_0xb3c6('0x47')]][_0xb3c6('0x25')]()});}else if(_0x2d5652[_0xb3c6('0x41')]==='customVariable'&&_0x2d5652['Variable']&&_0x2d5652[_0xb3c6('0x48')]['name']&&_0x2d5652[_0xb3c6('0x1f')]&&_0x2d5652[_0xb3c6('0x46')]){_0x31f131[_0x2d5652[_0xb3c6('0x48')]['name'][_0xb3c6('0x43')]()]&&_0x110173[_0xb3c6('0x49')][_0xb3c6('0x1e')]({'id':_0x2d5652[_0xb3c6('0x1f')],'value':_0x31f131[_0x2d5652[_0xb3c6('0x48')][_0xb3c6('0xd')][_0xb3c6('0x43')]()][_0xb3c6('0x25')]()});}});}return _0x110173;}function getConnection(_0x479b91){return request({'method':_0xb3c6('0xb'),'form':{'method':'login','input_type':_0xb3c6('0x21'),'response_type':_0xb3c6('0x21'),'rest_data':JSON[_0xb3c6('0x28')]({'user_auth':{'user_name':_0x479b91[_0xb3c6('0x4a')],'password':_0x479b91[_0xb3c6('0x4b')],'encryption':_0xb3c6('0x4c')},'application':_0xb3c6('0x4d')})}})[_0xb3c6('0x2d')](function(_0x1308e8){var _0x2e2221=_0x1308e8;if(_0x2e2221['id']){def[_0xb3c6('0x4e')]=_0x2e2221['id'];return BPromise[_0xb3c6('0x31')](_0x2e2221);}else{throw new Error(util[_0xb3c6('0x23')](_0xb3c6('0x4f'),_0x479b91['id']));}});}function setRelationship(_0x52dd59,_0x1dc1c4,_0x33366c,_0x62a740){return request({'form':{'method':'set_relationship','input_type':_0xb3c6('0x21'),'response_type':'JSON','rest_data':JSON[_0xb3c6('0x28')]({'session':_0x52dd59['id'],'module_name':_0xb3c6('0x22'),'module_id':_0x33366c['id'],'link_field_name':_0x62a740,'related_ids':[_0x1dc1c4['id']],'name_value_list':[],'delete':0x0})}});}exports[_0xb3c6('0x50')]=function(_0x50e68e,_0x4baa96,_0x555ff1,_0xdbb6c5,_0xd75856,_0x13be7a){var _0x5d00e7,_0x56cf9d,_0x3385ba,_0x3cb792;_0x13be7a[_0xb3c6('0x51')]=intUtil[_0xb3c6('0x52')](_0x13be7a[_0xb3c6('0x51')]);_0x13be7a[_0xb3c6('0x53')]=intUtil[_0xb3c6('0x52')](_0x13be7a['serverUrl']);def['uri']=util['format'](_0xb3c6('0x54'),_0x13be7a['remoteUri']);if(_0xd75856&&_0xd75856[_0xb3c6('0x55')]){logger[_0xb3c6('0xc')](_0xb3c6('0x56'),_0xb3c6('0x57'));_0x4baa96[_0xb3c6('0x58')]=util[_0xb3c6('0x23')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x13be7a[_0xb3c6('0x53')],_0x4baa96[_0xb3c6('0x59')],md5(_0x4baa96[_0xb3c6('0x59')]));}else{_0x4baa96[_0xb3c6('0x58')]='';}return getConnection(_0x13be7a)[_0xb3c6('0x2d')](function(_0x51107b){_0x3cb792=_0x51107b;return getUser(_0x13be7a,_0xdbb6c5[_0xb3c6('0xd')],_0x3cb792);})[_0xb3c6('0x2d')](function(_0x12aab3){_0x5d00e7=_0x12aab3;logger[_0xb3c6('0xc')]('The\x20User\x20ID\x20is:',_0x5d00e7['id']);return getEndUser(_0x13be7a,_0x4baa96['calleridname'],_0x4baa96['calleridnum'],_0x3cb792);})[_0xb3c6('0x2d')](function(_0x43d50b){_0x56cf9d=_0x43d50b;logger[_0xb3c6('0xc')]('The\x20Enduser\x20ID\x20is:',_0x56cf9d['id']);return getTicket(_0x13be7a,_0x5d00e7,_0x56cf9d,_0x555ff1,_0x4baa96,_0x555ff1[_0xb3c6('0x5a')],_0x3cb792,'Inbound');})['then'](function(_0x2b3433){_0x3385ba=_0x2b3433;logger[_0xb3c6('0xc')]('Ticket\x20created!');logger[_0xb3c6('0xc')]('The\x20Ticket\x20ID\x20is:',_0x3385ba['id']);return setRelationship(_0x3cb792,_0x5d00e7,_0x3385ba,_0xb3c6('0x5b'));})[_0xb3c6('0x2d')](function(){return setRelationship(_0x3cb792,_0x56cf9d,_0x3385ba,'contacts');})[_0xb3c6('0x2d')](function(){return getServerInfo(_0x3cb792);})['then'](function(_0x492814){var _0x2c4d6e=parseInt(_0x492814['version'][_0xb3c6('0x5c')](0x0));var _0xb5c4c2=util['format'](_0xb3c6('0x5d'),_0x13be7a[_0xb3c6('0x51')],_0x3385ba['id']);if(_0x2c4d6e>0x6){_0xb5c4c2=util[_0xb3c6('0x23')](_0xb3c6('0x5e'),_0x13be7a[_0xb3c6('0x51')],_0x3385ba['id']);}logger[_0xb3c6('0xc')](_0xb3c6('0x56'),_0xb3c6('0x5f'));emit(util['format'](_0xb3c6('0x60'),_0xdbb6c5[_0xb3c6('0xd')]),_0xb3c6('0x61'),{'uri':_0xb5c4c2});})[_0xb3c6('0x62')](function(_0x130f73){logger['error'](_0xb3c6('0x56'),JSON[_0xb3c6('0x28')](_0x130f73));});};exports[_0xb3c6('0x63')]=function(_0xe773ee,_0x3ff2d8,_0x553ce1,_0x567a73,_0x471ce6,_0x333958,_0x5b27eb){var _0x33fdea,_0x425423,_0x5dcf6b,_0x5181cf;_0x333958[_0xb3c6('0x51')]=intUtil[_0xb3c6('0x52')](_0x333958['remoteUri']);_0x333958[_0xb3c6('0x53')]=intUtil[_0xb3c6('0x52')](_0x333958[_0xb3c6('0x53')]);def[_0xb3c6('0x64')]=util[_0xb3c6('0x23')](_0xb3c6('0x54'),_0x333958[_0xb3c6('0x51')]);if(_0x5b27eb&&_0x5b27eb[_0xb3c6('0x65')]&&_0x5b27eb['recordingFormat']!==_0xb3c6('0x66')){logger['info'](_0xb3c6('0x67'),_0xb3c6('0x57'));_0x3ff2d8['recordingURL']=util['format'](_0xb3c6('0x68'),_0x333958['serverUrl'],_0x3ff2d8[_0xb3c6('0x59')],md5(_0x3ff2d8[_0xb3c6('0x59')]));}return getConnection(_0x333958)[_0xb3c6('0x2d')](function(_0x2fe862){_0x5181cf=_0x2fe862;return getUser(_0x333958,_0x567a73['name'],_0x5181cf);})[_0xb3c6('0x2d')](function(_0x4adec4){_0x33fdea=_0x4adec4;logger[_0xb3c6('0xc')](_0xb3c6('0x69'),_0x33fdea['id']);return getEndUser(_0x333958,_0x3ff2d8['destcalleridname'],_0x3ff2d8[_0xb3c6('0x6a')],_0x5181cf);})['then'](function(_0x4a0c3c){_0x425423=_0x4a0c3c;logger[_0xb3c6('0xc')](_0xb3c6('0x6b'),_0x425423['id']);return getTicket(_0x333958,_0x33fdea,_0x425423,_0x553ce1,_0x3ff2d8,_0x553ce1['Fields'],_0x5181cf,'Outbound');})[_0xb3c6('0x2d')](function(_0x2a1ebc){_0x5dcf6b=_0x2a1ebc;logger[_0xb3c6('0xc')](_0xb3c6('0x6c'));logger[_0xb3c6('0xc')](_0xb3c6('0x6d'),_0x5dcf6b['id']);return setRelationship(_0x5181cf,_0x33fdea,_0x5dcf6b,'users');})['then'](function(){return setRelationship(_0x5181cf,_0x425423,_0x5dcf6b,_0xb3c6('0x6e'));})[_0xb3c6('0x2d')](function(){return getServerInfo(_0x5181cf);})[_0xb3c6('0x2d')](function(_0x21d712){var _0x3e7785=parseInt(_0x21d712[_0xb3c6('0x6f')][_0xb3c6('0x5c')](0x0));var _0x4ba334=util[_0xb3c6('0x23')](_0xb3c6('0x5d'),_0x333958[_0xb3c6('0x51')],_0x5dcf6b['id']);if(_0x3e7785>0x6){_0x4ba334=util[_0xb3c6('0x23')](_0xb3c6('0x5e'),_0x333958[_0xb3c6('0x51')],_0x5dcf6b['id']);}logger['info'](_0xb3c6('0x67'),_0xb3c6('0x5f'));emit(util[_0xb3c6('0x23')](_0xb3c6('0x60'),_0x567a73['name']),_0xb3c6('0x61'),{'uri':_0x4ba334});})[_0xb3c6('0x62')](function(_0x3ae28e){logger['error'](_0xb3c6('0x67'),JSON['stringify'](_0x3ae28e));});};exports['unmanaged']=function(_0x39fb40,_0x49c788,_0x5c0a23,_0xde8e06,_0x860c2f,_0xbcff39){var _0x4f4d56,_0x463645,_0x480902,_0x1972b2;_0xbcff39['remoteUri']=intUtil[_0xb3c6('0x52')](_0xbcff39[_0xb3c6('0x51')]);_0xbcff39[_0xb3c6('0x53')]=intUtil[_0xb3c6('0x52')](_0xbcff39['serverUrl']);def[_0xb3c6('0x64')]=util[_0xb3c6('0x23')](_0xb3c6('0x54'),_0xbcff39[_0xb3c6('0x51')]);if(_0x860c2f&&_0x860c2f[_0xb3c6('0x55')]){logger['info']('['+_0x49c788['lastevent']['toUpperCase']()+']',_0xb3c6('0x57'));_0x49c788[_0xb3c6('0x58')]=util[_0xb3c6('0x23')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0xbcff39[_0xb3c6('0x53')],_0x49c788[_0xb3c6('0x59')],md5(_0x49c788[_0xb3c6('0x59')]));}else{_0x49c788[_0xb3c6('0x58')]='';}return getConnection(_0xbcff39)['then'](function(_0x1538c0){_0x1972b2=_0x1538c0;if(!_[_0xb3c6('0x70')](_0xde8e06)){return getUser(_0xbcff39,_0xde8e06[_0xb3c6('0xd')],_0x1972b2);}else{return getUser(_0xbcff39,null,_0x1972b2);}})[_0xb3c6('0x2d')](function(_0x3044f8){_0x4f4d56=_0x3044f8;logger[_0xb3c6('0xc')](_0xb3c6('0x69'),_0x4f4d56['id']);return getEndUser(_0xbcff39,_0x49c788[_0xb3c6('0x71')],_0x49c788[_0xb3c6('0x72')],_0x1972b2);})['then'](function(_0x3418ce){_0x463645=_0x3418ce;logger[_0xb3c6('0xc')](_0xb3c6('0x6b'),_0x463645['id']);return getTicket(_0xbcff39,_0x4f4d56,_0x463645,_0x5c0a23,_0x49c788,_0x5c0a23[_0xb3c6('0x5a')],_0x1972b2,_0xb3c6('0x73'));})['then'](function(_0x3f3f51){_0x480902=_0x3f3f51;logger[_0xb3c6('0xc')](_0xb3c6('0x6c'));logger[_0xb3c6('0xc')](_0xb3c6('0x6d'),_0x480902['id']);return setRelationship(_0x1972b2,_0x4f4d56,_0x480902,_0xb3c6('0x5b'));})[_0xb3c6('0x2d')](function(){return setRelationship(_0x1972b2,_0x463645,_0x480902,_0xb3c6('0x6e'));})[_0xb3c6('0x2d')](function(){return getServerInfo(_0x1972b2);})[_0xb3c6('0x62')](function(_0x325d79){logger[_0xb3c6('0x74')]('['+_0x49c788[_0xb3c6('0x75')][_0xb3c6('0x76')]()+']',JSON[_0xb3c6('0x28')](_0x325d79));});};