Built motion from commit f861bcb808219e66da88ba48b61bddb35224a65e. Version 3.0.0...
[motion-next.git] / server / config / socketio.js
1 'use strict';const a1057_0x1c0f=['getVoiceQueues','getMailQueues','voice:outbound','user:%s','userProfileId','setMaxListeners','FaxInteractions','Agents','OpenchannelQueue','agent','user_has_whatsapp_interactions:remove','Trunks','connection','OpenchannelQueues','removeUserWhatsappInteractions','voice:inbound','CONNECTED','ivr','then','UserProfileResource','address','trunk:%s','534003domzBP','query','join','@mysqldb','MailInteractions','catch','Campaign','ChatQueue','SmsInteraction','push','campaign:%s:%s','6kQNDLI','handshake','494068xrJrGC','admin','getWhatsappQueues','length','telephone','VoiceQueues','name','%s:queue:%s','map','getFaxQueues','mail','user_has_sms_interactions:remove','getSmsQueues','autoAssociation','SmsQueues','socketIOConfig','ChatInteractions','42331dMRUEV','user_has_mail_interactions:remove','include','log','FaxQueue','print','Trunk','resourceId','1wNnDmE','findAll','remoteAddress','MailQueue','lodash','findOne','User','leave','WhatsappInteractions','Telephones','user','OpenchannelInteraction','WhatsappQueues','MailInteraction','VoiceQueue','SmsQueue','disconnect','FaxQueues','379327ujNFjX','format','request','MailQueues','62742NVSFGa','3sERvdE','emit','UserProfileSection','removeUserOpenchannelInteractions','telephone:%s','removeUserSmsInteractions','69882bPFCGg','user_has_fax_interactions:remove','sms','IvrCampaigns','user_has_openchannel_interactions:remove','removeUserChatInteractions','106937hMEPbC','removeUserMailInteractions','where','OpenchannelInteractions','WhatsappQueue','connectedAt','DISCONNECTED','nsp','openchannel','2ujGrOv','role'];const a1057_0x1d3f=function(_0x4e8783,_0x22e808){_0x4e8783=_0x4e8783-0x1be;let _0x1c0ff9=a1057_0x1c0f[_0x4e8783];return _0x1c0ff9;};const a1057_0x27da19=a1057_0x1d3f;(function(_0x2e3a48,_0x3ff0e0){const _0x25e563=a1057_0x1d3f;while(!![]){try{const _0x3950c0=parseInt(_0x25e563(0x225))+-parseInt(_0x25e563(0x1f1))+-parseInt(_0x25e563(0x1cc))*-parseInt(_0x25e563(0x200))+-parseInt(_0x25e563(0x1eb))*-parseInt(_0x25e563(0x1f7))+parseInt(_0x25e563(0x218))*-parseInt(_0x25e563(0x1d4))+parseInt(_0x25e563(0x1ea))*-parseInt(_0x25e563(0x223))+parseInt(_0x25e563(0x1e6));if(_0x3950c0===_0x3ff0e0)break;else _0x2e3a48['push'](_0x2e3a48['shift']());}catch(_0x4c302b){_0x2e3a48['push'](_0x2e3a48['shift']());}}}(a1057_0x1c0f,0x48e23));const _=require(a1057_0x27da19(0x1d8)),util=require('util'),{db}=require(a1057_0x27da19(0x21b)),{consoleLogger}=require('@utils/console-logger'),queryQueues={'attributes':['id','name'],'include':[{'as':a1057_0x27da19(0x209),'model':db['User'],'attributes':['id',a1057_0x27da19(0x1c1),a1057_0x27da19(0x201)],'raw':!![],'where':{'role':a1057_0x27da19(0x20b)},'required':![]}]},queryTelephones={'raw':!![],'attributes':['id','name'],'where':{'role':a1057_0x27da19(0x1bf)}},queryTrunks={'raw':!![],'attributes':['id',a1057_0x27da19(0x1c1)]},queryAgents={'raw':!![],'attributes':['id',a1057_0x27da19(0x1c1)],'where':{'role':a1057_0x27da19(0x20b)}},queryCampaigns={'raw':!![],'attributes':['id',a1057_0x27da19(0x1c1),'type'],'where':{'type':a1057_0x27da19(0x213)}};function getAssociatedResources(_0x1e9b04,_0x5742e5,_0xd92745){const _0x58daef=a1057_0x27da19;return db[_0x58daef(0x1ed)]['findOne']({'where':{'name':_0x1e9b04,'userProfileId':_0x5742e5},'raw':!![]})['then'](function(_0x5324d7){const _0x288b89=_0x58daef;if(_0x5324d7){if(_0x5324d7[_0x288b89(0x1c8)]){let _0xf5da0;switch(_0x1e9b04){case'VoiceQueues':case'ChatQueues':case'FaxQueues':case _0x288b89(0x1c9):case _0x288b89(0x1e9):case _0x288b89(0x20f):case _0x288b89(0x1e0):_0xf5da0=queryQueues;break;case _0x288b89(0x1dd):_0xf5da0=queryTelephones;break;case _0x288b89(0x20d):_0xf5da0=queryTrunks;break;case _0x288b89(0x1f4):_0xf5da0=queryCampaigns;break;default:break;}return _0xf5da0?db[_0xd92745]['findAll'](_0xf5da0):_0xf5da0;}else return db[_0x288b89(0x215)][_0x288b89(0x1d5)]({'attributes':[_0x288b89(0x1d3)],'where':{'sectionId':_0x5324d7['id']},'raw':!![]})['then'](function(_0xeb83cb){const _0x39b1d3=_0x288b89;if(_0xeb83cb){const _0x38be6c={'where':{'id':_[_0x39b1d3(0x1c3)](_0xeb83cb,'resourceId')},'raw':!![]};switch(_0xd92745){case _0x39b1d3(0x1da):_0x38be6c[_0x39b1d3(0x1f9)][_0x39b1d3(0x201)]=_0x39b1d3(0x1bf);break;case _0x39b1d3(0x21e):_0x38be6c[_0x39b1d3(0x1f9)]['type']=_0x39b1d3(0x213);break;}return db[_0xd92745][_0x39b1d3(0x1d5)](_0x38be6c);}else return[];});}else return[];})['then'](function(_0x52354c){return _0x52354c;});}function joinOrLeaveQueues(_0x7a9c1c,_0xb73f91,_0x11922a,_0x6518fe){const _0x2bb131=a1057_0x27da19;_0x7a9c1c[_0xb73f91](util[_0x2bb131(0x1e7)](_0x2bb131(0x1c2),_0x11922a,_0x6518fe['name']));if(_0x6518fe['Agents'])for(let _0x4f39ef=0x0;_0x4f39ef<_0x6518fe[_0x2bb131(0x209)][_0x2bb131(0x1be)];_0x4f39ef+=0x1){_0x7a9c1c[_0xb73f91](util[_0x2bb131(0x1e7)](_0x2bb131(0x205),_0x6518fe['Agents'][_0x4f39ef]['name']));}}function joinOrLeave(_0x1ba496,_0x2da371,_0x332795){const _0x5817a9=a1057_0x27da19;let _0x38d328;_0x1ba496[_0x5817a9(0x224)][_0x5817a9(0x219)]['id']&&db[_0x5817a9(0x1da)][_0x5817a9(0x1d9)]({'attributes':['id','name',_0x5817a9(0x201),_0x5817a9(0x206)],'where':{'id':_0x1ba496[_0x5817a9(0x224)][_0x5817a9(0x219)]['id']},'include':[{'model':db['ChatInteraction'],'as':_0x5817a9(0x1cb),'attributes':['id'],'raw':!![]},{'model':db[_0x5817a9(0x1e1)],'as':_0x5817a9(0x21c),'attributes':['id'],'raw':!![]},{'model':db['FaxInteraction'],'as':_0x5817a9(0x208),'attributes':['id'],'raw':!![]},{'model':db[_0x5817a9(0x220)],'as':'SmsInteractions','attributes':['id'],'raw':!![]},{'model':db[_0x5817a9(0x1df)],'as':_0x5817a9(0x1fa),'attributes':['id'],'raw':!![]},{'model':db['WhatsappInteraction'],'as':'WhatsappInteractions','attributes':['id'],'raw':!![]}]})[_0x5817a9(0x214)](function(_0x38cb67){const _0x596937=_0x5817a9;if(_0x38cb67){_0x38d328=_0x38cb67,_0x1ba496[_0x2da371](util[_0x596937(0x1e7)](_0x596937(0x205),_0x38cb67['name']));const _0x45d397=[];switch(_0x38cb67[_0x596937(0x201)]){case _0x596937(0x226):_0x1ba496[_0x2da371](_0x596937(0x211)),_0x1ba496[_0x2da371](_0x596937(0x204));typeof queryQueues['include']!=='undefined'&&delete queryQueues[_0x596937(0x1ce)];_0x45d397[_0x596937(0x221)](db[_0x596937(0x1e2)][_0x596937(0x1d5)](queryQueues)),_0x45d397[_0x596937(0x221)](db['ChatQueue']['findAll'](queryQueues)),_0x45d397[_0x596937(0x221)](db[_0x596937(0x1d0)][_0x596937(0x1d5)](queryQueues)),_0x45d397[_0x596937(0x221)](db[_0x596937(0x1e3)][_0x596937(0x1d5)](queryQueues)),_0x45d397[_0x596937(0x221)](db[_0x596937(0x1d7)]['findAll'](queryQueues)),_0x45d397[_0x596937(0x221)](db['OpenchannelQueue'][_0x596937(0x1d5)](queryQueues)),_0x45d397['push'](db[_0x596937(0x1fb)]['findAll'](queryQueues)),_0x45d397['push'](db['User'][_0x596937(0x1d5)](queryTelephones)),_0x45d397['push'](db['Trunk'][_0x596937(0x1d5)](queryTrunks)),_0x45d397[_0x596937(0x221)](db[_0x596937(0x21e)][_0x596937(0x1d5)](queryCampaigns)),_0x45d397[_0x596937(0x221)](db[_0x596937(0x1da)][_0x596937(0x1d5)](queryAgents));break;case _0x596937(0x1de):_0x1ba496[_0x2da371]('voice:inbound'),_0x1ba496[_0x2da371](_0x596937(0x204)),_0x45d397[_0x596937(0x221)](getAssociatedResources(_0x596937(0x1c0),_0x38cb67[_0x596937(0x206)],_0x596937(0x1e2))),_0x45d397[_0x596937(0x221)](getAssociatedResources('ChatQueues',_0x38cb67[_0x596937(0x206)],_0x596937(0x21f))),_0x45d397[_0x596937(0x221)](getAssociatedResources(_0x596937(0x1e5),_0x38cb67['userProfileId'],_0x596937(0x1d0))),_0x45d397[_0x596937(0x221)](getAssociatedResources('SmsQueues',_0x38cb67[_0x596937(0x206)],'SmsQueue')),_0x45d397[_0x596937(0x221)](getAssociatedResources(_0x596937(0x1e9),_0x38cb67[_0x596937(0x206)],_0x596937(0x1d7))),_0x45d397[_0x596937(0x221)](getAssociatedResources('OpenchannelQueues',_0x38cb67[_0x596937(0x206)],_0x596937(0x20a))),_0x45d397[_0x596937(0x221)](getAssociatedResources(_0x596937(0x1e0),_0x38cb67[_0x596937(0x206)],_0x596937(0x1fb))),_0x45d397[_0x596937(0x221)](getAssociatedResources(_0x596937(0x1dd),_0x38cb67['userProfileId'],'User')),_0x45d397['push'](getAssociatedResources(_0x596937(0x20d),_0x38cb67[_0x596937(0x206)],_0x596937(0x1d2))),_0x45d397[_0x596937(0x221)](getAssociatedResources(_0x596937(0x1f4),_0x38cb67[_0x596937(0x206)],_0x596937(0x21e))),_0x45d397[_0x596937(0x221)](db[_0x596937(0x1da)][_0x596937(0x1d5)](queryAgents));break;case _0x596937(0x20b):_0x1ba496[_0x2da371](_0x596937(0x211)),_0x1ba496[_0x2da371](_0x596937(0x204)),_0x45d397[_0x596937(0x221)](_0x38cb67[_0x596937(0x202)]({'attributes':['id',_0x596937(0x1c1)]})),_0x45d397[_0x596937(0x221)](_0x38cb67['getChatQueues']({'attributes':['id',_0x596937(0x1c1)]})),_0x45d397[_0x596937(0x221)](_0x38cb67[_0x596937(0x1c4)]({'attributes':['id',_0x596937(0x1c1)]})),_0x45d397['push'](_0x38cb67[_0x596937(0x1c7)]({'attributes':['id',_0x596937(0x1c1)]})),_0x45d397[_0x596937(0x221)](_0x38cb67[_0x596937(0x203)]({'attributes':['id','name']})),_0x45d397[_0x596937(0x221)](_0x38cb67['getOpenchannelQueues']({'attributes':['id',_0x596937(0x1c1)]})),_0x45d397['push'](_0x38cb67[_0x596937(0x227)]({'attributes':['id',_0x596937(0x1c1)]}));break;}return Promise['all'](_0x45d397);}})[_0x5817a9(0x214)](function(_0x1edbdb){const _0x567134=_0x5817a9;if(_0x1edbdb&&_0x1edbdb[_0x567134(0x1be)])for(let _0x43d7ef=0x0;_0x43d7ef<_0x1edbdb['length'];_0x43d7ef+=0x1){for(let _0x2eca96=0x0;_0x2eca96<_0x1edbdb[_0x43d7ef][_0x567134(0x1be)];_0x2eca96+=0x1){switch(_0x43d7ef){case 0x0:joinOrLeaveQueues(_0x1ba496,_0x2da371,'voice',_0x1edbdb[_0x43d7ef][_0x2eca96]);break;case 0x1:joinOrLeaveQueues(_0x1ba496,_0x2da371,'chat',_0x1edbdb[_0x43d7ef][_0x2eca96]);break;case 0x2:joinOrLeaveQueues(_0x1ba496,_0x2da371,'fax',_0x1edbdb[_0x43d7ef][_0x2eca96]);break;case 0x3:joinOrLeaveQueues(_0x1ba496,_0x2da371,_0x567134(0x1f3),_0x1edbdb[_0x43d7ef][_0x2eca96]);break;case 0x4:joinOrLeaveQueues(_0x1ba496,_0x2da371,_0x567134(0x1c5),_0x1edbdb[_0x43d7ef][_0x2eca96]);break;case 0x5:joinOrLeaveQueues(_0x1ba496,_0x2da371,_0x567134(0x1ff),_0x1edbdb[_0x43d7ef][_0x2eca96]);break;case 0x6:joinOrLeaveQueues(_0x1ba496,_0x2da371,'whatsapp',_0x1edbdb[_0x43d7ef][_0x2eca96]);break;case 0x7:_0x38d328[_0x567134(0x201)]!==_0x567134(0x20b)&&_0x1ba496[_0x2da371](util[_0x567134(0x1e7)](_0x567134(0x1ef),_0x1edbdb[_0x43d7ef][_0x2eca96]['name']));break;case 0x8:_0x38d328[_0x567134(0x201)]!=='agent'&&_0x1ba496[_0x2da371](util['format'](_0x567134(0x217),_0x1edbdb[_0x43d7ef][_0x2eca96][_0x567134(0x1c1)]));break;case 0x9:_0x38d328[_0x567134(0x201)]!==_0x567134(0x20b)&&_0x1ba496[_0x2da371](util['format'](_0x567134(0x222),_0x1edbdb[_0x43d7ef][_0x2eca96]['type'],_0x1edbdb[_0x43d7ef][_0x2eca96][_0x567134(0x1c1)]));break;case 0xa:_0x1ba496[_0x2da371](util['format']('user:%s',_0x1edbdb[_0x43d7ef][_0x2eca96]['name']));break;}}}})[_0x5817a9(0x214)](function(){const _0x3c6351=_0x5817a9;if(_0x2da371==='leave'){const _0x1aac7e=_[_0x3c6351(0x1c3)](_0x38d328['ChatInteractions'],'id');return _0x38d328[_0x3c6351(0x1f6)](_0x1aac7e)[_0x3c6351(0x214)](function(){const _0x1fe41f=_0x3c6351;for(let _0x276e6c=0x0;_0x276e6c<_0x1aac7e[_0x1fe41f(0x1be)];_0x276e6c+=0x1){_0x332795[_0x1fe41f(0x1ec)]('user_has_chat_interactions:remove',{'ChatInteractionId':Number(_0x1aac7e[_0x276e6c]),'UserId':Number(_0x38d328['id'])});}});}})['then'](function(){const _0x20262f=_0x5817a9;if(_0x2da371==='leave'){const _0x29e504=_[_0x20262f(0x1c3)](_0x38d328[_0x20262f(0x21c)],'id');return _0x38d328[_0x20262f(0x1f8)](_0x29e504)[_0x20262f(0x214)](function(){const _0x364038=_0x20262f;for(let _0x36b8d9=0x0;_0x36b8d9<_0x29e504[_0x364038(0x1be)];_0x36b8d9+=0x1){_0x332795[_0x364038(0x1ec)](_0x364038(0x1cd),{'MailInteractionId':Number(_0x29e504[_0x36b8d9]),'UserId':Number(_0x38d328['id'])});}});}})[_0x5817a9(0x214)](function(){const _0x48f947=_0x5817a9;if(_0x2da371===_0x48f947(0x1db)){const _0xcd2be5=_[_0x48f947(0x1c3)](_0x38d328['FaxInteractions'],'id');return _0x38d328['removeUserFaxInteractions'](_0xcd2be5)['then'](function(){const _0xe6ec97=_0x48f947;for(let _0x66c380=0x0;_0x66c380<_0xcd2be5['length'];_0x66c380+=0x1){_0x332795[_0xe6ec97(0x1ec)](_0xe6ec97(0x1f2),{'FaxInteractionId':Number(_0xcd2be5[_0x66c380]),'UserId':Number(_0x38d328['id'])});}});}})['then'](function(){const _0x83da3=_0x5817a9;if(_0x2da371===_0x83da3(0x1db)){const _0x1543d8=_[_0x83da3(0x1c3)](_0x38d328['SmsInteractions'],'id');return _0x38d328[_0x83da3(0x1f0)](_0x1543d8)[_0x83da3(0x214)](function(){const _0x43d827=_0x83da3;for(let _0x5944ef=0x0;_0x5944ef<_0x1543d8[_0x43d827(0x1be)];_0x5944ef+=0x1){_0x332795['emit'](_0x43d827(0x1c6),{'SmsInteractionId':Number(_0x1543d8[_0x5944ef]),'UserId':Number(_0x38d328['id'])});}});}})[_0x5817a9(0x214)](function(){const _0x4a366c=_0x5817a9;if(_0x2da371==='leave'){const _0x29543f=_[_0x4a366c(0x1c3)](_0x38d328['OpenchannelInteractions'],'id');return _0x38d328[_0x4a366c(0x1ee)](_0x29543f)[_0x4a366c(0x214)](function(){const _0x3c7099=_0x4a366c;for(let _0x35f3ba=0x0;_0x35f3ba<_0x29543f[_0x3c7099(0x1be)];_0x35f3ba+=0x1){_0x332795[_0x3c7099(0x1ec)](_0x3c7099(0x1f5),{'OpenchannelInteractionId':Number(_0x29543f[_0x35f3ba]),'UserId':Number(_0x38d328['id'])});}});}})[_0x5817a9(0x214)](function(){const _0x17a625=_0x5817a9;if(_0x2da371==='leave'){const _0x2fc936=_[_0x17a625(0x1c3)](_0x38d328[_0x17a625(0x1dc)],'id');return _0x38d328[_0x17a625(0x210)](_0x2fc936)['then'](function(){const _0x495259=_0x17a625;for(let _0x3ad0d1=0x0;_0x3ad0d1<_0x2fc936[_0x495259(0x1be)];_0x3ad0d1+=0x1){_0x332795['emit'](_0x495259(0x20c),{'WhatsappInteractionId':Number(_0x2fc936[_0x3ad0d1]),'UserId':Number(_0x38d328['id'])});}});}})[_0x5817a9(0x21d)](function(_0x4465bf){const _0x11a72c=_0x5817a9;_0x1ba496[_0x11a72c(0x1cf)](_0x4465bf);});}function onDisconnect(_0x5846de,_0x3f8636){const _0x14bd56=a1057_0x27da19;joinOrLeave(_0x5846de,_0x14bd56(0x1db),_0x3f8636);}function onConnect(_0x31368c){const _0xa0b609=a1057_0x27da19;joinOrLeave(_0x31368c,_0xa0b609(0x21a));}function socketIOConfig(_0x56b222){const _0x2f9cc9=a1057_0x27da19;_0x56b222['on'](_0x2f9cc9(0x20e),function(_0x931e95){const _0x377f68=_0x2f9cc9;_0x931e95[_0x377f68(0x207)](0x0),_0x931e95[_0x377f68(0x216)]=_0x931e95[_0x377f68(0x1e8)][_0x377f68(0x20e)][_0x377f68(0x1d6)]+':'+_0x931e95['request'][_0x377f68(0x20e)]['remotePort'],_0x931e95[_0x377f68(0x1fc)]=new Date(),_0x931e95['log']=function(_0x2b1a03){const _0x2057a9=_0x377f68;consoleLogger[_0x2057a9(0x1d1)]('SocketIO\x20'+_0x931e95[_0x2057a9(0x1fe)][_0x2057a9(0x1c1)]+'['+_0x931e95['address']+']',_0x2b1a03);},_0x931e95['on'](_0x377f68(0x1e4),function(){const _0x1772e3=_0x377f68;onDisconnect(_0x931e95,_0x56b222),_0x931e95[_0x1772e3(0x1cf)](_0x1772e3(0x1fd));}),onConnect(_0x931e95),_0x931e95['log'](_0x377f68(0x212));});}exports[a1057_0x27da19(0x1ca)]=socketIOConfig,exports['default']=socketIOConfig;