Built motion from commit (unavailable).|2.5.26
[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 _0x3b1b=['name_value_list','user_id','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','resolve','Searching\x20enduser\x20with\x20phone','phone_home','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','first_name','Caller\x20-\x20%s','Enduser\x20created.','debug','merge','map','string','nameField','customField','toLowerCase','content','type','custom_fields','push','variable','customVariable','Variable','username','password','xCALLY\x20Motion\x20integration','sessionID','Account\x20%d\x20is\x20not\x20valid','set_relationship','queue','remoteUri','stripTrailingSlash','serverUrl','uri','%s/service/v4_1/rest.php','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','recordingURL','The\x20User\x20ID\x20is:','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','The\x20Ticket\x20ID\x20is:','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','recordingFormat','none','destcalleridname','destcalleridnum','Outbound','Ticket\x20created!','contacts','version','[OUTBOUND]','error','unmanaged','toUpperCase','calleridname','Inbound','lodash','request-promise','bluebird','util','ioredis','../../../../config/environment','../../../../config/logger','sugarcrm','redis','socket.io-emitter','POST','emit','info','Creating\x20new\x20ticket...','name','getString','Subjects','assigned_user_id','created_by','description','Descriptions','date_start','toISOString','slice','duration_minutes','parent_type','Contacts','parent_name','direction','length','variableName','idField','set_entry','JSON','stringify','Calls','format','Basic\x20%s','apiKey','toString','base64','get_server_info','get_entry_list','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','user_name','then','entry_list','find','value','Agent\x20found!'];(function(_0x2ae22a,_0x4fe753){var _0x286a82=function(_0x256e58){while(--_0x256e58){_0x2ae22a['push'](_0x2ae22a['shift']());}};_0x286a82(++_0x4fe753);}(_0x3b1b,0x139));var _0xb3b1=function(_0x35f463,_0x491a53){_0x35f463=_0x35f463-0x0;var _0x4f6c71=_0x3b1b[_0x35f463];return _0x4f6c71;};'use strict';var _=require(_0xb3b1('0x0'));var rp=require(_0xb3b1('0x1'));var BPromise=require(_0xb3b1('0x2'));var md5=require('md5');var util=require(_0xb3b1('0x3'));var Redis=require(_0xb3b1('0x4'));var intUtil=require('./util');var config=require(_0xb3b1('0x5'));var logger=require(_0xb3b1('0x6'))(_0xb3b1('0x7'));config[_0xb3b1('0x8')]=_['defaults'](config[_0xb3b1('0x8')],{'host':'localhost','port':0x18eb});var io=require(_0xb3b1('0x9'))(new Redis(config[_0xb3b1('0x8')]));var def={'method':_0xb3b1('0xa'),'json':!![]};function emit(_0x13f5b1,_0xf8bce4,_0x179f7c){io['to'](_0x13f5b1)[_0xb3b1('0xb')](_0xf8bce4,_0x179f7c);}function getTicket(_0x3a96c8,_0x565366,_0xb587ed,_0x543372,_0x512bb5,_0x135c43,_0x4c2d5e,_0x295b1c){logger[_0xb3b1('0xc')](_0xb3b1('0xd'));var _0x2b0447=new Date();var _0x27974a=[{'name':_0xb3b1('0xe'),'value':intUtil[_0xb3b1('0xf')](_0x543372[_0xb3b1('0x10')],_0x512bb5,'\x20')},{'name':_0xb3b1('0x11'),'value':_0x565366['id']},{'name':_0xb3b1('0x12'),'value':_0x565366['id']},{'name':_0xb3b1('0x13'),'value':intUtil[_0xb3b1('0xf')](_0x543372[_0xb3b1('0x14')],_0x512bb5,'\x0a')},{'name':_0xb3b1('0x15'),'value':_0x2b0447[_0xb3b1('0x16')]()[_0xb3b1('0x17')](0x0,0x13)['replace']('T','\x20')},{'name':'duration_hours','value':'0'},{'name':_0xb3b1('0x18'),'value':'15'},{'name':'parent_id','value':_0xb587ed['id']},{'name':_0xb3b1('0x19'),'value':_0xb3b1('0x1a')},{'name':_0xb3b1('0x1b'),'value':_0xb587ed['name']},{'name':_0xb3b1('0x1c'),'value':_0x295b1c}];if(_0x135c43[_0xb3b1('0x1d')]){_['forEach'](_0x135c43,function(_0xb0dcd0){if(_0x512bb5[_0xb0dcd0[_0xb3b1('0x1e')]]){_0x27974a['push']({'name':_0xb0dcd0[_0xb3b1('0x1f')],'value':_0x512bb5[_0xb0dcd0[_0xb3b1('0x1e')]]});}});}return request({'form':{'method':_0xb3b1('0x20'),'input_type':_0xb3b1('0x21'),'response_type':_0xb3b1('0x21'),'rest_data':JSON[_0xb3b1('0x22')]({'session':_0x4c2d5e['id'],'module_name':_0xb3b1('0x23'),'name_value_list':_0x27974a})}});}function getAuth(_0x3a7cff){return util[_0xb3b1('0x24')](_0xb3b1('0x25'),new Buffer(_0x3a7cff[_0xb3b1('0x26')]+':X')[_0xb3b1('0x27')](_0xb3b1('0x28')));}function getServerInfo(_0x3be627){return request({'form':{'method':_0xb3b1('0x29'),'input_type':_0xb3b1('0x21'),'response_type':_0xb3b1('0x21'),'rest_data':JSON[_0xb3b1('0x22')]({'session':_0x3be627['id']})}});}function getUser(_0x3083ba,_0x1a1ac4,_0x2d5407){if(!_['isNil'](_0x1a1ac4)){logger[_0xb3b1('0xc')]('Getting\x20agent\x20with\x20name',_0x1a1ac4);return request({'form':{'method':_0xb3b1('0x2a'),'input_type':_0xb3b1('0x21'),'response_type':_0xb3b1('0x21'),'rest_data':JSON[_0xb3b1('0x22')]({'session':_0x2d5407['id'],'module_name':'Employees','query':util[_0xb3b1('0x24')](_0xb3b1('0x2b'),_0x1a1ac4),'order_by':'','offset':'0','select_fields':['id',_0xb3b1('0xe'),_0xb3b1('0x2c')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xb3b1('0x2d')](function(_0x49efbd){if(_0x49efbd[_0xb3b1('0x2e')][_0xb3b1('0x1d')]){var _0x3fa356=_[_0xb3b1('0x2f')](_0x49efbd['entry_list'],function(_0x1861b8){return _0x1861b8['name_value_list'][_0xb3b1('0x2c')][_0xb3b1('0x30')]===_0x1a1ac4;});if(_0x3fa356){logger[_0xb3b1('0xc')](_0xb3b1('0x31'));return BPromise['resolve']({'id':_0x3fa356[_0xb3b1('0x32')]['id'][_0xb3b1('0x30')],'name':_0x3fa356[_0xb3b1('0x32')][_0xb3b1('0xe')][_0xb3b1('0x30')]});}}logger[_0xb3b1('0xc')]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return BPromise['resolve']({'id':_0x2d5407[_0xb3b1('0x32')][_0xb3b1('0x33')]['value'],'name':_0x2d5407[_0xb3b1('0x32')][_0xb3b1('0x2c')][_0xb3b1('0x30')]});});}else{logger[_0xb3b1('0xc')](_0xb3b1('0x34'));return BPromise[_0xb3b1('0x35')]({'id':_0x2d5407[_0xb3b1('0x32')][_0xb3b1('0x33')][_0xb3b1('0x30')],'name':_0x2d5407[_0xb3b1('0x32')][_0xb3b1('0x2c')][_0xb3b1('0x30')]});}}function getEndUser(_0xa20aee,_0xe145f8,_0x5ac1fa,_0x20b504){logger[_0xb3b1('0xc')](_0xb3b1('0x36'),_0x5ac1fa);return request({'form':{'method':'get_entry_list','input_type':'JSON','response_type':'JSON','rest_data':JSON[_0xb3b1('0x22')]({'session':_0x20b504['id'],'module_name':_0xb3b1('0x1a'),'query':util['format']('contacts.phone_home\x20=\x20\x22%s\x22',_0x5ac1fa),'order_by':'','offset':'0','select_fields':['id',_0xb3b1('0xe'),_0xb3b1('0x37')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xb3b1('0x2d')](function(_0x344398){if(_0x344398[_0xb3b1('0x2e')][_0xb3b1('0x1d')]){var _0x3e4d37=_[_0xb3b1('0x2f')](_0x344398[_0xb3b1('0x2e')],function(_0x5d02f3){return _0x5d02f3[_0xb3b1('0x32')]['phone_home'][_0xb3b1('0x30')]===_0x5ac1fa;});if(_0x3e4d37){logger[_0xb3b1('0xc')](_0xb3b1('0x38'));return BPromise[_0xb3b1('0x35')]({'id':_0x3e4d37['name_value_list']['id'][_0xb3b1('0x30')],'name':_0x3e4d37[_0xb3b1('0x32')][_0xb3b1('0xe')][_0xb3b1('0x30')],'phone':_0x3e4d37[_0xb3b1('0x32')][_0xb3b1('0x37')][_0xb3b1('0x30')]});}}else{logger[_0xb3b1('0xc')](_0xb3b1('0x39'));return request({'form':{'method':_0xb3b1('0x20'),'input_type':_0xb3b1('0x21'),'response_type':'JSON','rest_data':JSON['stringify']({'session':_0x20b504['id'],'module_name':_0xb3b1('0x1a'),'name_value_list':[{'name':_0xb3b1('0x3a'),'value':_0xe145f8!=='<unknown>'?_0xe145f8:util[_0xb3b1('0x24')](_0xb3b1('0x3b'),_0x5ac1fa)},{'name':_0xb3b1('0x37'),'value':_0x5ac1fa}]})}})[_0xb3b1('0x2d')](function(_0x2570b5){logger[_0xb3b1('0xc')](_0xb3b1('0x3c'));return BPromise[_0xb3b1('0x35')]({'id':_0x2570b5['id'],'name':_0x2570b5[_0xb3b1('0x2e')][_0xb3b1('0x3a')][_0xb3b1('0x30')],'phone':_0x2570b5['entry_list'][_0xb3b1('0x37')][_0xb3b1('0x30')]});});}});}function request(_0x537fe6){logger[_0xb3b1('0x3d')]('[HTTP]',JSON[_0xb3b1('0x22')](_0x537fe6));return rp(_[_0xb3b1('0x3e')](def,_0x537fe6));}function getTags(_0x30a6c9,_0x39988b){var _0x1c8bff=[];if(_0x30a6c9&&_0x30a6c9['length']>0x0){_0x1c8bff=_[_0xb3b1('0x3f')](_0x30a6c9,_0x39988b);}return _0x1c8bff;}function getCustomFields(_0x28a152,_0x3ff3b5){var _0x2e9b00=[];var _0xb9ba46={'custom_fields':[]};if(_0x28a152[_0xb3b1('0x1d')]>0x0){_['forEach'](_0x28a152,function(_0x28956f){if(_0x28956f['type']===_0xb3b1('0x40')&&_0x28956f[_0xb3b1('0x41')]&&!_0x28956f[_0xb3b1('0x42')]){_0xb9ba46[_0x28956f[_0xb3b1('0x41')][_0xb3b1('0x43')]()]=_0x28956f[_0xb3b1('0x44')][_0xb3b1('0x27')]();}else if(_0x28956f[_0xb3b1('0x45')]===_0xb3b1('0x40')&&_0x28956f[_0xb3b1('0x1f')]&&_0x28956f[_0xb3b1('0x42')]){_0xb9ba46[_0xb3b1('0x46')][_0xb3b1('0x47')]({'id':_0x28956f[_0xb3b1('0x1f')],'value':_0x28956f[_0xb3b1('0x44')][_0xb3b1('0x27')]()});}else if(_0x28956f['type']===_0xb3b1('0x48')&&_0x28956f['variableName']&&_0x28956f['idField']&&_0x28956f[_0xb3b1('0x42')]){_0x3ff3b5[_0x28956f[_0xb3b1('0x1e')]]&&_0xb9ba46[_0xb3b1('0x46')][_0xb3b1('0x47')]({'id':_0x28956f['idField'],'value':_0x3ff3b5[_0x28956f[_0xb3b1('0x1e')]][_0xb3b1('0x27')]()});}else if(_0x28956f['type']===_0xb3b1('0x49')&&_0x28956f[_0xb3b1('0x4a')]&&_0x28956f[_0xb3b1('0x4a')][_0xb3b1('0xe')]&&_0x28956f['idField']&&_0x28956f['customField']){_0x3ff3b5[_0x28956f[_0xb3b1('0x4a')][_0xb3b1('0xe')][_0xb3b1('0x43')]()]&&_0xb9ba46[_0xb3b1('0x46')]['push']({'id':_0x28956f[_0xb3b1('0x1f')],'value':_0x3ff3b5[_0x28956f[_0xb3b1('0x4a')]['name'][_0xb3b1('0x43')]()][_0xb3b1('0x27')]()});}});}return _0xb9ba46;}function getConnection(_0x84a5e4){return request({'method':_0xb3b1('0xa'),'form':{'method':'login','input_type':_0xb3b1('0x21'),'response_type':'JSON','rest_data':JSON[_0xb3b1('0x22')]({'user_auth':{'user_name':_0x84a5e4[_0xb3b1('0x4b')],'password':_0x84a5e4[_0xb3b1('0x4c')],'encryption':'PLAIN'},'application':_0xb3b1('0x4d')})}})[_0xb3b1('0x2d')](function(_0x181770){var _0x3518e1=_0x181770;if(_0x3518e1['id']){def[_0xb3b1('0x4e')]=_0x3518e1['id'];return BPromise['resolve'](_0x3518e1);}else{throw new Error(util['format'](_0xb3b1('0x4f'),_0x84a5e4['id']));}});}function setRelationship(_0x3ced4a,_0x288673,_0x32fcd9,_0x5f1b70){return request({'form':{'method':_0xb3b1('0x50'),'input_type':_0xb3b1('0x21'),'response_type':_0xb3b1('0x21'),'rest_data':JSON['stringify']({'session':_0x3ced4a['id'],'module_name':_0xb3b1('0x23'),'module_id':_0x32fcd9['id'],'link_field_name':_0x5f1b70,'related_ids':[_0x288673['id']],'name_value_list':[],'delete':0x0})}});}exports[_0xb3b1('0x51')]=function(_0x50aa33,_0x3a9034,_0x3381fb,_0x481076,_0x53f885,_0x4b1b3e){var _0x1444ea,_0x2e422c,_0xdd52bb,_0x12db2e;_0x4b1b3e[_0xb3b1('0x52')]=intUtil[_0xb3b1('0x53')](_0x4b1b3e['remoteUri']);_0x4b1b3e[_0xb3b1('0x54')]=intUtil[_0xb3b1('0x53')](_0x4b1b3e[_0xb3b1('0x54')]);def[_0xb3b1('0x55')]=util['format'](_0xb3b1('0x56'),_0x4b1b3e['remoteUri']);if(_0x53f885&&_0x53f885[_0xb3b1('0x57')]){logger['info'](_0xb3b1('0x58'),_0xb3b1('0x59'));_0x3a9034['recordingURL']=util['format'](_0xb3b1('0x5a'),_0x4b1b3e[_0xb3b1('0x54')],_0x3a9034[_0xb3b1('0x5b')],md5(_0x3a9034[_0xb3b1('0x5b')]));}else{_0x3a9034[_0xb3b1('0x5c')]='';}return getConnection(_0x4b1b3e)[_0xb3b1('0x2d')](function(_0x3ed5ae){_0x12db2e=_0x3ed5ae;return getUser(_0x4b1b3e,_0x481076[_0xb3b1('0xe')],_0x12db2e);})[_0xb3b1('0x2d')](function(_0x454045){_0x1444ea=_0x454045;logger['info'](_0xb3b1('0x5d'),_0x1444ea['id']);return getEndUser(_0x4b1b3e,_0x3a9034['calleridname'],_0x3a9034[_0xb3b1('0x5e')],_0x12db2e);})[_0xb3b1('0x2d')](function(_0x5a59b1){_0x2e422c=_0x5a59b1;logger['info'](_0xb3b1('0x5f'),_0x2e422c['id']);return getTicket(_0x4b1b3e,_0x1444ea,_0x2e422c,_0x3381fb,_0x3a9034,_0x3381fb[_0xb3b1('0x60')],_0x12db2e,'Inbound');})[_0xb3b1('0x2d')](function(_0x31eeca){_0xdd52bb=_0x31eeca;logger[_0xb3b1('0xc')]('Ticket\x20created!');logger[_0xb3b1('0xc')](_0xb3b1('0x61'),_0xdd52bb['id']);return setRelationship(_0x12db2e,_0x1444ea,_0xdd52bb,_0xb3b1('0x62'));})[_0xb3b1('0x2d')](function(){return setRelationship(_0x12db2e,_0x2e422c,_0xdd52bb,'contacts');})[_0xb3b1('0x2d')](function(){return getServerInfo(_0x12db2e);})[_0xb3b1('0x2d')](function(_0x15488d){var _0x3fdfad=parseInt(_0x15488d['version'][_0xb3b1('0x63')](0x0));var _0x3da192=util[_0xb3b1('0x24')](_0xb3b1('0x64'),_0x4b1b3e[_0xb3b1('0x52')],_0xdd52bb['id']);if(_0x3fdfad>0x6){_0x3da192=util['format'](_0xb3b1('0x65'),_0x4b1b3e[_0xb3b1('0x52')],_0xdd52bb['id']);}logger[_0xb3b1('0xc')](_0xb3b1('0x58'),_0xb3b1('0x66'));emit(util[_0xb3b1('0x24')](_0xb3b1('0x67'),_0x481076[_0xb3b1('0xe')]),_0xb3b1('0x68'),{'uri':_0x3da192});})[_0xb3b1('0x69')](function(_0x3f285b){logger['error'](_0xb3b1('0x58'),JSON[_0xb3b1('0x22')](_0x3f285b));});};exports[_0xb3b1('0x6a')]=function(_0x2f5cbe,_0x458ba6,_0x3265ba,_0x55b58f,_0x1ab357,_0x57b199,_0x1b3551){var _0x1ca8b3,_0x291ec2,_0x2915fe,_0xde5831;_0x57b199[_0xb3b1('0x52')]=intUtil[_0xb3b1('0x53')](_0x57b199[_0xb3b1('0x52')]);_0x57b199[_0xb3b1('0x54')]=intUtil[_0xb3b1('0x53')](_0x57b199[_0xb3b1('0x54')]);def['uri']=util[_0xb3b1('0x24')]('%s/service/v4_1/rest.php',_0x57b199[_0xb3b1('0x52')]);if(_0x1b3551&&_0x1b3551[_0xb3b1('0x6b')]&&_0x1b3551[_0xb3b1('0x6b')]!==_0xb3b1('0x6c')){logger[_0xb3b1('0xc')]('[OUTBOUND]',_0xb3b1('0x59'));_0x458ba6[_0xb3b1('0x5c')]=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x57b199['serverUrl'],_0x458ba6['uniqueid'],md5(_0x458ba6[_0xb3b1('0x5b')]));}return getConnection(_0x57b199)[_0xb3b1('0x2d')](function(_0x3f86f1){_0xde5831=_0x3f86f1;return getUser(_0x57b199,_0x55b58f[_0xb3b1('0xe')],_0xde5831);})[_0xb3b1('0x2d')](function(_0xb71666){_0x1ca8b3=_0xb71666;logger[_0xb3b1('0xc')](_0xb3b1('0x5d'),_0x1ca8b3['id']);return getEndUser(_0x57b199,_0x458ba6[_0xb3b1('0x6d')],_0x458ba6[_0xb3b1('0x6e')],_0xde5831);})[_0xb3b1('0x2d')](function(_0x337644){_0x291ec2=_0x337644;logger['info'](_0xb3b1('0x5f'),_0x291ec2['id']);return getTicket(_0x57b199,_0x1ca8b3,_0x291ec2,_0x3265ba,_0x458ba6,_0x3265ba[_0xb3b1('0x60')],_0xde5831,_0xb3b1('0x6f'));})[_0xb3b1('0x2d')](function(_0x4f106c){_0x2915fe=_0x4f106c;logger[_0xb3b1('0xc')](_0xb3b1('0x70'));logger[_0xb3b1('0xc')](_0xb3b1('0x61'),_0x2915fe['id']);return setRelationship(_0xde5831,_0x1ca8b3,_0x2915fe,'users');})[_0xb3b1('0x2d')](function(){return setRelationship(_0xde5831,_0x291ec2,_0x2915fe,_0xb3b1('0x71'));})['then'](function(){return getServerInfo(_0xde5831);})[_0xb3b1('0x2d')](function(_0x27433c){var _0x247ca7=parseInt(_0x27433c[_0xb3b1('0x72')]['charAt'](0x0));var _0x5bf594=util[_0xb3b1('0x24')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x57b199[_0xb3b1('0x52')],_0x2915fe['id']);if(_0x247ca7>0x6){_0x5bf594=util[_0xb3b1('0x24')]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x57b199[_0xb3b1('0x52')],_0x2915fe['id']);}logger[_0xb3b1('0xc')](_0xb3b1('0x73'),_0xb3b1('0x66'));emit(util[_0xb3b1('0x24')](_0xb3b1('0x67'),_0x55b58f[_0xb3b1('0xe')]),_0xb3b1('0x68'),{'uri':_0x5bf594});})[_0xb3b1('0x69')](function(_0x24beff){logger[_0xb3b1('0x74')]('[OUTBOUND]',JSON[_0xb3b1('0x22')](_0x24beff));});};exports[_0xb3b1('0x75')]=function(_0x53a16a,_0xc56458,_0x5e6c53,_0x34e871,_0x5bb1a4,_0x1af285){var _0x366d9d,_0x30833b,_0x3cbfce,_0x6f0b3f;_0x1af285[_0xb3b1('0x52')]=intUtil[_0xb3b1('0x53')](_0x1af285['remoteUri']);_0x1af285['serverUrl']=intUtil['stripTrailingSlash'](_0x1af285[_0xb3b1('0x54')]);def[_0xb3b1('0x55')]=util[_0xb3b1('0x24')](_0xb3b1('0x56'),_0x1af285[_0xb3b1('0x52')]);if(_0x5bb1a4&&_0x5bb1a4[_0xb3b1('0x57')]){logger['info']('['+_0xc56458['lastevent'][_0xb3b1('0x76')]()+']','Recording\x20is\x20enabled!');_0xc56458['recordingURL']=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x1af285['serverUrl'],_0xc56458['uniqueid'],md5(_0xc56458[_0xb3b1('0x5b')]));}else{_0xc56458[_0xb3b1('0x5c')]='';}return getConnection(_0x1af285)[_0xb3b1('0x2d')](function(_0x54d00a){_0x6f0b3f=_0x54d00a;if(!_['isNil'](_0x34e871)){return getUser(_0x1af285,_0x34e871[_0xb3b1('0xe')],_0x6f0b3f);}else{return getUser(_0x1af285,null,_0x6f0b3f);}})[_0xb3b1('0x2d')](function(_0x37b916){_0x366d9d=_0x37b916;logger[_0xb3b1('0xc')](_0xb3b1('0x5d'),_0x366d9d['id']);return getEndUser(_0x1af285,_0xc56458[_0xb3b1('0x77')],_0xc56458[_0xb3b1('0x5e')],_0x6f0b3f);})['then'](function(_0x386b8c){_0x30833b=_0x386b8c;logger[_0xb3b1('0xc')](_0xb3b1('0x5f'),_0x30833b['id']);return getTicket(_0x1af285,_0x366d9d,_0x30833b,_0x5e6c53,_0xc56458,_0x5e6c53[_0xb3b1('0x60')],_0x6f0b3f,_0xb3b1('0x78'));})[_0xb3b1('0x2d')](function(_0xce8a01){_0x3cbfce=_0xce8a01;logger[_0xb3b1('0xc')]('Ticket\x20created!');logger[_0xb3b1('0xc')](_0xb3b1('0x61'),_0x3cbfce['id']);return setRelationship(_0x6f0b3f,_0x366d9d,_0x3cbfce,'users');})[_0xb3b1('0x2d')](function(){return setRelationship(_0x6f0b3f,_0x30833b,_0x3cbfce,_0xb3b1('0x71'));})['then'](function(){return getServerInfo(_0x6f0b3f);})[_0xb3b1('0x69')](function(_0x448ad6){logger['error']('['+_0xc56458['lastevent'][_0xb3b1('0x76')]()+']',JSON[_0xb3b1('0x22')](_0x448ad6));});};