Built motion from commit 1fd437e9.|2.6.19
[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 _0x382c=['describe','getMembers','findOne','UserOpenchannelQueue','intersection','length','hasOwnProperty','nolimit','sort','where','OpenchannelQueueId','filter','merge','findAll','findAndCountAll','openchannelPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','pick','addTeams','ids','User','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','userOpenchannelQueue:save','removeTeams','select','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','isEmpty','userOpenchannelQueue:remove','addAgents','spread','removeAgents','isArray','getAgents','order','util','squel','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','json','undefined','limit','offset','count','Content-Range','update','destroy','then','get','OpenchannelQueues','UserProfileResource','error','name','index','map','OpenchannelQueue','fieldName','type','key','include','query','rows','catch','show','params','model','rawAttributes','keys','filters','attributes','fields','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'];(function(_0x3ff58b,_0x5f4e9b){var _0x521dde=function(_0x3af056){while(--_0x3af056){_0x3ff58b['push'](_0x3ff58b['shift']());}};_0x521dde(++_0x5f4e9b);}(_0x382c,0x1b4));var _0xc382=function(_0x4e54e9,_0x40a2b7){_0x4e54e9=_0x4e54e9-0x0;var _0x32be8f=_0x382c[_0x4e54e9];return _0x32be8f;};'use strict';var BPromise=require('bluebird');var util=require(_0xc382('0x0'));var _=require('lodash');var squel=require(_0xc382('0x1'));var Redis=require('ioredis');var qs=require(_0xc382('0x2'));var logger=require('../../config/logger')(_0xc382('0x3'));var config=require(_0xc382('0x4'));var db=require(_0xc382('0x5'))['db'];config[_0xc382('0x6')]=_[_0xc382('0x7')](config[_0xc382('0x6')],{'host':_0xc382('0x8'),'port':0x18eb});var socket=require(_0xc382('0x9'))(new Redis(config[_0xc382('0x6')]));require('./openchannelQueue.socket')[_0xc382('0xa')](socket);function respondWithStatusCode(_0x552815,_0x6b2c0){_0x6b2c0=_0x6b2c0||0xcc;return function(_0x4de362){if(_0x4de362){return _0x552815[_0xc382('0xb')](_0x6b2c0);}return _0x552815[_0xc382('0xc')](_0x6b2c0)['end']();};}function respondWithResult(_0x114ee3,_0x41fe6a){_0x41fe6a=_0x41fe6a||0xc8;return function(_0x1d9be5){if(_0x1d9be5){return _0x114ee3[_0xc382('0xc')](_0x41fe6a)[_0xc382('0xd')](_0x1d9be5);}};}function respondWithFilteredResult(_0x1ffdde,_0x1ea32c){return function(_0x861924){if(_0x861924){var _0x46af87=typeof _0x1ea32c['offset']===_0xc382('0xe')&&typeof _0x1ea32c[_0xc382('0xf')]===_0xc382('0xe');var _0x19f1f1=_0x861924['count'];var _0xb334ac=_0x46af87?0x0:_0x1ea32c[_0xc382('0x10')];var _0x5a52ce=_0x46af87?_0x861924[_0xc382('0x11')]:_0x1ea32c[_0xc382('0x10')]+_0x1ea32c[_0xc382('0xf')];var _0x570d58;if(_0x5a52ce>=_0x19f1f1){_0x5a52ce=_0x19f1f1;_0x570d58=0xc8;}else{_0x570d58=0xce;}_0x1ffdde['status'](_0x570d58);return _0x1ffdde['set'](_0xc382('0x12'),_0xb334ac+'-'+_0x5a52ce+'/'+_0x19f1f1)[_0xc382('0xd')](_0x861924);}return null;};}function saveUpdates(_0x47c770){return function(_0x56eecd){if(_0x56eecd){return _0x56eecd[_0xc382('0x13')](_0x47c770)['then'](function(_0x4cf260){return _0x4cf260;});}return null;};}function removeEntity(_0x247f48){return function(_0x23d7a4){if(_0x23d7a4){return _0x23d7a4[_0xc382('0x14')]()[_0xc382('0x15')](function(){var _0x5512e0=_0x23d7a4[_0xc382('0x16')]({'plain':!![]});var _0x5d00fe=_0xc382('0x17');return db[_0xc382('0x18')]['destroy']({'where':{'type':_0x5d00fe,'resourceId':_0x5512e0['id']}})[_0xc382('0x15')](function(){return _0x23d7a4;});})[_0xc382('0x15')](function(){_0x247f48[_0xc382('0xc')](0xcc)['end']();});}};}function handleEntityNotFound(_0x139e75){return function(_0xc41c76){if(!_0xc41c76){_0x139e75[_0xc382('0xb')](0x194);}return _0xc41c76;};}function handleError(_0xc1ebe3,_0x25f1d5){_0x25f1d5=_0x25f1d5||0x1f4;return function(_0x1affb6){logger[_0xc382('0x19')](_0x1affb6['stack']);if(_0x1affb6['name']){delete _0x1affb6[_0xc382('0x1a')];}_0xc1ebe3[_0xc382('0xc')](_0x25f1d5)['send'](_0x1affb6);};}exports[_0xc382('0x1b')]=function(_0xabb5a3,_0x244899){var _0xc9ae4a={};var _0x3f1196={'count':0x0,'rows':[]};var _0x2ee87b=_[_0xc382('0x1c')](db[_0xc382('0x1d')]['rawAttributes'],function(_0x4b9051){return{'name':_0x4b9051[_0xc382('0x1e')],'type':_0x4b9051[_0xc382('0x1f')][_0xc382('0x20')]};});_0xc9ae4a=qs['getOptions'](_0x2ee87b,_0xabb5a3);var _0x24dfdc={'where':_0xc9ae4a['where']};return db[_0xc382('0x1d')][_0xc382('0x11')](_0x24dfdc)[_0xc382('0x15')](function(_0x3e4faa){_0x3f1196[_0xc382('0x11')]=_0x3e4faa;_0xc9ae4a[_0xc382('0x21')]=qs['include'](_0xabb5a3[_0xc382('0x22')]);return db[_0xc382('0x1d')]['findAll'](_0xc9ae4a);})[_0xc382('0x15')](function(_0x59713a){_0x3f1196[_0xc382('0x23')]=_0x59713a;return _0x3f1196;})[_0xc382('0x15')](respondWithFilteredResult(_0x244899,_0xc9ae4a))[_0xc382('0x24')](handleError(_0x244899,null));};exports[_0xc382('0x25')]=function(_0x1a927e,_0x33164c){var _0x7cf22a={'raw':!![],'where':{'id':_0x1a927e[_0xc382('0x26')]['id']}},_0x480040={};_0x480040[_0xc382('0x27')]=_['keys'](db[_0xc382('0x1d')][_0xc382('0x28')]);_0x480040['query']=_[_0xc382('0x29')](_0x1a927e['query']);_0x480040[_0xc382('0x2a')]=_['intersection'](_0x480040[_0xc382('0x27')],_0x480040[_0xc382('0x22')]);_0x7cf22a[_0xc382('0x2b')]=_['intersection'](_0x480040[_0xc382('0x27')],qs[_0xc382('0x2c')](_0x1a927e['query']['fields']));_0x7cf22a[_0xc382('0x2b')]=_0x7cf22a[_0xc382('0x2b')]['length']?_0x7cf22a['attributes']:_0x480040[_0xc382('0x27')];if(_0x1a927e['query']['includeAll']){_0x7cf22a[_0xc382('0x21')]=[{'all':!![]}];}_0x7cf22a=_['merge']({},_0x7cf22a,_0x1a927e[_0xc382('0x2d')]);return db[_0xc382('0x1d')][_0xc382('0x2e')](_0x7cf22a)[_0xc382('0x15')](handleEntityNotFound(_0x33164c,null))[_0xc382('0x15')](respondWithResult(_0x33164c,null))['catch'](handleError(_0x33164c,null));};exports[_0xc382('0x2f')]=function(_0x43cda0,_0x16b48c){return db[_0xc382('0x1d')][_0xc382('0x2f')](_0x43cda0[_0xc382('0x30')],{})['then'](function(_0x28297a){var _0x5812f7=_0x43cda0[_0xc382('0x31')][_0xc382('0x16')]({'plain':!![]});if(!_0x5812f7)throw new Error(_0xc382('0x32'));if(_0x5812f7[_0xc382('0x33')]===_0xc382('0x31')){var _0x5e5499=_0x28297a[_0xc382('0x16')]({'plain':!![]});var _0x54ad0b=_0xc382('0x17');return db[_0xc382('0x34')][_0xc382('0x2e')]({'where':{'name':_0x54ad0b,'userProfileId':_0x5812f7[_0xc382('0x35')]},'raw':!![]})[_0xc382('0x15')](function(_0x4a0157){if(_0x4a0157&&_0x4a0157[_0xc382('0x36')]===0x0){return db[_0xc382('0x18')][_0xc382('0x2f')]({'name':_0x5e5499[_0xc382('0x1a')],'resourceId':_0x5e5499['id'],'type':_0x4a0157[_0xc382('0x1a')],'sectionId':_0x4a0157['id']},{})[_0xc382('0x15')](function(){return _0x28297a;});}else{return _0x28297a;}})[_0xc382('0x24')](function(_0x5c7055){logger['error'](_0xc382('0x37'),_0x5c7055);throw _0x5c7055;});}return _0x28297a;})[_0xc382('0x15')](respondWithResult(_0x16b48c,0xc9))[_0xc382('0x24')](handleError(_0x16b48c,null));};exports['update']=function(_0x469732,_0x1793e8){if(_0x469732[_0xc382('0x30')]['id']){delete _0x469732['body']['id'];}return db[_0xc382('0x1d')][_0xc382('0x2e')]({'where':{'id':_0x469732[_0xc382('0x26')]['id']}})['then'](handleEntityNotFound(_0x1793e8,null))[_0xc382('0x15')](saveUpdates(_0x469732[_0xc382('0x30')],null))[_0xc382('0x15')](respondWithResult(_0x1793e8,null))[_0xc382('0x24')](handleError(_0x1793e8,null));};exports[_0xc382('0x14')]=function(_0x1e2e14,_0x271467){return db[_0xc382('0x1d')][_0xc382('0x2e')]({'where':{'id':_0x1e2e14[_0xc382('0x26')]['id']}})[_0xc382('0x15')](handleEntityNotFound(_0x271467,null))[_0xc382('0x15')](removeEntity(_0x271467,null))[_0xc382('0x24')](handleError(_0x271467,null));};exports[_0xc382('0x38')]=function(_0x4922ea,_0x23a8df){return db[_0xc382('0x1d')][_0xc382('0x38')]()[_0xc382('0x15')](respondWithResult(_0x23a8df,null))[_0xc382('0x24')](handleError(_0x23a8df,null));};exports[_0xc382('0x39')]=function(_0x4b9063,_0x4e698b){var _0x6550dc={'raw':!![],'where':{}},_0x4a5596={},_0x1b6764;return db['OpenchannelQueue'][_0xc382('0x3a')]({'where':{'id':_0x4b9063[_0xc382('0x26')]['id']}})[_0xc382('0x15')](handleEntityNotFound(_0x4e698b,null))[_0xc382('0x15')](function(_0x32bc80){if(_0x32bc80){_0x1b6764=_0x32bc80[_0xc382('0x16')]({'plain':!![]});_0x4a5596['model']=_[_0xc382('0x29')](db[_0xc382('0x3b')][_0xc382('0x28')]);_0x4a5596['query']=_[_0xc382('0x29')](_0x4b9063[_0xc382('0x22')]);_0x4a5596[_0xc382('0x2a')]=_[_0xc382('0x3c')](_0x4a5596['model'],_0x4a5596[_0xc382('0x22')]);_0x6550dc[_0xc382('0x2b')]=_[_0xc382('0x3c')](_0x4a5596[_0xc382('0x27')],qs[_0xc382('0x2c')](_0x4b9063['query'][_0xc382('0x2c')]));_0x6550dc[_0xc382('0x2b')]=_0x6550dc['attributes'][_0xc382('0x3d')]?_0x6550dc[_0xc382('0x2b')]:_0x4a5596[_0xc382('0x27')];if(!_0x4b9063['query'][_0xc382('0x3e')](_0xc382('0x3f'))){_0x6550dc[_0xc382('0xf')]=qs['limit'](_0x4b9063[_0xc382('0x22')][_0xc382('0xf')]);_0x6550dc[_0xc382('0x10')]=qs['offset'](_0x4b9063[_0xc382('0x22')][_0xc382('0x10')]);}_0x6550dc['order']=qs[_0xc382('0x40')](_0x4b9063['query'][_0xc382('0x40')]);_0x6550dc[_0xc382('0x41')]=qs[_0xc382('0x2a')](_['pick'](_0x4b9063['query'],_0x4a5596[_0xc382('0x2a')]));_0x6550dc[_0xc382('0x41')][_0xc382('0x42')]=_0x32bc80['id'];if(_0x4b9063['query'][_0xc382('0x43')]){_0x6550dc[_0xc382('0x41')]=_[_0xc382('0x44')](_0x6550dc[_0xc382('0x41')],{'$or':_['map'](_0x6550dc[_0xc382('0x2b')],function(_0x384c5e){var _0x4cd1bb={};_0x4cd1bb[_0x384c5e]={'$like':'%'+_0x4b9063['query'][_0xc382('0x43')]+'%'};return _0x4cd1bb;})});}_0x6550dc=_[_0xc382('0x44')]({},_0x6550dc,_0x4b9063[_0xc382('0x2d')]);return db['UserOpenchannelQueue'][_0xc382('0x45')](_0x6550dc);}})[_0xc382('0x15')](function(_0x17c671){if(_0x17c671){return db['User'][_0xc382('0x46')]({'where':{'id':_[_0xc382('0x1c')](_0x17c671,'UserId'),'role':'agent'},'attributes':['id',_0xc382('0x1a'),_0xc382('0x47'),_0xc382('0x48'),_0xc382('0x49')]});}})[_0xc382('0x15')](function(_0x15337d){if(_0x15337d){return{'count':_0x15337d[_0xc382('0x11')],'rows':_['map'](_0x15337d[_0xc382('0x23')],function(_0x1d83b4){return{'membername':_0x1d83b4['name'],'UserId':_0x1d83b4['id'],'queue_name':_0x1b6764[_0xc382('0x1a')],'OpenchannelQueueId':_0x1b6764['id'],'interface':util[_0xc382('0x4a')](_0xc382('0x4b'),_0xc382('0x4c'),_0x1d83b4[_0xc382('0x1a')]),'penalty':0x0,'paused':_0x1d83b4[_0xc382('0x47')],'createdAt':_0x1d83b4[_0xc382('0x49')],'updatedAt':_0x1d83b4[_0xc382('0x48')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x4e698b,_0x6550dc))[_0xc382('0x24')](handleError(_0x4e698b,null));};exports[_0xc382('0x4d')]=function(_0x1ac6b8,_0x11bb23){var _0x521378={};var _0x5ece5c={};var _0x320c0f;var _0x20fe09;return db[_0xc382('0x1d')][_0xc382('0x3a')]({'where':{'id':_0x1ac6b8[_0xc382('0x26')]['id']}})['then'](handleEntityNotFound(_0x11bb23,null))[_0xc382('0x15')](function(_0x2d83c4){if(_0x2d83c4){_0x320c0f=_0x2d83c4;_0x5ece5c[_0xc382('0x27')]=_[_0xc382('0x29')](db[_0xc382('0x4e')][_0xc382('0x28')]);_0x5ece5c[_0xc382('0x22')]=_[_0xc382('0x29')](_0x1ac6b8['query']);_0x5ece5c[_0xc382('0x2a')]=_[_0xc382('0x3c')](_0x5ece5c['model'],_0x5ece5c[_0xc382('0x22')]);_0x521378[_0xc382('0x2b')]=_[_0xc382('0x3c')](_0x5ece5c[_0xc382('0x27')],qs[_0xc382('0x2c')](_0x1ac6b8[_0xc382('0x22')][_0xc382('0x2c')]));_0x521378[_0xc382('0x2b')]=_0x521378['attributes']['length']?_0x521378[_0xc382('0x2b')]:_0x5ece5c[_0xc382('0x27')];_0x521378['order']=qs[_0xc382('0x40')](_0x1ac6b8['query'][_0xc382('0x40')]);_0x521378[_0xc382('0x41')]=qs['filters'](_[_0xc382('0x4f')](_0x1ac6b8[_0xc382('0x22')],_0x5ece5c[_0xc382('0x2a')]));if(_0x1ac6b8[_0xc382('0x22')][_0xc382('0x43')]){_0x521378[_0xc382('0x41')]=_[_0xc382('0x44')](_0x521378['where'],{'$or':_[_0xc382('0x1c')](_0x521378['attributes'],function(_0x4a0117){var _0xd570cb={};_0xd570cb[_0x4a0117]={'$like':'%'+_0x1ac6b8[_0xc382('0x22')]['filter']+'%'};return _0xd570cb;})});}_0x521378=_[_0xc382('0x44')]({},_0x521378,_0x1ac6b8['options']);return _0x320c0f[_0xc382('0x4d')](_0x521378);}})[_0xc382('0x15')](function(_0x54bda5){if(_0x54bda5){_0x20fe09=_0x54bda5[_0xc382('0x3d')];if(!_0x1ac6b8[_0xc382('0x22')][_0xc382('0x3e')](_0xc382('0x3f'))){_0x521378[_0xc382('0xf')]=qs[_0xc382('0xf')](_0x1ac6b8['query']['limit']);_0x521378['offset']=qs[_0xc382('0x10')](_0x1ac6b8['query']['offset']);}return _0x320c0f['getTeams'](_0x521378);}})[_0xc382('0x15')](function(_0x1159e4){if(_0x1159e4){return _0x1159e4?{'count':_0x20fe09,'rows':_0x1159e4}:null;}})['then'](respondWithResult(_0x11bb23,null))[_0xc382('0x24')](handleError(_0x11bb23,null));};exports[_0xc382('0x50')]=function(_0x40b61b,_0x1eb665){var _0x23ae05=_0x40b61b['body'][_0xc382('0x51')];return db[_0xc382('0x4e')][_0xc382('0x45')]({'where':{'id':_0x23ae05},'attributes':['id'],'include':[{'model':db[_0xc382('0x52')],'as':_0xc382('0x53'),'attributes':['id',_0xc382('0x1a'),_0xc382('0x54'),_0xc382('0x55'),_0xc382('0x56')],'raw':!![]}]})[_0xc382('0x15')](function(_0x5a8553){if(_0x5a8553){var _0x336d42=_[_0xc382('0x57')](_0x5a8553,function(_0x42f3ef){var _0x4d8194=_0x42f3ef['get']({'plain':!![]});return _0x4d8194[_0xc382('0x53')];});return db[_0xc382('0x1d')]['find']({'where':{'id':_0x40b61b[_0xc382('0x26')]['id']}})[_0xc382('0x15')](function(_0x2dc81b){return db[_0xc382('0x58')][_0xc382('0x59')](function(_0x28d86a){return _0x2dc81b[_0xc382('0x50')](_0x23ae05,{'transaction':_0x28d86a})[_0xc382('0x15')](function(){return BPromise[_0xc382('0x5a')](_0x336d42,function(_0x3cfcee){return db[_0xc382('0x3b')][_0xc382('0x5b')]({'where':{'UserId':_0x3cfcee['id'],'OpenchannelQueueId':_0x40b61b['params']['id']},'transaction':_0x28d86a});});})[_0xc382('0x15')](function(){_0x336d42[_0xc382('0x5c')](function(_0x915ea5){socket[_0xc382('0x5d')](_0xc382('0x5e'),{'UserId':_0x915ea5['id'],'OpenchannelQueueId':_0x2dc81b['id']});});});});});}})[_0xc382('0x15')](respondWithStatusCode(_0x1eb665,null))['catch'](handleError(_0x1eb665,null));};exports[_0xc382('0x5f')]=function(_0x202f7a,_0x322526){return db[_0xc382('0x4e')][_0xc382('0x45')]({'where':{'id':_0x202f7a[_0xc382('0x22')][_0xc382('0x51')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xc382('0x15')](handleEntityNotFound(_0x322526,null))[_0xc382('0x15')](function(_0x311143){var _0x4577fe=_['map'](_0x311143,'id');var _0xbba8cf=[];var _0x4ff55a=[];var _0x522afe=squel[_0xc382('0x60')]();_0x522afe['field'](_0xc382('0x61'))[_0xc382('0x62')](_0xc382('0x63'),'tq')[_0xc382('0x64')](_0xc382('0x65'),'ut',_0xc382('0x66'))['where'](_0xc382('0x67'),_0x202f7a[_0xc382('0x26')]['id']);for(var _0x5579d5=0x0;_0x5579d5<_0x311143[_0xc382('0x3d')];_0x5579d5+=0x1){let _0x34bc52=_0x311143[_0x5579d5];for(var _0x41723d=0x0;_0x41723d<_0x34bc52['Agents'][_0xc382('0x3d')];_0x41723d+=0x1){let _0x4228f1=_0x34bc52[_0xc382('0x53')][_0x41723d];var _0x446566=_0x522afe[_0xc382('0x68')]();_0x446566[_0xc382('0x41')](_0xc382('0x69'),_0x4228f1['id']);_0x4ff55a[_0xc382('0x6a')](db['sequelize'][_0xc382('0x22')](_0x446566['toString'](),{'type':db[_0xc382('0x58')][_0xc382('0x6b')][_0xc382('0x6c')]})[_0xc382('0x15')](function(_0x2f6b84){if(_0x2f6b84[_0xc382('0x3d')]===0x1){return _0x4228f1['id'];}else{var _0x4bf520=_[_0xc382('0x6d')](_[_0xc382('0x1c')](_0x2f6b84,_0xc382('0x6e')),function(_0x2c8232){return _[_0xc382('0x6f')](_0x4577fe,_0x2c8232);});if(_0x4bf520){return _0x4228f1['id'];}}}));}}return BPromise[_0xc382('0x70')](_0x4ff55a)['then'](function(_0x59b909){_0xbba8cf=_(_0xbba8cf)[_0xc382('0x71')](_0x59b909)[_0xc382('0x72')]()['value']();return db['OpenchannelQueue']['find']({'where':{'id':_0x202f7a[_0xc382('0x26')]['id']}})[_0xc382('0x15')](function(_0x140567){return db[_0xc382('0x58')][_0xc382('0x59')](function(_0x53c1f0){return _0x140567['removeTeams'](_0x202f7a[_0xc382('0x22')]['ids'],{'transaction':_0x53c1f0})[_0xc382('0x15')](function(){if(!_[_0xc382('0x73')](_0xbba8cf)){return _0x140567['removeAgents'](_0xbba8cf,{'transaction':_0x53c1f0});}})[_0xc382('0x15')](function(){_0xbba8cf[_0xc382('0x5c')](function(_0x5032eb){socket['emit'](_0xc382('0x74'),{'UserId':_0x5032eb,'OpenchannelQueueId':_0x140567['id']});});});});});});})[_0xc382('0x15')](respondWithStatusCode(_0x322526,null))['catch'](handleError(_0x322526,null));};exports['addAgents']=function(_0x50ab81,_0x275b4c){return db[_0xc382('0x1d')]['find']({'where':{'id':_0x50ab81['params']['id']}})['then'](handleEntityNotFound(_0x275b4c,null))[_0xc382('0x15')](function(_0x39bece){if(_0x39bece){return _0x39bece[_0xc382('0x75')](_0x50ab81['body'][_0xc382('0x51')],_['omit'](_0x50ab81['body'],['ids','id'])||{})[_0xc382('0x76')](function(_0x47cbfe){for(var _0x1c0bdc=0x0;_0x1c0bdc<_0x50ab81[_0xc382('0x30')][_0xc382('0x51')][_0xc382('0x3d')];_0x1c0bdc+=0x1){socket[_0xc382('0x5d')](_0xc382('0x5e'),{'UserId':Number(_0x50ab81[_0xc382('0x30')][_0xc382('0x51')][_0x1c0bdc]),'OpenchannelQueueId':Number(_0x50ab81[_0xc382('0x26')]['id'])});}return _0x47cbfe;});}})[_0xc382('0x15')](respondWithResult(_0x275b4c,null))['catch'](handleError(_0x275b4c,null));};exports['removeAgents']=function(_0x3b13e4,_0x552d09){return db[_0xc382('0x1d')][_0xc382('0x2e')]({'where':{'id':_0x3b13e4['params']['id']}})[_0xc382('0x15')](handleEntityNotFound(_0x552d09,null))['then'](function(_0x2d271d){if(_0x2d271d){return _0x2d271d[_0xc382('0x77')](_0x3b13e4[_0xc382('0x22')][_0xc382('0x51')])[_0xc382('0x15')](function(){if(_[_0xc382('0x78')](_0x3b13e4[_0xc382('0x22')]['ids'])){for(var _0x15911e=0x0;_0x15911e<_0x3b13e4[_0xc382('0x22')][_0xc382('0x51')][_0xc382('0x3d')];_0x15911e+=0x1){socket[_0xc382('0x5d')]('userOpenchannelQueue:remove',{'UserId':Number(_0x3b13e4[_0xc382('0x22')]['ids'][_0x15911e]),'OpenchannelQueueId':Number(_0x3b13e4[_0xc382('0x26')]['id'])});}}else{socket[_0xc382('0x5d')]('userOpenchannelQueue:remove',{'UserId':Number(_0x3b13e4[_0xc382('0x22')][_0xc382('0x51')]),'OpenchannelQueueId':Number(_0x3b13e4['params']['id'])});}});}})['then'](respondWithStatusCode(_0x552d09,null))[_0xc382('0x24')](handleError(_0x552d09,null));};exports[_0xc382('0x79')]=function(_0x2fda70,_0x18e3f9){var _0x1e7cfc={};var _0x50a8ed={};var _0x349a0d;var _0x46d4ae;return db[_0xc382('0x1d')][_0xc382('0x3a')]({'where':{'id':_0x2fda70[_0xc382('0x26')]['id']}})[_0xc382('0x15')](handleEntityNotFound(_0x18e3f9,null))[_0xc382('0x15')](function(_0x100476){if(_0x100476){_0x349a0d=_0x100476;_0x50a8ed['model']=_[_0xc382('0x29')](db['User'][_0xc382('0x28')]);_0x50a8ed['query']=_[_0xc382('0x29')](_0x2fda70['query']);_0x50a8ed[_0xc382('0x2a')]=_[_0xc382('0x3c')](_0x50a8ed['model'],_0x50a8ed['query']);_0x1e7cfc['attributes']=_['intersection'](_0x50a8ed[_0xc382('0x27')],qs[_0xc382('0x2c')](_0x2fda70[_0xc382('0x22')][_0xc382('0x2c')]));_0x1e7cfc[_0xc382('0x2b')]=_0x1e7cfc[_0xc382('0x2b')][_0xc382('0x3d')]?_0x1e7cfc[_0xc382('0x2b')]:_0x50a8ed['model'];_0x1e7cfc[_0xc382('0x7a')]=qs[_0xc382('0x40')](_0x2fda70[_0xc382('0x22')][_0xc382('0x40')]);_0x1e7cfc[_0xc382('0x41')]=qs['filters'](_[_0xc382('0x4f')](_0x2fda70[_0xc382('0x22')],_0x50a8ed[_0xc382('0x2a')]));if(_0x2fda70['query']['filter']){_0x1e7cfc[_0xc382('0x41')]=_[_0xc382('0x44')](_0x1e7cfc[_0xc382('0x41')],{'$or':_['map'](_0x1e7cfc['attributes'],function(_0x55c275){var _0x1c622f={};_0x1c622f[_0x55c275]={'$like':'%'+_0x2fda70[_0xc382('0x22')][_0xc382('0x43')]+'%'};return _0x1c622f;})});}_0x1e7cfc=_['merge']({},_0x1e7cfc,_0x2fda70[_0xc382('0x2d')]);return _0x349a0d[_0xc382('0x79')](_0x1e7cfc);}})[_0xc382('0x15')](function(_0x5c7090){if(_0x5c7090){_0x46d4ae=_0x5c7090[_0xc382('0x3d')];if(!_0x2fda70[_0xc382('0x22')]['hasOwnProperty'](_0xc382('0x3f'))){_0x1e7cfc['limit']=qs[_0xc382('0xf')](_0x2fda70['query']['limit']);_0x1e7cfc[_0xc382('0x10')]=qs[_0xc382('0x10')](_0x2fda70[_0xc382('0x22')][_0xc382('0x10')]);}return _0x349a0d[_0xc382('0x79')](_0x1e7cfc);}})[_0xc382('0x15')](function(_0xc84812){if(_0xc84812){return _0xc84812?{'count':_0x46d4ae,'rows':_0xc84812}:null;}})[_0xc382('0x15')](respondWithResult(_0x18e3f9,null))[_0xc382('0x24')](handleError(_0x18e3f9,null));};