dc779e897a8737ec2d70148cca0d6a4c7a94484e
[motion-next.git] / server / services / routing / server / applications / queue.js
1 const a1208_0x2725=['QueueReport','length','close','../../../../rediscache','log','pick','Queues','[%s][QUEUE]\x20queue\x20not\x20found\x20%s','strategy','../../rpc/smsQueueReport','./strategy','[%s][STOP:QUEUE][NAME:%s]','MessageId','%sQueuesWaitingInteractions','[%s][QUEUE]\x20%s','number','timeout\x20is\x20a\x20number','chat','create','accepted','queue','../../rpc/faxQueueReport','validate','complete','map','consequence','clone','rrmemory','waiting','remove','seq-queue','format','update','join','catch','interaction','toLowerCase','util','queue_id','update\x20queue\x20report','list','stop','joinAt','find','save','info','YYYY-MM-DD\x20HH:mm:ss','../../../../config/logger','channel','contact','account','create\x20queue\x20report','body','qtimeout','name','error','upperFirst','WebsiteId','../../rpc/mailQueueReport','[%s][QUEUE]\x20APPLICATION\x20END','[%s][START:QUEUE][NAME:%s]','moment','next','timeout','../../rpc/chatQueueReport','[%s][QUEUE]\x20ROUTING\x20STOPPED','message','emit','rules','from','../../rpc/whatsappQueueReport','createQueue','string','end','QueueId'];(function(_0xcef720,_0x27253b){const _0x226c55=function(_0x59162b){while(--_0x59162b){_0xcef720['push'](_0xcef720['shift']());}};_0x226c55(++_0x27253b);}(a1208_0x2725,0xcd));const a1208_0x226c=function(_0xcef720,_0x27253b){_0xcef720=_0xcef720-0x0;let _0x226c55=a1208_0x2725[_0xcef720];return _0x226c55;};const _0x43c3c8=a1208_0x226c;'use strict';const schema=require(_0x43c3c8('0x2a')),_=require('lodash'),util=require(_0x43c3c8('0x39')),seqqueue=require(_0x43c3c8('0x32')),moment=require(_0x43c3c8('0x6')),logger=require(_0x43c3c8('0x43'))('routing'),strategy=require(_0x43c3c8('0x1e')),{getSocket}=require(_0x43c3c8('0x17')),io=getSocket(),attributes=['id','queue_id',_0x43c3c8('0x46'),_0x43c3c8('0x28'),'from',_0x43c3c8('0x3e')];function emit(_0x59162b,_0x54ce0e,_0x3f8594){const _0x4556fa=_0x43c3c8;io['to'](_0x59162b)[_0x4556fa('0xc')](_0x54ce0e,_0x3f8594);}function emitChannelQueueInteraction(_0x5f5c9a,_0x3d6d2d,_0x13b239,_0x547f64,_0x308819,_0x36cd03,_0x33bf1a,_0x4c4fbd){const _0x44c9f7=_0x43c3c8,_0x4a8d41=_[_0x44c9f7('0x2e')](_0x13b239);_0x4a8d41[_0x44c9f7('0x3a')]=_0x4c4fbd,_0x4a8d41['queue']=_0x3d6d2d,_0x4a8d41[_0x44c9f7('0x46')]=_0x547f64,_0x4a8d41['id']=_0x308819,_0x36cd03?_0x33bf1a[util[_0x44c9f7('0x33')](_0x44c9f7('0x21'),_0x5f5c9a)][_0x308819]=_[_0x44c9f7('0x19')](_0x4a8d41,attributes):delete _0x33bf1a[util[_0x44c9f7('0x33')](_0x44c9f7('0x21'),_0x5f5c9a)][_0x308819],emit(util['format']('%s:queue:%s',_0x5f5c9a,_0x3d6d2d),util[_0x44c9f7('0x33')]('%s_queue_waiting_interaction:%s',_0x5f5c9a,_0x36cd03?_0x44c9f7('0x40'):_0x44c9f7('0x31')),_['pick'](_0x4a8d41,attributes));}const rpc={'openchannelQueueReport':require('../../rpc/openchannelQueueReport'),'mailQueueReport':require(_0x43c3c8('0x3')),'chatQueueReport':require(_0x43c3c8('0x9')),'smsQueueReport':require(_0x43c3c8('0x1d')),'faxQueueReport':require(_0x43c3c8('0x29')),'whatsappQueueReport':require(_0x43c3c8('0xf'))},queue=schema({'name':{'type':_0x43c3c8('0x11'),'required':!![],'message':'name\x20is\x20a\x20string\x20and\x20it\x20is\x20required'},'timeout':{'type':_0x43c3c8('0x23'),'message':_0x43c3c8('0x24')}});function startRouting(_0x2d197e,_0x407e25,_0x31dcda,_0x5ce0b5){const _0x1ad900=_0x43c3c8;if(_0x2d197e&&_0x407e25&&_0x31dcda){_0x407e25[_0x1ad900('0x30')]+=0x1;const _0x183615={'uniqueid':_0x2d197e,'from':_0x31dcda[_0x1ad900('0x48')]?_0x31dcda[_0x1ad900('0x48')][_0x1ad900('0xe')]:'','joinAt':moment()[_0x1ad900('0x33')]('YYYY-MM-DD\x20HH:mm:ss'),'ContactId':_0x31dcda[_0x1ad900('0x45')]?_0x31dcda[_0x1ad900('0x45')]['id']:null,'ListId':_0x31dcda['list']?_0x31dcda[_0x1ad900('0x3c')]['id']:null};_0x183615[_['upperFirst'](_0x31dcda[_0x1ad900('0x44')])+_0x1ad900('0x13')]=_0x407e25['id']||null,_0x183615[_[_0x1ad900('0x1')](_0x31dcda['channel'])+'InteractionId']=_0x31dcda[_0x1ad900('0x37')]?_0x31dcda[_0x1ad900('0x37')]['id']:null,_0x183615[_[_0x1ad900('0x1')](_0x31dcda['channel'])+_0x1ad900('0x20')]=_0x31dcda[_0x1ad900('0xb')]?_0x31dcda[_0x1ad900('0xb')]['id']:null,_0x183615[_[_0x1ad900('0x1')](_0x31dcda[_0x1ad900('0x44')])+(_0x31dcda[_0x1ad900('0x44')]!==_0x1ad900('0x25')?'AccountId':_0x1ad900('0x2'))]=_0x31dcda['account']?_0x31dcda[_0x1ad900('0x46')]['id']:null,logger[_0x1ad900('0x41')](util['format'](_0x1ad900('0x5'),_0x2d197e,_0x407e25['name'])),emitChannelQueueInteraction(_0x31dcda[_0x1ad900('0x44')],_0x407e25[_0x1ad900('0x4a')],_0x183615,_0x31dcda['account']['name'],_0x31dcda[_0x1ad900('0xb')]['id'],!![],_0x5ce0b5,_0x407e25['id']);if(rpc[_0x31dcda[_0x1ad900('0x44')]+_0x1ad900('0x14')])return rpc[_0x31dcda[_0x1ad900('0x44')]+'QueueReport'][_0x1ad900('0x26')](_0x183615)['catch'](function(){const _0x401cc0=_0x1ad900;logger['error'](_0x401cc0('0x47'));});}}function stopRouting(_0x5c61b9,_0x5c2e1a,_0x290473,_0x44a411){const _0x10ca1b=_0x43c3c8;if(_0x5c61b9&&_0x5c2e1a){_0x5c2e1a[_0x10ca1b('0x30')]-=0x1;const _0x28626e={'leaveAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'acceptAt':moment()[_0x10ca1b('0x33')](_0x10ca1b('0x42')),'reason':_0x10ca1b('0x27')};logger[_0x10ca1b('0x41')](util[_0x10ca1b('0x33')](_0x10ca1b('0x1f'),_0x5c61b9,_0x5c2e1a[_0x10ca1b('0x4a')])),emitChannelQueueInteraction(_0x290473[_0x10ca1b('0x44')],_0x5c2e1a[_0x10ca1b('0x4a')],_0x290473['body'],_0x290473['account']['name'],_0x290473[_0x10ca1b('0xb')]['id'],![],_0x44a411,_0x5c2e1a['id']);if(rpc[_0x290473[_0x10ca1b('0x44')]+'QueueReport'])return rpc[_0x290473['channel']+_0x10ca1b('0x14')][_0x10ca1b('0x34')](_0x5c61b9,_0x28626e)[_0x10ca1b('0x36')](function(){const _0x50251f=_0x10ca1b;logger[_0x50251f('0x0')](_0x50251f('0x3b'));});}}function endRouting(_0x4a5716,_0xe813aa,_0x22cfda,_0x58b74){const _0x364bde=_0x43c3c8;if(_0x4a5716&&_0xe813aa){_0xe813aa[_0x364bde('0x30')]-=0x1;const _0x230cd4={'leaveAt':moment()[_0x364bde('0x33')](_0x364bde('0x42')),'exitAt':moment()[_0x364bde('0x33')](_0x364bde('0x42')),'reason':_0x364bde('0x8')};logger['info'](util[_0x364bde('0x33')]('[%s][END:QUEUE][NAME:%s]',_0x4a5716,_0xe813aa['name'])),emitChannelQueueInteraction(_0x22cfda[_0x364bde('0x44')],_0xe813aa['name'],_0x22cfda[_0x364bde('0x48')],_0x22cfda[_0x364bde('0x46')][_0x364bde('0x4a')],_0x22cfda[_0x364bde('0xb')]['id'],![],_0x58b74);if(rpc[_0x22cfda[_0x364bde('0x44')]+_0x364bde('0x14')])return rpc[_0x22cfda[_0x364bde('0x44')]+_0x364bde('0x14')]['update'](_0x4a5716,_0x230cd4)[_0x364bde('0x36')](function(){const _0x5ede83=_0x364bde;logger[_0x5ede83('0x0')]('update\x20queue\x20report');});}}function handleFindQueue(_0x2569ea){return function(_0x203086){const _0x36309d=a1208_0x226c;return _0x203086[_0x36309d('0x4a')][_0x36309d('0x38')]()===_0x2569ea[_0x36309d('0x38')]();};}exports[_0x43c3c8('0x2d')]=function(_0x4a8cf4,_0x42003f,_0x30f7b5,_0xb92b0f){return function(_0x2a4bb7){const _0x28e826=a1208_0x226c;try{const _0x36721e={'name':_0x42003f[0x0],'timeout':_0x42003f[0x1]},_0xfc5e0d=queue['validate'](_0x36721e,{'typecast':!![]});if(_0xfc5e0d[_0x28e826('0x15')])logger[_0x28e826('0x0')](_0x28e826('0x22'),_0x4a8cf4,_[_0x28e826('0x2c')](_0xfc5e0d,_0x28e826('0xb'))[_0x28e826('0x35')](',\x20')),_0x2a4bb7[_0x28e826('0x3d')]();else{const _0x1c4cbc=_[_0x28e826('0x3f')](_0x30f7b5[_0xb92b0f['channel']+_0x28e826('0x1a')],handleFindQueue(_0x36721e[_0x28e826('0x4a')]));if(_0x1c4cbc){startRouting(_0x4a8cf4,_0x1c4cbc,_0xb92b0f,_0x30f7b5);const _0x6ea50e=(_0x1c4cbc['timeout']||0xa)*0x3e8;let _0x304a6b=(_0x36721e[_0x28e826('0x8')]||0x14)*0x3e8,_0x4c1f74;_0x6ea50e>_0x304a6b&&(_0x304a6b=_0x6ea50e);const _0x1dc7cf=seqqueue[_0x28e826('0x10')](_0x6ea50e);_0x1dc7cf['id']=_0x4a8cf4,_0x1dc7cf['atimeout']=_0x6ea50e,_0x1dc7cf[_0x28e826('0x49')]=_0x304a6b,_0x1dc7cf[_0x28e826('0x44')]=_0xb92b0f[_0x28e826('0x44')],_0x30f7b5[_0x28e826('0xd')][_0x4a8cf4]['on'](_0x28e826('0x12'),function(){const _0x542eea=_0x28e826;logger[_0x542eea('0x41')](_0x542eea('0xa'),_0x4a8cf4),stopRouting(_0x4a8cf4,_0x1c4cbc,_0xb92b0f,_0x30f7b5),clearTimeout(_0x4c1f74),_0x4c1f74=undefined,_0x1dc7cf[_0x542eea('0x16')](!![]),_0x30f7b5[_0x542eea('0xd')][_0x4a8cf4]&&delete _0x30f7b5['rules'][_0x4a8cf4],_0x2a4bb7[_0x542eea('0x3d')]();}),_0x30f7b5[_0x28e826('0xd')][_0x4a8cf4]['on'](_0x28e826('0x2b'),function(){const _0x97ec92=_0x28e826;_0x30f7b5[_0x97ec92('0xd')][_0x4a8cf4]&&delete _0x30f7b5[_0x97ec92('0xd')][_0x4a8cf4];}),_0x4c1f74=setTimeout(function(){const _0x357ec6=_0x28e826;logger[_0x357ec6('0x41')](_0x357ec6('0x4'),_0x4a8cf4),endRouting(_0x4a8cf4,_0x1c4cbc,_0xb92b0f,_0x30f7b5),clearTimeout(_0x4c1f74),_0x1dc7cf['close'](!![]),_0x2a4bb7[_0x357ec6('0x7')]();},_0x304a6b);switch(_0x1c4cbc[_0x28e826('0x1c')]){case _0x28e826('0x2f'):strategy[_0x28e826('0x2f')](_0x1dc7cf,_0x1c4cbc,_0x30f7b5,_0xb92b0f);break;default:strategy['beepall'](_0x1dc7cf,_0x1c4cbc,_0x30f7b5,_0xb92b0f);}}else logger[_0x28e826('0x0')](_0x28e826('0x1b'),_0x4a8cf4,_0x36721e['name']),_0x2a4bb7[_0x28e826('0x3d')]();}}catch(_0x575ff9){console[_0x28e826('0x18')](_0x575ff9),logger[_0x28e826('0x0')](_0x28e826('0x22'),_0x4a8cf4,_0x575ff9['stack']),_0x2a4bb7[_0x28e826('0x3d')]();}};};