de32df4eb41529b2cbc5d3c25f25a140f05cd551
[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 _0xaad8=['apply','reject','save','then','destroy','get','OpenchannelQueues','UserProfileResource','sendStatus','stack','name','send','map','OpenchannelQueue','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','includeAll','include','rows','catch','show','params','options','find','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','create','update','describe','getMembers','findOne','pick','OpenchannelQueueId','UserOpenchannelQueue','findAll','User','findAndCountAll','agent','format','SIP','openchannelPause','createdAt','updatedAt','getTeams','addTeams','ids','Team','Agents','online','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','removeTeams','select','field','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','toString','SELECT','every','union','value','isEmpty','removeAgents','userOpenchannelQueue:remove','omit','spread','userOpenchannelQueue:save','isArray','getAgents','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelQueue.socket','status','end','json','count','offset','limit','set','Content-Range'];(function(_0x45a4f3,_0x5e5649){var _0x14365b=function(_0x3ae9fb){while(--_0x3ae9fb){_0x45a4f3['push'](_0x45a4f3['shift']());}};_0x14365b(++_0x5e5649);}(_0xaad8,0x182));var _0x8aad=function(_0xb45891,_0x34b408){_0xb45891=_0xb45891-0x0;var _0x2ca817=_0xaad8[_0xb45891];return _0x2ca817;};'use strict';var pdf=require(_0x8aad('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x8aad('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8aad('0x2'));var rp=require(_0x8aad('0x3'));var moment=require(_0x8aad('0x4'));var BPromise=require(_0x8aad('0x5'));var Mustache=require(_0x8aad('0x6'));var util=require('util');var path=require(_0x8aad('0x7'));var sox=require('sox');var csv=require(_0x8aad('0x8'));var ejs=require(_0x8aad('0x9'));var fs=require('fs');var _=require(_0x8aad('0xa'));var squel=require(_0x8aad('0xb'));var crypto=require(_0x8aad('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x8aad('0xd'));var toCsv=require(_0x8aad('0x8'));var querystring=require(_0x8aad('0xe'));var Papa=require(_0x8aad('0xf'));var Redis=require(_0x8aad('0x10'));var authService=require(_0x8aad('0x11'));var qs=require(_0x8aad('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8aad('0x13'));var logger=require(_0x8aad('0x14'))('api');var utils=require(_0x8aad('0x15'));var config=require(_0x8aad('0x16'));var licenseUtil=require(_0x8aad('0x17'));var db=require(_0x8aad('0x18'))['db'];config[_0x8aad('0x19')]=_['defaults'](config[_0x8aad('0x19')],{'host':_0x8aad('0x1a'),'port':0x18eb});var socket=require(_0x8aad('0x1b'))(new Redis(config['redis']));require(_0x8aad('0x1c'))['register'](socket);function respondWithStatusCode(_0x334b95,_0x2f0175){_0x2f0175=_0x2f0175||0xcc;return function(_0x47267e){if(_0x47267e){return _0x334b95['sendStatus'](_0x2f0175);}return _0x334b95[_0x8aad('0x1d')](_0x2f0175)[_0x8aad('0x1e')]();};}function respondWithResult(_0x2a361a,_0x38b72e){_0x38b72e=_0x38b72e||0xc8;return function(_0x421100){if(_0x421100){return _0x2a361a[_0x8aad('0x1d')](_0x38b72e)[_0x8aad('0x1f')](_0x421100);}};}function respondWithFilteredResult(_0xa38675,_0x4bb2e4){return function(_0x4f1a63){if(_0x4f1a63){var _0x56271a=_0x4f1a63[_0x8aad('0x20')],_0x591c1d=_0x4bb2e4[_0x8aad('0x21')],_0x59db26=_0x4bb2e4[_0x8aad('0x21')]+_0x4bb2e4[_0x8aad('0x22')],_0x379761;if(_0x59db26>=_0x56271a){_0x59db26=_0x56271a;_0x379761=0xc8;}else{_0x379761=0xce;}_0xa38675[_0x8aad('0x1d')](_0x379761);return _0xa38675[_0x8aad('0x23')](_0x8aad('0x24'),_0x591c1d+'-'+_0x59db26+'/'+_0x56271a)[_0x8aad('0x1f')](_0x4f1a63);}return null;};}function patchUpdates(_0x4254d2){return function(_0x42f917){try{jsonpatch[_0x8aad('0x25')](_0x42f917,_0x4254d2,!![]);}catch(_0x3657f5){return BPromise[_0x8aad('0x26')](_0x3657f5);}return _0x42f917[_0x8aad('0x27')]();};}function saveUpdates(_0x364287,_0x3d5a6f){return function(_0x8a741a){if(_0x8a741a){return _0x8a741a['update'](_0x364287)[_0x8aad('0x28')](function(_0x64bf9e){return _0x64bf9e;});}return null;};}function removeEntity(_0x1fed78,_0x24c465){return function(_0x55901d){if(_0x55901d){return _0x55901d[_0x8aad('0x29')]()[_0x8aad('0x28')](function(){var _0x89d3c4=_0x55901d[_0x8aad('0x2a')]({'plain':!![]});var _0x4b3c57=_0x8aad('0x2b');return db[_0x8aad('0x2c')][_0x8aad('0x29')]({'where':{'type':_0x4b3c57,'resourceId':_0x89d3c4['id']}})['then'](function(){return _0x55901d;});})[_0x8aad('0x28')](function(){_0x1fed78[_0x8aad('0x1d')](0xcc)[_0x8aad('0x1e')]();});}};}function handleEntityNotFound(_0x3ed06c,_0x369537){return function(_0xcec732){if(!_0xcec732){_0x3ed06c[_0x8aad('0x2d')](0x194);}return _0xcec732;};}function handleError(_0x330745,_0x4fe5f0){_0x4fe5f0=_0x4fe5f0||0x1f4;return function(_0x55ac0e){logger['error'](_0x55ac0e[_0x8aad('0x2e')]);if(_0x55ac0e[_0x8aad('0x2f')]){delete _0x55ac0e[_0x8aad('0x2f')];}_0x330745[_0x8aad('0x1d')](_0x4fe5f0)[_0x8aad('0x30')](_0x55ac0e);};}exports['index']=function(_0x5aa0d7,_0x35d30e){var _0xd4ec03={},_0x17b67c={},_0x57386d={'count':0x0,'rows':[]};var _0x2eb02d=_[_0x8aad('0x31')](db[_0x8aad('0x32')][_0x8aad('0x33')],function(_0x46e0e5){return{'name':_0x46e0e5[_0x8aad('0x34')],'type':_0x46e0e5['type']['key']};});_0x17b67c[_0x8aad('0x35')]=_[_0x8aad('0x31')](_0x2eb02d,_0x8aad('0x2f'));_0x17b67c[_0x8aad('0x36')]=_[_0x8aad('0x37')](_0x5aa0d7[_0x8aad('0x36')]);_0x17b67c[_0x8aad('0x38')]=_[_0x8aad('0x39')](_0x17b67c[_0x8aad('0x35')],_0x17b67c[_0x8aad('0x36')]);_0xd4ec03[_0x8aad('0x3a')]=_[_0x8aad('0x39')](_0x17b67c[_0x8aad('0x35')],qs[_0x8aad('0x3b')](_0x5aa0d7[_0x8aad('0x36')][_0x8aad('0x3b')]));_0xd4ec03['attributes']=_0xd4ec03[_0x8aad('0x3a')][_0x8aad('0x3c')]?_0xd4ec03['attributes']:_0x17b67c['model'];if(!_0x5aa0d7[_0x8aad('0x36')][_0x8aad('0x3d')](_0x8aad('0x3e'))){_0xd4ec03[_0x8aad('0x22')]=qs[_0x8aad('0x22')](_0x5aa0d7[_0x8aad('0x36')][_0x8aad('0x22')]);_0xd4ec03[_0x8aad('0x21')]=qs[_0x8aad('0x21')](_0x5aa0d7[_0x8aad('0x36')][_0x8aad('0x21')]);}_0xd4ec03[_0x8aad('0x3f')]=qs[_0x8aad('0x40')](_0x5aa0d7[_0x8aad('0x36')][_0x8aad('0x40')]);_0xd4ec03[_0x8aad('0x41')]=qs[_0x8aad('0x38')](_['pick'](_0x5aa0d7['query'],_0x17b67c[_0x8aad('0x38')]),_0x2eb02d);if(_0x5aa0d7['query'][_0x8aad('0x42')]){_0xd4ec03['where']=_[_0x8aad('0x43')](_0xd4ec03[_0x8aad('0x41')],{'$or':_[_0x8aad('0x31')](_0x2eb02d,function(_0x4f9451){if(_0x4f9451[_0x8aad('0x44')]!==_0x8aad('0x45')){var _0x2f04ca={};_0x2f04ca[_0x4f9451[_0x8aad('0x2f')]]={'$like':'%'+_0x5aa0d7[_0x8aad('0x36')]['filter']+'%'};return _0x2f04ca;}})});}_0xd4ec03=_['merge']({},_0xd4ec03,_0x5aa0d7['options']);var _0x597cea={'where':_0xd4ec03['where']};return db['OpenchannelQueue']['count'](_0x597cea)[_0x8aad('0x28')](function(_0x1c547d){_0x57386d['count']=_0x1c547d;if(_0x5aa0d7[_0x8aad('0x36')][_0x8aad('0x46')]){_0xd4ec03[_0x8aad('0x47')]=[{'all':!![]}];}return db[_0x8aad('0x32')]['findAll'](_0xd4ec03);})['then'](function(_0x3d4ec1){_0x57386d[_0x8aad('0x48')]=_0x3d4ec1;return _0x57386d;})['then'](respondWithFilteredResult(_0x35d30e,_0xd4ec03))[_0x8aad('0x49')](handleError(_0x35d30e,null));};exports[_0x8aad('0x4a')]=function(_0x58c423,_0x477d29){var _0x2ec99d={'raw':!![],'where':{'id':_0x58c423[_0x8aad('0x4b')]['id']}},_0x874445={};_0x874445[_0x8aad('0x35')]=_[_0x8aad('0x37')](db[_0x8aad('0x32')][_0x8aad('0x33')]);_0x874445[_0x8aad('0x36')]=_['keys'](_0x58c423[_0x8aad('0x36')]);_0x874445[_0x8aad('0x38')]=_['intersection'](_0x874445[_0x8aad('0x35')],_0x874445['query']);_0x2ec99d[_0x8aad('0x3a')]=_[_0x8aad('0x39')](_0x874445['model'],qs[_0x8aad('0x3b')](_0x58c423['query']['fields']));_0x2ec99d['attributes']=_0x2ec99d[_0x8aad('0x3a')][_0x8aad('0x3c')]?_0x2ec99d[_0x8aad('0x3a')]:_0x874445[_0x8aad('0x35')];if(_0x58c423['query'][_0x8aad('0x46')]){_0x2ec99d[_0x8aad('0x47')]=[{'all':!![]}];}_0x2ec99d=_[_0x8aad('0x43')]({},_0x2ec99d,_0x58c423[_0x8aad('0x4c')]);return db[_0x8aad('0x32')][_0x8aad('0x4d')](_0x2ec99d)[_0x8aad('0x28')](handleEntityNotFound(_0x477d29,null))['then'](respondWithResult(_0x477d29,null))['catch'](handleError(_0x477d29,null));};exports['create']=function(_0x767427,_0x425840){return db[_0x8aad('0x32')]['create'](_0x767427[_0x8aad('0x4e')],{})['then'](function(_0xa6c9a2){var _0x3b121b=_0x767427['user'][_0x8aad('0x2a')]({'plain':!![]});if(!_0x3b121b)throw new Error(_0x8aad('0x4f'));if(_0x3b121b[_0x8aad('0x50')]==='user'){var _0x4494b4=_0xa6c9a2[_0x8aad('0x2a')]({'plain':!![]});var _0x3b6141=_0x8aad('0x2b');return db[_0x8aad('0x51')][_0x8aad('0x4d')]({'where':{'name':_0x3b6141,'userProfileId':_0x3b121b[_0x8aad('0x52')]},'raw':!![]})[_0x8aad('0x28')](function(_0x3046d8){if(_0x3046d8&&_0x3046d8[_0x8aad('0x53')]===0x0){return db['UserProfileResource'][_0x8aad('0x54')]({'name':_0x4494b4[_0x8aad('0x2f')],'resourceId':_0x4494b4['id'],'type':_0x3046d8[_0x8aad('0x2f')],'sectionId':_0x3046d8['id']},{})[_0x8aad('0x28')](function(){return _0xa6c9a2;});}else{return _0xa6c9a2;}})['catch'](function(_0x315b00){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x315b00);throw _0x315b00;});}return _0xa6c9a2;})[_0x8aad('0x28')](respondWithResult(_0x425840,0xc9))['catch'](handleError(_0x425840,null));};exports[_0x8aad('0x55')]=function(_0x31e2c6,_0x140bda){if(_0x31e2c6[_0x8aad('0x4e')]['id']){delete _0x31e2c6[_0x8aad('0x4e')]['id'];}return db[_0x8aad('0x32')][_0x8aad('0x4d')]({'where':{'id':_0x31e2c6['params']['id']}})[_0x8aad('0x28')](handleEntityNotFound(_0x140bda,null))[_0x8aad('0x28')](saveUpdates(_0x31e2c6['body'],null))[_0x8aad('0x28')](respondWithResult(_0x140bda,null))[_0x8aad('0x49')](handleError(_0x140bda,null));};exports[_0x8aad('0x29')]=function(_0x2878f6,_0x89ede5){return db[_0x8aad('0x32')][_0x8aad('0x4d')]({'where':{'id':_0x2878f6['params']['id']}})['then'](handleEntityNotFound(_0x89ede5,null))[_0x8aad('0x28')](removeEntity(_0x89ede5,null))[_0x8aad('0x49')](handleError(_0x89ede5,null));};exports[_0x8aad('0x56')]=function(_0x21dfd1,_0x246a45){return db['OpenchannelQueue'][_0x8aad('0x56')]()[_0x8aad('0x28')](respondWithResult(_0x246a45,null))['catch'](handleError(_0x246a45,null));};exports[_0x8aad('0x57')]=function(_0x358958,_0x348244,_0x4d6e3d){var _0x16b5b9={'raw':!![],'where':{}},_0x1018a0={},_0x4a3044;return db['OpenchannelQueue'][_0x8aad('0x58')]({'where':{'id':_0x358958[_0x8aad('0x4b')]['id']}})['then'](handleEntityNotFound(_0x348244,null))['then'](function(_0x48cafe){if(_0x48cafe){_0x4a3044=_0x48cafe[_0x8aad('0x2a')]({'plain':!![]});_0x1018a0['model']=_[_0x8aad('0x37')](db['UserOpenchannelQueue'][_0x8aad('0x33')]);_0x1018a0[_0x8aad('0x36')]=_[_0x8aad('0x37')](_0x358958[_0x8aad('0x36')]);_0x1018a0[_0x8aad('0x38')]=_[_0x8aad('0x39')](_0x1018a0[_0x8aad('0x35')],_0x1018a0['query']);_0x16b5b9['attributes']=_[_0x8aad('0x39')](_0x1018a0['model'],qs[_0x8aad('0x3b')](_0x358958[_0x8aad('0x36')][_0x8aad('0x3b')]));_0x16b5b9[_0x8aad('0x3a')]=_0x16b5b9['attributes'][_0x8aad('0x3c')]?_0x16b5b9[_0x8aad('0x3a')]:_0x1018a0['model'];if(!_0x358958[_0x8aad('0x36')][_0x8aad('0x3d')](_0x8aad('0x3e'))){_0x16b5b9['limit']=qs[_0x8aad('0x22')](_0x358958[_0x8aad('0x36')]['limit']);_0x16b5b9['offset']=qs[_0x8aad('0x21')](_0x358958[_0x8aad('0x36')]['offset']);}_0x16b5b9[_0x8aad('0x3f')]=qs[_0x8aad('0x40')](_0x358958[_0x8aad('0x36')]['sort']);_0x16b5b9[_0x8aad('0x41')]=qs[_0x8aad('0x38')](_[_0x8aad('0x59')](_0x358958[_0x8aad('0x36')],_0x1018a0[_0x8aad('0x38')]));_0x16b5b9[_0x8aad('0x41')][_0x8aad('0x5a')]=_0x48cafe['id'];if(_0x358958[_0x8aad('0x36')][_0x8aad('0x42')]){_0x16b5b9[_0x8aad('0x41')]=_[_0x8aad('0x43')](_0x16b5b9[_0x8aad('0x41')],{'$or':_['map'](_0x16b5b9[_0x8aad('0x3a')],function(_0x3c7007){var _0x5d6120={};_0x5d6120[_0x3c7007]={'$like':'%'+_0x358958['query'][_0x8aad('0x42')]+'%'};return _0x5d6120;})});}_0x16b5b9=_[_0x8aad('0x43')]({},_0x16b5b9,_0x358958[_0x8aad('0x4c')]);return db[_0x8aad('0x5b')][_0x8aad('0x5c')](_0x16b5b9);}})['then'](function(_0x272004){if(_0x272004){return db[_0x8aad('0x5d')][_0x8aad('0x5e')]({'where':{'id':_[_0x8aad('0x31')](_0x272004,'UserId'),'role':_0x8aad('0x5f')},'attributes':['id',_0x8aad('0x2f'),'openchannelPause','updatedAt','createdAt']});}})['then'](function(_0x3b0e03){if(_0x3b0e03){return{'count':_0x3b0e03['count'],'rows':_[_0x8aad('0x31')](_0x3b0e03[_0x8aad('0x48')],function(_0x3fc3cd){return{'membername':_0x3fc3cd['name'],'UserId':_0x3fc3cd['id'],'queue_name':_0x4a3044['name'],'OpenchannelQueueId':_0x4a3044['id'],'interface':util[_0x8aad('0x60')]('%s/%s',_0x8aad('0x61'),_0x3fc3cd['name']),'penalty':0x0,'paused':_0x3fc3cd[_0x8aad('0x62')],'createdAt':_0x3fc3cd[_0x8aad('0x63')],'updatedAt':_0x3fc3cd[_0x8aad('0x64')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x8aad('0x28')](respondWithFilteredResult(_0x348244,_0x16b5b9))[_0x8aad('0x49')](handleError(_0x348244,null));};exports['getTeams']=function(_0x513ce6,_0x2e17b3,_0x20ef1e){var _0x291ae7={};var _0x204b51={};var _0x5158f0;var _0x9c94a9;return db[_0x8aad('0x32')][_0x8aad('0x58')]({'where':{'id':_0x513ce6[_0x8aad('0x4b')]['id']}})[_0x8aad('0x28')](handleEntityNotFound(_0x2e17b3,null))[_0x8aad('0x28')](function(_0x197cbd){if(_0x197cbd){_0x5158f0=_0x197cbd;_0x204b51[_0x8aad('0x35')]=_[_0x8aad('0x37')](db['Team'][_0x8aad('0x33')]);_0x204b51[_0x8aad('0x36')]=_[_0x8aad('0x37')](_0x513ce6['query']);_0x204b51[_0x8aad('0x38')]=_['intersection'](_0x204b51['model'],_0x204b51[_0x8aad('0x36')]);_0x291ae7[_0x8aad('0x3a')]=_[_0x8aad('0x39')](_0x204b51[_0x8aad('0x35')],qs[_0x8aad('0x3b')](_0x513ce6[_0x8aad('0x36')][_0x8aad('0x3b')]));_0x291ae7['attributes']=_0x291ae7[_0x8aad('0x3a')]['length']?_0x291ae7[_0x8aad('0x3a')]:_0x204b51['model'];_0x291ae7[_0x8aad('0x3f')]=qs['sort'](_0x513ce6[_0x8aad('0x36')][_0x8aad('0x40')]);_0x291ae7[_0x8aad('0x41')]=qs[_0x8aad('0x38')](_[_0x8aad('0x59')](_0x513ce6['query'],_0x204b51['filters']));if(_0x513ce6[_0x8aad('0x36')][_0x8aad('0x42')]){_0x291ae7[_0x8aad('0x41')]=_[_0x8aad('0x43')](_0x291ae7[_0x8aad('0x41')],{'$or':_[_0x8aad('0x31')](_0x291ae7[_0x8aad('0x3a')],function(_0x133952){var _0x50fd65={};_0x50fd65[_0x133952]={'$like':'%'+_0x513ce6[_0x8aad('0x36')][_0x8aad('0x42')]+'%'};return _0x50fd65;})});}_0x291ae7=_[_0x8aad('0x43')]({},_0x291ae7,_0x513ce6[_0x8aad('0x4c')]);return _0x5158f0[_0x8aad('0x65')](_0x291ae7);}})[_0x8aad('0x28')](function(_0x131811){if(_0x131811){_0x9c94a9=_0x131811[_0x8aad('0x3c')];if(!_0x513ce6[_0x8aad('0x36')][_0x8aad('0x3d')]('nolimit')){_0x291ae7[_0x8aad('0x22')]=qs[_0x8aad('0x22')](_0x513ce6[_0x8aad('0x36')][_0x8aad('0x22')]);_0x291ae7[_0x8aad('0x21')]=qs[_0x8aad('0x21')](_0x513ce6[_0x8aad('0x36')]['offset']);}return _0x5158f0['getTeams'](_0x291ae7);}})[_0x8aad('0x28')](function(_0x3df77f){if(_0x3df77f){return _0x3df77f?{'count':_0x9c94a9,'rows':_0x3df77f}:null;}})[_0x8aad('0x28')](respondWithResult(_0x2e17b3,null))[_0x8aad('0x49')](handleError(_0x2e17b3,null));};exports[_0x8aad('0x66')]=function(_0xe6e898,_0x303958,_0x4fdae8){var _0x357bd8=_0xe6e898[_0x8aad('0x4e')][_0x8aad('0x67')];return db[_0x8aad('0x68')][_0x8aad('0x5c')]({'where':{'id':_0x357bd8},'attributes':['id'],'include':[{'model':db[_0x8aad('0x5d')],'as':_0x8aad('0x69'),'attributes':['id','name',_0x8aad('0x6a'),'voicePause',_0x8aad('0x6b')],'raw':!![]}]})[_0x8aad('0x28')](function(_0x25b6cb){if(_0x25b6cb){var _0x2ed022=_[_0x8aad('0x6c')](_0x25b6cb,function(_0x570d34){var _0x56eb80=_0x570d34['get']({'plain':!![]});return _0x56eb80[_0x8aad('0x69')];});return db[_0x8aad('0x32')][_0x8aad('0x4d')]({'where':{'id':_0xe6e898['params']['id']}})[_0x8aad('0x28')](function(_0x4cccc3){return db[_0x8aad('0x6d')][_0x8aad('0x6e')](function(_0x3206e5){return _0x4cccc3[_0x8aad('0x66')](_0x357bd8,{'transaction':_0x3206e5})[_0x8aad('0x28')](function(){return BPromise[_0x8aad('0x6f')](_0x2ed022,function(_0x250849){return db[_0x8aad('0x5b')][_0x8aad('0x70')]({'where':{'UserId':_0x250849['id'],'OpenchannelQueueId':_0xe6e898[_0x8aad('0x4b')]['id']},'transaction':_0x3206e5});});})[_0x8aad('0x28')](function(){_0x2ed022[_0x8aad('0x71')](function(_0x20bb84){socket[_0x8aad('0x72')]('userOpenchannelQueue:save',{'UserId':_0x20bb84['id'],'OpenchannelQueueId':_0x4cccc3['id']});});});});});}})[_0x8aad('0x28')](respondWithStatusCode(_0x303958,null))[_0x8aad('0x49')](handleError(_0x303958,null));};exports[_0x8aad('0x73')]=function(_0x3add3,_0x2be599,_0x239c2c){return db[_0x8aad('0x68')][_0x8aad('0x5c')]({'where':{'id':_0x3add3['query'][_0x8aad('0x67')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x8aad('0x69'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x2be599,null))['then'](function(_0x42b145){var _0x5d44b8=_[_0x8aad('0x31')](_0x42b145,'id');var _0x311010=[];var _0x26effd=[];var _0x101148=squel[_0x8aad('0x74')]();_0x101148[_0x8aad('0x75')](_0x8aad('0x76'))[_0x8aad('0x77')](_0x8aad('0x78'),'tq')[_0x8aad('0x79')](_0x8aad('0x7a'),'ut',_0x8aad('0x7b'))[_0x8aad('0x41')](_0x8aad('0x7c'),_0x3add3[_0x8aad('0x4b')]['id']);for(var _0x33628a=0x0;_0x33628a<_0x42b145[_0x8aad('0x3c')];_0x33628a+=0x1){let _0xa792d=_0x42b145[_0x33628a];for(var _0x2f4caf=0x0;_0x2f4caf<_0xa792d[_0x8aad('0x69')][_0x8aad('0x3c')];_0x2f4caf+=0x1){let _0x19d7a2=_0xa792d[_0x8aad('0x69')][_0x2f4caf];var _0x51b2d6=_0x101148[_0x8aad('0x7d')]();_0x51b2d6[_0x8aad('0x41')](_0x8aad('0x7e'),_0x19d7a2['id']);_0x26effd[_0x8aad('0x7f')](db[_0x8aad('0x6d')][_0x8aad('0x36')](_0x51b2d6[_0x8aad('0x80')](),{'type':db[_0x8aad('0x6d')]['QueryTypes'][_0x8aad('0x81')]})[_0x8aad('0x28')](function(_0x207ab1){if(_0x207ab1[_0x8aad('0x3c')]===0x1){return _0x19d7a2['id'];}else{var _0x132614=_[_0x8aad('0x82')](_['map'](_0x207ab1,'TeamId'),function(_0x5bb86e){return _['includes'](_0x5d44b8,_0x5bb86e);});if(_0x132614){return _0x19d7a2['id'];}}}));}}return BPromise['all'](_0x26effd)[_0x8aad('0x28')](function(_0x65c647){_0x311010=_(_0x311010)[_0x8aad('0x83')](_0x65c647)['compact']()[_0x8aad('0x84')]();return db[_0x8aad('0x32')][_0x8aad('0x4d')]({'where':{'id':_0x3add3[_0x8aad('0x4b')]['id']}})[_0x8aad('0x28')](function(_0x2e58b4){return db[_0x8aad('0x6d')][_0x8aad('0x6e')](function(_0x32d73b){return _0x2e58b4[_0x8aad('0x73')](_0x3add3[_0x8aad('0x36')]['ids'],{'transaction':_0x32d73b})[_0x8aad('0x28')](function(){if(!_[_0x8aad('0x85')](_0x311010)){return _0x2e58b4[_0x8aad('0x86')](_0x311010,{'transaction':_0x32d73b});}})[_0x8aad('0x28')](function(){_0x311010['forEach'](function(_0x1c4eb7){socket[_0x8aad('0x72')](_0x8aad('0x87'),{'UserId':_0x1c4eb7,'OpenchannelQueueId':_0x2e58b4['id']});});});});});});})[_0x8aad('0x28')](respondWithStatusCode(_0x2be599,null))[_0x8aad('0x49')](handleError(_0x2be599,null));};exports['addAgents']=function(_0x3fe566,_0x13ec56,_0x5ba4dc){return db['OpenchannelQueue'][_0x8aad('0x4d')]({'where':{'id':_0x3fe566['params']['id']}})[_0x8aad('0x28')](handleEntityNotFound(_0x13ec56,null))[_0x8aad('0x28')](function(_0x2bc27c){if(_0x2bc27c){return _0x2bc27c['addAgents'](_0x3fe566[_0x8aad('0x4e')][_0x8aad('0x67')],_[_0x8aad('0x88')](_0x3fe566[_0x8aad('0x4e')],[_0x8aad('0x67'),'id'])||{})[_0x8aad('0x89')](function(_0x2cb21a){for(var _0x299376=0x0;_0x299376<_0x3fe566[_0x8aad('0x4e')]['ids'][_0x8aad('0x3c')];_0x299376+=0x1){socket['emit'](_0x8aad('0x8a'),{'UserId':_0x3fe566[_0x8aad('0x4e')][_0x8aad('0x67')][_0x299376],'OpenchannelQueueId':_0x3fe566[_0x8aad('0x4b')]['id']});}return _0x2cb21a;});}})[_0x8aad('0x28')](respondWithResult(_0x13ec56,null))['catch'](handleError(_0x13ec56,null));};exports[_0x8aad('0x86')]=function(_0x1f2631,_0x49c15b,_0x57ad09){return db[_0x8aad('0x32')][_0x8aad('0x4d')]({'where':{'id':_0x1f2631['params']['id']}})[_0x8aad('0x28')](handleEntityNotFound(_0x49c15b,null))[_0x8aad('0x28')](function(_0x3f011a){if(_0x3f011a){return _0x3f011a[_0x8aad('0x86')](_0x1f2631[_0x8aad('0x36')][_0x8aad('0x67')])[_0x8aad('0x28')](function(){if(_[_0x8aad('0x8b')](_0x1f2631[_0x8aad('0x36')][_0x8aad('0x67')])){for(var _0x1e09f3=0x0;_0x1e09f3<_0x1f2631[_0x8aad('0x36')][_0x8aad('0x67')][_0x8aad('0x3c')];_0x1e09f3+=0x1){socket[_0x8aad('0x72')]('userOpenchannelQueue:remove',{'UserId':Number(_0x1f2631[_0x8aad('0x36')]['ids'][_0x1e09f3]),'OpenchannelQueueId':Number(_0x1f2631[_0x8aad('0x4b')]['id'])});}}else{socket[_0x8aad('0x72')](_0x8aad('0x87'),{'UserId':Number(_0x1f2631['query']['ids']),'OpenchannelQueueId':Number(_0x1f2631[_0x8aad('0x4b')]['id'])});}});}})[_0x8aad('0x28')](respondWithStatusCode(_0x49c15b,null))[_0x8aad('0x49')](handleError(_0x49c15b,null));};exports[_0x8aad('0x8c')]=function(_0x40fe70,_0x253156,_0x31fc26){var _0x33b9b7={};var _0x5efdf0={};var _0x4bd114;var _0x5ebd62;return db[_0x8aad('0x32')][_0x8aad('0x58')]({'where':{'id':_0x40fe70[_0x8aad('0x4b')]['id']}})['then'](handleEntityNotFound(_0x253156,null))['then'](function(_0x2adc1c){if(_0x2adc1c){_0x4bd114=_0x2adc1c;_0x5efdf0[_0x8aad('0x35')]=_['keys'](db[_0x8aad('0x5d')][_0x8aad('0x33')]);_0x5efdf0[_0x8aad('0x36')]=_['keys'](_0x40fe70[_0x8aad('0x36')]);_0x5efdf0[_0x8aad('0x38')]=_[_0x8aad('0x39')](_0x5efdf0['model'],_0x5efdf0['query']);_0x33b9b7['attributes']=_['intersection'](_0x5efdf0['model'],qs[_0x8aad('0x3b')](_0x40fe70[_0x8aad('0x36')][_0x8aad('0x3b')]));_0x33b9b7['attributes']=_0x33b9b7[_0x8aad('0x3a')][_0x8aad('0x3c')]?_0x33b9b7[_0x8aad('0x3a')]:_0x5efdf0[_0x8aad('0x35')];_0x33b9b7[_0x8aad('0x3f')]=qs[_0x8aad('0x40')](_0x40fe70['query'][_0x8aad('0x40')]);_0x33b9b7[_0x8aad('0x41')]=qs[_0x8aad('0x38')](_['pick'](_0x40fe70[_0x8aad('0x36')],_0x5efdf0[_0x8aad('0x38')]));if(_0x40fe70[_0x8aad('0x36')][_0x8aad('0x42')]){_0x33b9b7[_0x8aad('0x41')]=_[_0x8aad('0x43')](_0x33b9b7[_0x8aad('0x41')],{'$or':_[_0x8aad('0x31')](_0x33b9b7['attributes'],function(_0x76e584){var _0x18ddc9={};_0x18ddc9[_0x76e584]={'$like':'%'+_0x40fe70[_0x8aad('0x36')]['filter']+'%'};return _0x18ddc9;})});}_0x33b9b7=_[_0x8aad('0x43')]({},_0x33b9b7,_0x40fe70[_0x8aad('0x4c')]);return _0x4bd114[_0x8aad('0x8c')](_0x33b9b7);}})[_0x8aad('0x28')](function(_0x55fda4){if(_0x55fda4){_0x5ebd62=_0x55fda4[_0x8aad('0x3c')];if(!_0x40fe70[_0x8aad('0x36')][_0x8aad('0x3d')](_0x8aad('0x3e'))){_0x33b9b7[_0x8aad('0x22')]=qs['limit'](_0x40fe70[_0x8aad('0x36')][_0x8aad('0x22')]);_0x33b9b7[_0x8aad('0x21')]=qs['offset'](_0x40fe70[_0x8aad('0x36')][_0x8aad('0x21')]);}return _0x4bd114[_0x8aad('0x8c')](_0x33b9b7);}})[_0x8aad('0x28')](function(_0x2437fc){if(_0x2437fc){return _0x2437fc?{'count':_0x5ebd62,'rows':_0x2437fc}:null;}})[_0x8aad('0x28')](respondWithResult(_0x253156,null))[_0x8aad('0x49')](handleError(_0x253156,null));};