5810b202175b755a5b1ba02d9b0623ad71ddb834
[motion2.git] / server / api / openchannelQueue / openchannelQueue.controller.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 _0xc552=['OpenchannelQueueId','filter','map','findAndCountAll','UserId','openchannelPause','createdAt','format','%s/%s','SIP','getTeams','addTeams','ids','Team','online','voicePause','interface','flatMap','sequelize','transaction','findOrCreate','emit','removeTeams','Agents','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','compact','value','isEmpty','removeAgents','forEach','addAgents','omit','spread','userOpenchannelQueue:save','isArray','userOpenchannelQueue:remove','User','order','getAgents','bluebird','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','sendStatus','end','status','offset','undefined','limit','count','json','update','then','get','OpenchannelQueues','UserProfileResource','error','stack','name','send','index','OpenchannelQueue','rawAttributes','type','key','getOptions','where','include','query','findAll','rows','catch','show','params','model','keys','intersection','attributes','fields','length','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','describe','getMembers','findOne','UserOpenchannelQueue','hasOwnProperty','nolimit','sort','pick','filters'];(function(_0x5608a3,_0x5b33c5){var _0x1ed50a=function(_0x959171){while(--_0x959171){_0x5608a3['push'](_0x5608a3['shift']());}};_0x1ed50a(++_0x5b33c5);}(_0xc552,0x1ad));var _0x2c55=function(_0x2c699e,_0x5e9d6c){_0x2c699e=_0x2c699e-0x0;var _0x5844e3=_0xc552[_0x2c699e];return _0x5844e3;};'use strict';var BPromise=require(_0x2c55('0x0'));var util=require('util');var _=require(_0x2c55('0x1'));var squel=require('squel');var Redis=require(_0x2c55('0x2'));var qs=require(_0x2c55('0x3'));var logger=require(_0x2c55('0x4'))(_0x2c55('0x5'));var config=require(_0x2c55('0x6'));var db=require('../../mysqldb')['db'];config[_0x2c55('0x7')]=_[_0x2c55('0x8')](config[_0x2c55('0x7')],{'host':_0x2c55('0x9'),'port':0x18eb});var socket=require(_0x2c55('0xa'))(new Redis(config[_0x2c55('0x7')]));require('./openchannelQueue.socket')[_0x2c55('0xb')](socket);function respondWithStatusCode(_0x241c11,_0x181006){_0x181006=_0x181006||0xcc;return function(_0x5b2f1b){if(_0x5b2f1b){return _0x241c11[_0x2c55('0xc')](_0x181006);}return _0x241c11['status'](_0x181006)[_0x2c55('0xd')]();};}function respondWithResult(_0x36e597,_0x29981d){_0x29981d=_0x29981d||0xc8;return function(_0x1b39b6){if(_0x1b39b6){return _0x36e597[_0x2c55('0xe')](_0x29981d)['json'](_0x1b39b6);}};}function respondWithFilteredResult(_0x731362,_0x29dfa3){return function(_0x69c252){if(_0x69c252){var _0x21800c=typeof _0x29dfa3[_0x2c55('0xf')]===_0x2c55('0x10')&&typeof _0x29dfa3[_0x2c55('0x11')]===_0x2c55('0x10');var _0x2f1cf2=_0x69c252['count'];var _0x7fbd76=_0x21800c?0x0:_0x29dfa3[_0x2c55('0xf')];var _0x9555c=_0x21800c?_0x69c252[_0x2c55('0x12')]:_0x29dfa3[_0x2c55('0xf')]+_0x29dfa3[_0x2c55('0x11')];var _0x3379eb;if(_0x9555c>=_0x2f1cf2){_0x9555c=_0x2f1cf2;_0x3379eb=0xc8;}else{_0x3379eb=0xce;}_0x731362[_0x2c55('0xe')](_0x3379eb);return _0x731362['set']('Content-Range',_0x7fbd76+'-'+_0x9555c+'/'+_0x2f1cf2)[_0x2c55('0x13')](_0x69c252);}return null;};}function saveUpdates(_0x3f448d){return function(_0x3f8532){if(_0x3f8532){return _0x3f8532[_0x2c55('0x14')](_0x3f448d)[_0x2c55('0x15')](function(_0x7a4506){return _0x7a4506;});}return null;};}function removeEntity(_0x544cbb){return function(_0x399dd8){if(_0x399dd8){return _0x399dd8['destroy']()[_0x2c55('0x15')](function(){var _0x56fca1=_0x399dd8[_0x2c55('0x16')]({'plain':!![]});var _0x1f7889=_0x2c55('0x17');return db[_0x2c55('0x18')]['destroy']({'where':{'type':_0x1f7889,'resourceId':_0x56fca1['id']}})[_0x2c55('0x15')](function(){return _0x399dd8;});})['then'](function(){_0x544cbb[_0x2c55('0xe')](0xcc)['end']();});}};}function handleEntityNotFound(_0xaf61ec){return function(_0x44e995){if(!_0x44e995){_0xaf61ec[_0x2c55('0xc')](0x194);}return _0x44e995;};}function handleError(_0xfc2a96,_0x163da1){_0x163da1=_0x163da1||0x1f4;return function(_0x24348e){logger[_0x2c55('0x19')](_0x24348e[_0x2c55('0x1a')]);if(_0x24348e[_0x2c55('0x1b')]){delete _0x24348e[_0x2c55('0x1b')];}_0xfc2a96[_0x2c55('0xe')](_0x163da1)[_0x2c55('0x1c')](_0x24348e);};}exports[_0x2c55('0x1d')]=function(_0x1d19e6,_0x3b7d7){var _0x2e0316={};var _0x79ac39={'count':0x0,'rows':[]};var _0x30c896=_['map'](db[_0x2c55('0x1e')][_0x2c55('0x1f')],function(_0x5a7aba){return{'name':_0x5a7aba['fieldName'],'type':_0x5a7aba[_0x2c55('0x20')][_0x2c55('0x21')]};});_0x2e0316=qs[_0x2c55('0x22')](_0x30c896,_0x1d19e6);var _0x2ff873={'where':_0x2e0316[_0x2c55('0x23')]};return db[_0x2c55('0x1e')]['count'](_0x2ff873)['then'](function(_0x1c5e84){_0x79ac39[_0x2c55('0x12')]=_0x1c5e84;_0x2e0316['include']=qs[_0x2c55('0x24')](_0x1d19e6[_0x2c55('0x25')]);return db[_0x2c55('0x1e')][_0x2c55('0x26')](_0x2e0316);})[_0x2c55('0x15')](function(_0x2d60e0){_0x79ac39[_0x2c55('0x27')]=_0x2d60e0;return _0x79ac39;})[_0x2c55('0x15')](respondWithFilteredResult(_0x3b7d7,_0x2e0316))[_0x2c55('0x28')](handleError(_0x3b7d7,null));};exports[_0x2c55('0x29')]=function(_0x2c6d3e,_0x519b4a){var _0xfed50e={'raw':!![],'where':{'id':_0x2c6d3e[_0x2c55('0x2a')]['id']}},_0x2db967={};_0x2db967[_0x2c55('0x2b')]=_[_0x2c55('0x2c')](db[_0x2c55('0x1e')][_0x2c55('0x1f')]);_0x2db967[_0x2c55('0x25')]=_[_0x2c55('0x2c')](_0x2c6d3e[_0x2c55('0x25')]);_0x2db967['filters']=_[_0x2c55('0x2d')](_0x2db967['model'],_0x2db967[_0x2c55('0x25')]);_0xfed50e[_0x2c55('0x2e')]=_['intersection'](_0x2db967[_0x2c55('0x2b')],qs[_0x2c55('0x2f')](_0x2c6d3e[_0x2c55('0x25')]['fields']));_0xfed50e[_0x2c55('0x2e')]=_0xfed50e[_0x2c55('0x2e')][_0x2c55('0x30')]?_0xfed50e[_0x2c55('0x2e')]:_0x2db967[_0x2c55('0x2b')];if(_0x2c6d3e[_0x2c55('0x25')]['includeAll']){_0xfed50e['include']=[{'all':!![]}];}_0xfed50e=_[_0x2c55('0x31')]({},_0xfed50e,_0x2c6d3e[_0x2c55('0x32')]);return db[_0x2c55('0x1e')][_0x2c55('0x33')](_0xfed50e)[_0x2c55('0x15')](handleEntityNotFound(_0x519b4a,null))[_0x2c55('0x15')](respondWithResult(_0x519b4a,null))[_0x2c55('0x28')](handleError(_0x519b4a,null));};exports['create']=function(_0x3a1d3d,_0x276949){return db['OpenchannelQueue'][_0x2c55('0x34')](_0x3a1d3d[_0x2c55('0x35')],{})[_0x2c55('0x15')](function(_0xd2c5df){var _0x5c3cdc=_0x3a1d3d[_0x2c55('0x36')][_0x2c55('0x16')]({'plain':!![]});if(!_0x5c3cdc)throw new Error(_0x2c55('0x37'));if(_0x5c3cdc[_0x2c55('0x38')]===_0x2c55('0x36')){var _0x2fc575=_0xd2c5df[_0x2c55('0x16')]({'plain':!![]});var _0x31ede8='OpenchannelQueues';return db[_0x2c55('0x39')]['find']({'where':{'name':_0x31ede8,'userProfileId':_0x5c3cdc[_0x2c55('0x3a')]},'raw':!![]})[_0x2c55('0x15')](function(_0xd99ea2){if(_0xd99ea2&&_0xd99ea2[_0x2c55('0x3b')]===0x0){return db[_0x2c55('0x18')][_0x2c55('0x34')]({'name':_0x2fc575['name'],'resourceId':_0x2fc575['id'],'type':_0xd99ea2[_0x2c55('0x1b')],'sectionId':_0xd99ea2['id']},{})[_0x2c55('0x15')](function(){return _0xd2c5df;});}else{return _0xd2c5df;}})[_0x2c55('0x28')](function(_0x17f072){logger[_0x2c55('0x19')](_0x2c55('0x3c'),_0x17f072);throw _0x17f072;});}return _0xd2c5df;})[_0x2c55('0x15')](respondWithResult(_0x276949,0xc9))[_0x2c55('0x28')](handleError(_0x276949,null));};exports[_0x2c55('0x14')]=function(_0x1eb786,_0x18ced8){if(_0x1eb786[_0x2c55('0x35')]['id']){delete _0x1eb786[_0x2c55('0x35')]['id'];}return db['OpenchannelQueue'][_0x2c55('0x33')]({'where':{'id':_0x1eb786[_0x2c55('0x2a')]['id']}})[_0x2c55('0x15')](handleEntityNotFound(_0x18ced8,null))[_0x2c55('0x15')](saveUpdates(_0x1eb786[_0x2c55('0x35')],null))[_0x2c55('0x15')](respondWithResult(_0x18ced8,null))[_0x2c55('0x28')](handleError(_0x18ced8,null));};exports[_0x2c55('0x3d')]=function(_0x5b20c5,_0x5b7d7c){return db[_0x2c55('0x1e')][_0x2c55('0x33')]({'where':{'id':_0x5b20c5[_0x2c55('0x2a')]['id']}})[_0x2c55('0x15')](handleEntityNotFound(_0x5b7d7c,null))[_0x2c55('0x15')](removeEntity(_0x5b7d7c,null))[_0x2c55('0x28')](handleError(_0x5b7d7c,null));};exports['describe']=function(_0x477a3f,_0x325b20){return db[_0x2c55('0x1e')][_0x2c55('0x3e')]()[_0x2c55('0x15')](respondWithResult(_0x325b20,null))[_0x2c55('0x28')](handleError(_0x325b20,null));};exports[_0x2c55('0x3f')]=function(_0x4170b0,_0x28eeeb){var _0x1a9f3f={'raw':!![],'where':{}},_0x4fbd6c={},_0x35816a;return db[_0x2c55('0x1e')][_0x2c55('0x40')]({'where':{'id':_0x4170b0[_0x2c55('0x2a')]['id']}})[_0x2c55('0x15')](handleEntityNotFound(_0x28eeeb,null))[_0x2c55('0x15')](function(_0x58220c){if(_0x58220c){_0x35816a=_0x58220c['get']({'plain':!![]});_0x4fbd6c[_0x2c55('0x2b')]=_[_0x2c55('0x2c')](db[_0x2c55('0x41')]['rawAttributes']);_0x4fbd6c[_0x2c55('0x25')]=_[_0x2c55('0x2c')](_0x4170b0[_0x2c55('0x25')]);_0x4fbd6c['filters']=_[_0x2c55('0x2d')](_0x4fbd6c[_0x2c55('0x2b')],_0x4fbd6c['query']);_0x1a9f3f[_0x2c55('0x2e')]=_[_0x2c55('0x2d')](_0x4fbd6c[_0x2c55('0x2b')],qs[_0x2c55('0x2f')](_0x4170b0['query'][_0x2c55('0x2f')]));_0x1a9f3f['attributes']=_0x1a9f3f[_0x2c55('0x2e')]['length']?_0x1a9f3f['attributes']:_0x4fbd6c['model'];if(!_0x4170b0[_0x2c55('0x25')][_0x2c55('0x42')](_0x2c55('0x43'))){_0x1a9f3f['limit']=qs[_0x2c55('0x11')](_0x4170b0[_0x2c55('0x25')][_0x2c55('0x11')]);_0x1a9f3f[_0x2c55('0xf')]=qs['offset'](_0x4170b0[_0x2c55('0x25')]['offset']);}_0x1a9f3f['order']=qs[_0x2c55('0x44')](_0x4170b0[_0x2c55('0x25')][_0x2c55('0x44')]);_0x1a9f3f['where']=qs['filters'](_[_0x2c55('0x45')](_0x4170b0[_0x2c55('0x25')],_0x4fbd6c[_0x2c55('0x46')]));_0x1a9f3f['where'][_0x2c55('0x47')]=_0x58220c['id'];if(_0x4170b0[_0x2c55('0x25')][_0x2c55('0x48')]){_0x1a9f3f[_0x2c55('0x23')]=_[_0x2c55('0x31')](_0x1a9f3f[_0x2c55('0x23')],{'$or':_[_0x2c55('0x49')](_0x1a9f3f[_0x2c55('0x2e')],function(_0x4234fa){var _0x4abbdc={};_0x4abbdc[_0x4234fa]={'$like':'%'+_0x4170b0[_0x2c55('0x25')][_0x2c55('0x48')]+'%'};return _0x4abbdc;})});}_0x1a9f3f=_[_0x2c55('0x31')]({},_0x1a9f3f,_0x4170b0[_0x2c55('0x32')]);return db['UserOpenchannelQueue'][_0x2c55('0x26')](_0x1a9f3f);}})[_0x2c55('0x15')](function(_0x294b5e){if(_0x294b5e){return db['User'][_0x2c55('0x4a')]({'where':{'id':_[_0x2c55('0x49')](_0x294b5e,_0x2c55('0x4b')),'role':'agent'},'attributes':['id',_0x2c55('0x1b'),_0x2c55('0x4c'),'updatedAt',_0x2c55('0x4d')]});}})[_0x2c55('0x15')](function(_0x36fa60){if(_0x36fa60){return{'count':_0x36fa60[_0x2c55('0x12')],'rows':_[_0x2c55('0x49')](_0x36fa60[_0x2c55('0x27')],function(_0x4f4850){return{'membername':_0x4f4850[_0x2c55('0x1b')],'UserId':_0x4f4850['id'],'queue_name':_0x35816a[_0x2c55('0x1b')],'OpenchannelQueueId':_0x35816a['id'],'interface':util[_0x2c55('0x4e')](_0x2c55('0x4f'),_0x2c55('0x50'),_0x4f4850[_0x2c55('0x1b')]),'penalty':0x0,'paused':_0x4f4850['openchannelPause'],'createdAt':_0x4f4850[_0x2c55('0x4d')],'updatedAt':_0x4f4850['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x2c55('0x15')](respondWithFilteredResult(_0x28eeeb,_0x1a9f3f))[_0x2c55('0x28')](handleError(_0x28eeeb,null));};exports[_0x2c55('0x51')]=function(_0x1dbbe8,_0x2065de){var _0x123b7f={};var _0x34bf91={};var _0x4b8c61;var _0x43dacd;return db[_0x2c55('0x1e')][_0x2c55('0x40')]({'where':{'id':_0x1dbbe8['params']['id']}})['then'](handleEntityNotFound(_0x2065de,null))[_0x2c55('0x15')](function(_0xdc88ac){if(_0xdc88ac){_0x4b8c61=_0xdc88ac;_0x34bf91[_0x2c55('0x2b')]=_[_0x2c55('0x2c')](db['Team']['rawAttributes']);_0x34bf91['query']=_[_0x2c55('0x2c')](_0x1dbbe8['query']);_0x34bf91[_0x2c55('0x46')]=_[_0x2c55('0x2d')](_0x34bf91[_0x2c55('0x2b')],_0x34bf91[_0x2c55('0x25')]);_0x123b7f[_0x2c55('0x2e')]=_[_0x2c55('0x2d')](_0x34bf91[_0x2c55('0x2b')],qs['fields'](_0x1dbbe8[_0x2c55('0x25')][_0x2c55('0x2f')]));_0x123b7f[_0x2c55('0x2e')]=_0x123b7f['attributes'][_0x2c55('0x30')]?_0x123b7f[_0x2c55('0x2e')]:_0x34bf91[_0x2c55('0x2b')];_0x123b7f['order']=qs['sort'](_0x1dbbe8['query'][_0x2c55('0x44')]);_0x123b7f['where']=qs[_0x2c55('0x46')](_[_0x2c55('0x45')](_0x1dbbe8['query'],_0x34bf91['filters']));if(_0x1dbbe8[_0x2c55('0x25')][_0x2c55('0x48')]){_0x123b7f['where']=_[_0x2c55('0x31')](_0x123b7f['where'],{'$or':_[_0x2c55('0x49')](_0x123b7f[_0x2c55('0x2e')],function(_0x531944){var _0x2e00d4={};_0x2e00d4[_0x531944]={'$like':'%'+_0x1dbbe8[_0x2c55('0x25')][_0x2c55('0x48')]+'%'};return _0x2e00d4;})});}_0x123b7f=_['merge']({},_0x123b7f,_0x1dbbe8[_0x2c55('0x32')]);return _0x4b8c61[_0x2c55('0x51')](_0x123b7f);}})[_0x2c55('0x15')](function(_0x3c2159){if(_0x3c2159){_0x43dacd=_0x3c2159[_0x2c55('0x30')];if(!_0x1dbbe8[_0x2c55('0x25')]['hasOwnProperty']('nolimit')){_0x123b7f[_0x2c55('0x11')]=qs['limit'](_0x1dbbe8[_0x2c55('0x25')]['limit']);_0x123b7f[_0x2c55('0xf')]=qs[_0x2c55('0xf')](_0x1dbbe8['query'][_0x2c55('0xf')]);}return _0x4b8c61[_0x2c55('0x51')](_0x123b7f);}})[_0x2c55('0x15')](function(_0x5516b1){if(_0x5516b1){return _0x5516b1?{'count':_0x43dacd,'rows':_0x5516b1}:null;}})[_0x2c55('0x15')](respondWithResult(_0x2065de,null))[_0x2c55('0x28')](handleError(_0x2065de,null));};exports[_0x2c55('0x52')]=function(_0x48a096,_0x4f4239){var _0x394d16=_0x48a096[_0x2c55('0x35')][_0x2c55('0x53')];return db[_0x2c55('0x54')][_0x2c55('0x26')]({'where':{'id':_0x394d16},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x2c55('0x1b'),_0x2c55('0x55'),_0x2c55('0x56'),_0x2c55('0x57')],'raw':!![]}]})['then'](function(_0x4d8479){if(_0x4d8479){var _0x533236=_[_0x2c55('0x58')](_0x4d8479,function(_0x4158b0){var _0x511f08=_0x4158b0[_0x2c55('0x16')]({'plain':!![]});return _0x511f08['Agents'];});return db[_0x2c55('0x1e')][_0x2c55('0x33')]({'where':{'id':_0x48a096[_0x2c55('0x2a')]['id']}})[_0x2c55('0x15')](function(_0x2d0258){return db[_0x2c55('0x59')][_0x2c55('0x5a')](function(_0x31cb63){return _0x2d0258[_0x2c55('0x52')](_0x394d16,{'transaction':_0x31cb63})[_0x2c55('0x15')](function(){return BPromise['each'](_0x533236,function(_0x2f2a6a){return db['UserOpenchannelQueue'][_0x2c55('0x5b')]({'where':{'UserId':_0x2f2a6a['id'],'OpenchannelQueueId':_0x48a096[_0x2c55('0x2a')]['id']},'transaction':_0x31cb63});});})[_0x2c55('0x15')](function(){_0x533236['forEach'](function(_0x130a4d){socket[_0x2c55('0x5c')]('userOpenchannelQueue:save',{'UserId':_0x130a4d['id'],'OpenchannelQueueId':_0x2d0258['id']});});});});});}})[_0x2c55('0x15')](respondWithStatusCode(_0x4f4239,null))[_0x2c55('0x28')](handleError(_0x4f4239,null));};exports[_0x2c55('0x5d')]=function(_0x2cec6c,_0x3674c4){return db[_0x2c55('0x54')][_0x2c55('0x26')]({'where':{'id':_0x2cec6c[_0x2c55('0x25')][_0x2c55('0x53')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x2c55('0x5e'),'attributes':['id'],'raw':!![]}]})[_0x2c55('0x15')](handleEntityNotFound(_0x3674c4,null))[_0x2c55('0x15')](function(_0x3d2858){var _0x2fb767=_[_0x2c55('0x49')](_0x3d2858,'id');var _0x276455=[];var _0x47cc13=[];var _0x55ff07=squel['select']();_0x55ff07[_0x2c55('0x5f')](_0x2c55('0x60'))[_0x2c55('0x61')]('team_has_openchannel_queues','tq')[_0x2c55('0x62')](_0x2c55('0x63'),'ut',_0x2c55('0x64'))[_0x2c55('0x23')]('OpenchannelQueueId\x20=\x20?',_0x2cec6c[_0x2c55('0x2a')]['id']);for(var _0x31a05e=0x0;_0x31a05e<_0x3d2858[_0x2c55('0x30')];_0x31a05e+=0x1){let _0x1cbb58=_0x3d2858[_0x31a05e];for(var _0x2f092c=0x0;_0x2f092c<_0x1cbb58[_0x2c55('0x5e')]['length'];_0x2f092c+=0x1){let _0x48ca87=_0x1cbb58[_0x2c55('0x5e')][_0x2f092c];var _0x12690c=_0x55ff07[_0x2c55('0x65')]();_0x12690c[_0x2c55('0x23')](_0x2c55('0x66'),_0x48ca87['id']);_0x47cc13[_0x2c55('0x67')](db[_0x2c55('0x59')]['query'](_0x12690c[_0x2c55('0x68')](),{'type':db[_0x2c55('0x59')][_0x2c55('0x69')][_0x2c55('0x6a')]})['then'](function(_0x104f2b){if(_0x104f2b[_0x2c55('0x30')]===0x1){return _0x48ca87['id'];}else{var _0x4dae02=_[_0x2c55('0x6b')](_[_0x2c55('0x49')](_0x104f2b,_0x2c55('0x6c')),function(_0x1948ae){return _[_0x2c55('0x6d')](_0x2fb767,_0x1948ae);});if(_0x4dae02){return _0x48ca87['id'];}}}));}}return BPromise[_0x2c55('0x6e')](_0x47cc13)[_0x2c55('0x15')](function(_0xd3d5a1){_0x276455=_(_0x276455)['union'](_0xd3d5a1)[_0x2c55('0x6f')]()[_0x2c55('0x70')]();return db[_0x2c55('0x1e')][_0x2c55('0x33')]({'where':{'id':_0x2cec6c[_0x2c55('0x2a')]['id']}})[_0x2c55('0x15')](function(_0x1c8ef4){return db[_0x2c55('0x59')][_0x2c55('0x5a')](function(_0x413e3d){return _0x1c8ef4[_0x2c55('0x5d')](_0x2cec6c[_0x2c55('0x25')][_0x2c55('0x53')],{'transaction':_0x413e3d})['then'](function(){if(!_[_0x2c55('0x71')](_0x276455)){return _0x1c8ef4[_0x2c55('0x72')](_0x276455,{'transaction':_0x413e3d});}})[_0x2c55('0x15')](function(){_0x276455[_0x2c55('0x73')](function(_0x23ae21){socket[_0x2c55('0x5c')]('userOpenchannelQueue:remove',{'UserId':_0x23ae21,'OpenchannelQueueId':_0x1c8ef4['id']});});});});});});})[_0x2c55('0x15')](respondWithStatusCode(_0x3674c4,null))[_0x2c55('0x28')](handleError(_0x3674c4,null));};exports[_0x2c55('0x74')]=function(_0x124a9b,_0x1a1574){return db[_0x2c55('0x1e')][_0x2c55('0x33')]({'where':{'id':_0x124a9b[_0x2c55('0x2a')]['id']}})[_0x2c55('0x15')](handleEntityNotFound(_0x1a1574,null))['then'](function(_0x4b38b0){if(_0x4b38b0){return _0x4b38b0[_0x2c55('0x74')](_0x124a9b[_0x2c55('0x35')]['ids'],_[_0x2c55('0x75')](_0x124a9b[_0x2c55('0x35')],[_0x2c55('0x53'),'id'])||{})[_0x2c55('0x76')](function(_0x9ca558){for(var _0xe73c17=0x0;_0xe73c17<_0x124a9b[_0x2c55('0x35')][_0x2c55('0x53')][_0x2c55('0x30')];_0xe73c17+=0x1){socket['emit'](_0x2c55('0x77'),{'UserId':Number(_0x124a9b[_0x2c55('0x35')][_0x2c55('0x53')][_0xe73c17]),'OpenchannelQueueId':Number(_0x124a9b[_0x2c55('0x2a')]['id'])});}return _0x9ca558;});}})['then'](respondWithResult(_0x1a1574,null))['catch'](handleError(_0x1a1574,null));};exports[_0x2c55('0x72')]=function(_0x338d7e,_0x6c638a){return db[_0x2c55('0x1e')][_0x2c55('0x33')]({'where':{'id':_0x338d7e['params']['id']}})['then'](handleEntityNotFound(_0x6c638a,null))['then'](function(_0x130b80){if(_0x130b80){return _0x130b80[_0x2c55('0x72')](_0x338d7e[_0x2c55('0x25')]['ids'])[_0x2c55('0x15')](function(){if(_[_0x2c55('0x78')](_0x338d7e['query']['ids'])){for(var _0x242bf9=0x0;_0x242bf9<_0x338d7e[_0x2c55('0x25')][_0x2c55('0x53')][_0x2c55('0x30')];_0x242bf9+=0x1){socket[_0x2c55('0x5c')]('userOpenchannelQueue:remove',{'UserId':Number(_0x338d7e[_0x2c55('0x25')][_0x2c55('0x53')][_0x242bf9]),'OpenchannelQueueId':Number(_0x338d7e[_0x2c55('0x2a')]['id'])});}}else{socket[_0x2c55('0x5c')](_0x2c55('0x79'),{'UserId':Number(_0x338d7e[_0x2c55('0x25')]['ids']),'OpenchannelQueueId':Number(_0x338d7e[_0x2c55('0x2a')]['id'])});}});}})[_0x2c55('0x15')](respondWithStatusCode(_0x6c638a,null))[_0x2c55('0x28')](handleError(_0x6c638a,null));};exports['getAgents']=function(_0x55cae3,_0x358069){var _0x57866c={};var _0x2a69df={};var _0x9ac047;var _0x280f07;return db[_0x2c55('0x1e')]['findOne']({'where':{'id':_0x55cae3[_0x2c55('0x2a')]['id']}})[_0x2c55('0x15')](handleEntityNotFound(_0x358069,null))['then'](function(_0x3bc036){if(_0x3bc036){_0x9ac047=_0x3bc036;_0x2a69df[_0x2c55('0x2b')]=_[_0x2c55('0x2c')](db[_0x2c55('0x7a')][_0x2c55('0x1f')]);_0x2a69df[_0x2c55('0x25')]=_[_0x2c55('0x2c')](_0x55cae3[_0x2c55('0x25')]);_0x2a69df['filters']=_[_0x2c55('0x2d')](_0x2a69df[_0x2c55('0x2b')],_0x2a69df[_0x2c55('0x25')]);_0x57866c['attributes']=_['intersection'](_0x2a69df[_0x2c55('0x2b')],qs['fields'](_0x55cae3[_0x2c55('0x25')][_0x2c55('0x2f')]));_0x57866c[_0x2c55('0x2e')]=_0x57866c[_0x2c55('0x2e')]['length']?_0x57866c['attributes']:_0x2a69df[_0x2c55('0x2b')];_0x57866c[_0x2c55('0x7b')]=qs[_0x2c55('0x44')](_0x55cae3[_0x2c55('0x25')][_0x2c55('0x44')]);_0x57866c['where']=qs[_0x2c55('0x46')](_[_0x2c55('0x45')](_0x55cae3[_0x2c55('0x25')],_0x2a69df[_0x2c55('0x46')]));if(_0x55cae3['query'][_0x2c55('0x48')]){_0x57866c[_0x2c55('0x23')]=_[_0x2c55('0x31')](_0x57866c['where'],{'$or':_[_0x2c55('0x49')](_0x57866c['attributes'],function(_0x33d050){var _0x590d39={};_0x590d39[_0x33d050]={'$like':'%'+_0x55cae3[_0x2c55('0x25')][_0x2c55('0x48')]+'%'};return _0x590d39;})});}_0x57866c=_[_0x2c55('0x31')]({},_0x57866c,_0x55cae3['options']);return _0x9ac047[_0x2c55('0x7c')](_0x57866c);}})[_0x2c55('0x15')](function(_0x3b21c9){if(_0x3b21c9){_0x280f07=_0x3b21c9[_0x2c55('0x30')];if(!_0x55cae3[_0x2c55('0x25')]['hasOwnProperty'](_0x2c55('0x43'))){_0x57866c[_0x2c55('0x11')]=qs[_0x2c55('0x11')](_0x55cae3[_0x2c55('0x25')][_0x2c55('0x11')]);_0x57866c[_0x2c55('0xf')]=qs[_0x2c55('0xf')](_0x55cae3['query'][_0x2c55('0xf')]);}return _0x9ac047[_0x2c55('0x7c')](_0x57866c);}})[_0x2c55('0x15')](function(_0x14ef16){if(_0x14ef16){return _0x14ef16?{'count':_0x280f07,'rows':_0x14ef16}:null;}})['then'](respondWithResult(_0x358069,null))[_0x2c55('0x28')](handleError(_0x358069,null));};