ab17f3ca7fd22d324cb430f1feaeec930cd8611a
[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 _0xf639=['mustache','util','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','sendStatus','end','json','count','offset','limit','status','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','error','stack','name','index','map','OpenchannelQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','order','sort','where','pick','filter','VIRTUAL','merge','options','include','rows','catch','includeAll','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','OpenchannelQueues','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserOpenchannelQueue','hasOwnProperty','nolimit','OpenchannelQueueId','findAll','findAndCountAll','UserId','agent','updatedAt','createdAt','%s/%s','SIP','getTeams','Team','addTeams','ids','User','Agents','interface','transaction','each','findOrCreate','forEach','emit','userOpenchannelQueue:save','select','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','sequelize','QueryTypes','SELECT','every','includes','all','union','compact','value','removeTeams','isEmpty','removeAgents','addAgents','spread','userOpenchannelQueue:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird'];(function(_0x3b61a9,_0x18427b){var _0x2b0b9d=function(_0x29d1bd){while(--_0x29d1bd){_0x3b61a9['push'](_0x3b61a9['shift']());}};_0x2b0b9d(++_0x18427b);}(_0xf639,0x88));var _0x9f63=function(_0x27a848,_0x2dfc9a){_0x27a848=_0x27a848-0x0;var _0x57dbb0=_0xf639[_0x27a848];return _0x57dbb0;};'use strict';var pdf=require(_0x9f63('0x0'));var emlformat=require(_0x9f63('0x1'));var rimraf=require(_0x9f63('0x2'));var zipdir=require(_0x9f63('0x3'));var jsonpatch=require(_0x9f63('0x4'));var rp=require('request-promise');var moment=require(_0x9f63('0x5'));var BPromise=require(_0x9f63('0x6'));var Mustache=require(_0x9f63('0x7'));var util=require(_0x9f63('0x8'));var path=require('path');var sox=require(_0x9f63('0x9'));var csv=require('to-csv');var ejs=require(_0x9f63('0xa'));var fs=require('fs');var _=require(_0x9f63('0xb'));var squel=require(_0x9f63('0xc'));var crypto=require(_0x9f63('0xd'));var jsforce=require(_0x9f63('0xe'));var deskjs=require(_0x9f63('0xf'));var toCsv=require(_0x9f63('0x10'));var querystring=require(_0x9f63('0x11'));var Papa=require(_0x9f63('0x12'));var Redis=require(_0x9f63('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x9f63('0x14'));var as=require(_0x9f63('0x15'));var hardwareService=require(_0x9f63('0x16'));var logger=require(_0x9f63('0x17'))(_0x9f63('0x18'));var utils=require(_0x9f63('0x19'));var config=require(_0x9f63('0x1a'));var licenseUtil=require(_0x9f63('0x1b'));var db=require(_0x9f63('0x1c'))['db'];config[_0x9f63('0x1d')]=_[_0x9f63('0x1e')](config[_0x9f63('0x1d')],{'host':'localhost','port':0x18eb});var socket=require(_0x9f63('0x1f'))(new Redis(config[_0x9f63('0x1d')]));require('./openchannelQueue.socket')[_0x9f63('0x20')](socket);function respondWithStatusCode(_0x1493c3,_0xc2072b){_0xc2072b=_0xc2072b||0xcc;return function(_0x1c1386){if(_0x1c1386){return _0x1493c3[_0x9f63('0x21')](_0xc2072b);}return _0x1493c3['status'](_0xc2072b)[_0x9f63('0x22')]();};}function respondWithResult(_0xc89c71,_0x29174b){_0x29174b=_0x29174b||0xc8;return function(_0x149d95){if(_0x149d95){return _0xc89c71['status'](_0x29174b)[_0x9f63('0x23')](_0x149d95);}};}function respondWithFilteredResult(_0x19f6ea,_0x3466d8){return function(_0x162697){if(_0x162697){var _0x41c108=_0x162697[_0x9f63('0x24')],_0x42d0af=_0x3466d8[_0x9f63('0x25')],_0x7d840c=_0x3466d8[_0x9f63('0x25')]+_0x3466d8[_0x9f63('0x26')],_0x4dc522;if(_0x7d840c>=_0x41c108){_0x7d840c=_0x41c108;_0x4dc522=0xc8;}else{_0x4dc522=0xce;}_0x19f6ea[_0x9f63('0x27')](_0x4dc522);return _0x19f6ea['set'](_0x9f63('0x28'),_0x42d0af+'-'+_0x7d840c+'/'+_0x41c108)[_0x9f63('0x23')](_0x162697);}return null;};}function patchUpdates(_0x2f9602){return function(_0x17c55f){try{jsonpatch[_0x9f63('0x29')](_0x17c55f,_0x2f9602,!![]);}catch(_0x5b07c6){return BPromise[_0x9f63('0x2a')](_0x5b07c6);}return _0x17c55f[_0x9f63('0x2b')]();};}function saveUpdates(_0x41e24e,_0x642eb7){return function(_0x417d4b){if(_0x417d4b){return _0x417d4b[_0x9f63('0x2c')](_0x41e24e)[_0x9f63('0x2d')](function(_0x4b65bb){return _0x4b65bb;});}return null;};}function removeEntity(_0x40beeb,_0x411e77){return function(_0x15ee52){if(_0x15ee52){return _0x15ee52[_0x9f63('0x2e')]()[_0x9f63('0x2d')](function(){var _0x2ce9b1=_0x15ee52[_0x9f63('0x2f')]({'plain':!![]});var _0x47f7dc='OpenchannelQueues';return db[_0x9f63('0x30')][_0x9f63('0x2e')]({'where':{'type':_0x47f7dc,'resourceId':_0x2ce9b1['id']}})['then'](function(){return _0x15ee52;});})[_0x9f63('0x2d')](function(){_0x40beeb[_0x9f63('0x27')](0xcc)[_0x9f63('0x22')]();});}};}function handleEntityNotFound(_0x2d11dd,_0x1c4449){return function(_0x1afaa6){if(!_0x1afaa6){_0x2d11dd[_0x9f63('0x21')](0x194);}return _0x1afaa6;};}function handleError(_0x34a453,_0x2d777b){_0x2d777b=_0x2d777b||0x1f4;return function(_0x1d2ba6){logger[_0x9f63('0x31')](_0x1d2ba6[_0x9f63('0x32')]);if(_0x1d2ba6[_0x9f63('0x33')]){delete _0x1d2ba6[_0x9f63('0x33')];}_0x34a453[_0x9f63('0x27')](_0x2d777b)['send'](_0x1d2ba6);};}exports[_0x9f63('0x34')]=function(_0x4d44b1,_0x329b97){var _0x130144={},_0x2b2950={},_0x518fc9={'count':0x0,'rows':[]};var _0x3bebec=_[_0x9f63('0x35')](db[_0x9f63('0x36')][_0x9f63('0x37')],function(_0x4ab37b){return{'name':_0x4ab37b[_0x9f63('0x38')],'type':_0x4ab37b[_0x9f63('0x39')][_0x9f63('0x3a')]};});_0x2b2950[_0x9f63('0x3b')]=_[_0x9f63('0x35')](_0x3bebec,_0x9f63('0x33'));_0x2b2950[_0x9f63('0x3c')]=_[_0x9f63('0x3d')](_0x4d44b1[_0x9f63('0x3c')]);_0x2b2950[_0x9f63('0x3e')]=_[_0x9f63('0x3f')](_0x2b2950[_0x9f63('0x3b')],_0x2b2950[_0x9f63('0x3c')]);_0x130144[_0x9f63('0x40')]=_[_0x9f63('0x3f')](_0x2b2950['model'],qs[_0x9f63('0x41')](_0x4d44b1['query'][_0x9f63('0x41')]));_0x130144[_0x9f63('0x40')]=_0x130144['attributes'][_0x9f63('0x42')]?_0x130144[_0x9f63('0x40')]:_0x2b2950[_0x9f63('0x3b')];if(!_0x4d44b1['query']['hasOwnProperty']('nolimit')){_0x130144[_0x9f63('0x26')]=qs[_0x9f63('0x26')](_0x4d44b1['query']['limit']);_0x130144[_0x9f63('0x25')]=qs[_0x9f63('0x25')](_0x4d44b1['query'][_0x9f63('0x25')]);}_0x130144[_0x9f63('0x43')]=qs[_0x9f63('0x44')](_0x4d44b1['query'][_0x9f63('0x44')]);_0x130144[_0x9f63('0x45')]=qs['filters'](_[_0x9f63('0x46')](_0x4d44b1['query'],_0x2b2950['filters']),_0x3bebec);if(_0x4d44b1[_0x9f63('0x3c')][_0x9f63('0x47')]){_0x130144['where']=_['merge'](_0x130144[_0x9f63('0x45')],{'$or':_['map'](_0x3bebec,function(_0x1953f9){if(_0x1953f9['type']!==_0x9f63('0x48')){var _0x789cd5={};_0x789cd5[_0x1953f9[_0x9f63('0x33')]]={'$like':'%'+_0x4d44b1[_0x9f63('0x3c')][_0x9f63('0x47')]+'%'};return _0x789cd5;}})});}_0x130144=_[_0x9f63('0x49')]({},_0x130144,_0x4d44b1[_0x9f63('0x4a')]);var _0x5b8fa5={'where':_0x130144['where']};return db[_0x9f63('0x36')]['count'](_0x5b8fa5)[_0x9f63('0x2d')](function(_0x13f7c8){_0x518fc9[_0x9f63('0x24')]=_0x13f7c8;if(_0x4d44b1[_0x9f63('0x3c')]['includeAll']){_0x130144[_0x9f63('0x4b')]=[{'all':!![]}];}return db[_0x9f63('0x36')]['findAll'](_0x130144);})[_0x9f63('0x2d')](function(_0x26adcb){_0x518fc9[_0x9f63('0x4c')]=_0x26adcb;return _0x518fc9;})['then'](respondWithFilteredResult(_0x329b97,_0x130144))[_0x9f63('0x4d')](handleError(_0x329b97,null));};exports['show']=function(_0x30987e,_0x263a0f){var _0x9578d7={'raw':!![],'where':{'id':_0x30987e['params']['id']}},_0xb64c0e={};_0xb64c0e[_0x9f63('0x3b')]=_['keys'](db[_0x9f63('0x36')][_0x9f63('0x37')]);_0xb64c0e[_0x9f63('0x3c')]=_['keys'](_0x30987e['query']);_0xb64c0e[_0x9f63('0x3e')]=_[_0x9f63('0x3f')](_0xb64c0e['model'],_0xb64c0e[_0x9f63('0x3c')]);_0x9578d7[_0x9f63('0x40')]=_[_0x9f63('0x3f')](_0xb64c0e[_0x9f63('0x3b')],qs[_0x9f63('0x41')](_0x30987e[_0x9f63('0x3c')][_0x9f63('0x41')]));_0x9578d7[_0x9f63('0x40')]=_0x9578d7['attributes'][_0x9f63('0x42')]?_0x9578d7[_0x9f63('0x40')]:_0xb64c0e[_0x9f63('0x3b')];if(_0x30987e[_0x9f63('0x3c')][_0x9f63('0x4e')]){_0x9578d7['include']=[{'all':!![]}];}_0x9578d7=_[_0x9f63('0x49')]({},_0x9578d7,_0x30987e['options']);return db['OpenchannelQueue'][_0x9f63('0x4f')](_0x9578d7)[_0x9f63('0x2d')](handleEntityNotFound(_0x263a0f,null))[_0x9f63('0x2d')](respondWithResult(_0x263a0f,null))[_0x9f63('0x4d')](handleError(_0x263a0f,null));};exports['create']=function(_0x27d060,_0xb2d4f8){return db['OpenchannelQueue']['create'](_0x27d060[_0x9f63('0x50')],{})[_0x9f63('0x2d')](function(_0x20ded1){var _0x166357=_0x27d060[_0x9f63('0x51')][_0x9f63('0x2f')]({'plain':!![]});if(!_0x166357)throw new Error(_0x9f63('0x52'));if(_0x166357['role']===_0x9f63('0x51')){var _0x4e847e=_0x20ded1[_0x9f63('0x2f')]({'plain':!![]});var _0x35d1ba=_0x9f63('0x53');return db[_0x9f63('0x54')]['find']({'where':{'name':_0x35d1ba,'userProfileId':_0x166357[_0x9f63('0x55')]},'raw':!![]})[_0x9f63('0x2d')](function(_0x44cd3d){if(_0x44cd3d&&_0x44cd3d[_0x9f63('0x56')]===0x0){return db[_0x9f63('0x30')]['create']({'name':_0x4e847e['name'],'resourceId':_0x4e847e['id'],'type':_0x44cd3d[_0x9f63('0x33')],'sectionId':_0x44cd3d['id']},{})['then'](function(){return _0x20ded1;});}else{return _0x20ded1;}})[_0x9f63('0x4d')](function(_0x19ac5b){logger['error'](_0x9f63('0x57'),_0x19ac5b);throw _0x19ac5b;});}return _0x20ded1;})[_0x9f63('0x2d')](respondWithResult(_0xb2d4f8,0xc9))[_0x9f63('0x4d')](handleError(_0xb2d4f8,null));};exports['update']=function(_0x21df1f,_0x4062a6){if(_0x21df1f[_0x9f63('0x50')]['id']){delete _0x21df1f['body']['id'];}return db['OpenchannelQueue'][_0x9f63('0x4f')]({'where':{'id':_0x21df1f[_0x9f63('0x58')]['id']}})[_0x9f63('0x2d')](handleEntityNotFound(_0x4062a6,null))[_0x9f63('0x2d')](saveUpdates(_0x21df1f['body'],null))[_0x9f63('0x2d')](respondWithResult(_0x4062a6,null))[_0x9f63('0x4d')](handleError(_0x4062a6,null));};exports[_0x9f63('0x2e')]=function(_0x203c4d,_0x22711e){return db[_0x9f63('0x36')][_0x9f63('0x4f')]({'where':{'id':_0x203c4d[_0x9f63('0x58')]['id']}})[_0x9f63('0x2d')](handleEntityNotFound(_0x22711e,null))[_0x9f63('0x2d')](removeEntity(_0x22711e,null))[_0x9f63('0x4d')](handleError(_0x22711e,null));};exports[_0x9f63('0x59')]=function(_0x50fb43,_0x3b59d5){return db[_0x9f63('0x36')][_0x9f63('0x59')]()[_0x9f63('0x2d')](respondWithResult(_0x3b59d5,null))[_0x9f63('0x4d')](handleError(_0x3b59d5,null));};exports[_0x9f63('0x5a')]=function(_0x2d99a9,_0xfd47a3,_0x310aa3){var _0x3dcda0={'raw':!![],'where':{}},_0x50e9cd={},_0x18b32c;return db[_0x9f63('0x36')][_0x9f63('0x5b')]({'where':{'id':_0x2d99a9['params']['id']}})['then'](handleEntityNotFound(_0xfd47a3,null))['then'](function(_0x43f0fd){if(_0x43f0fd){_0x18b32c=_0x43f0fd[_0x9f63('0x2f')]({'plain':!![]});_0x50e9cd[_0x9f63('0x3b')]=_[_0x9f63('0x3d')](db[_0x9f63('0x5c')][_0x9f63('0x37')]);_0x50e9cd['query']=_[_0x9f63('0x3d')](_0x2d99a9['query']);_0x50e9cd[_0x9f63('0x3e')]=_[_0x9f63('0x3f')](_0x50e9cd[_0x9f63('0x3b')],_0x50e9cd['query']);_0x3dcda0[_0x9f63('0x40')]=_[_0x9f63('0x3f')](_0x50e9cd['model'],qs['fields'](_0x2d99a9['query']['fields']));_0x3dcda0[_0x9f63('0x40')]=_0x3dcda0[_0x9f63('0x40')][_0x9f63('0x42')]?_0x3dcda0[_0x9f63('0x40')]:_0x50e9cd['model'];if(!_0x2d99a9[_0x9f63('0x3c')][_0x9f63('0x5d')](_0x9f63('0x5e'))){_0x3dcda0[_0x9f63('0x26')]=qs[_0x9f63('0x26')](_0x2d99a9[_0x9f63('0x3c')][_0x9f63('0x26')]);_0x3dcda0[_0x9f63('0x25')]=qs[_0x9f63('0x25')](_0x2d99a9[_0x9f63('0x3c')][_0x9f63('0x25')]);}_0x3dcda0['order']=qs[_0x9f63('0x44')](_0x2d99a9[_0x9f63('0x3c')]['sort']);_0x3dcda0[_0x9f63('0x45')]=qs[_0x9f63('0x3e')](_['pick'](_0x2d99a9[_0x9f63('0x3c')],_0x50e9cd['filters']));_0x3dcda0['where'][_0x9f63('0x5f')]=_0x43f0fd['id'];if(_0x2d99a9[_0x9f63('0x3c')][_0x9f63('0x47')]){_0x3dcda0[_0x9f63('0x45')]=_[_0x9f63('0x49')](_0x3dcda0[_0x9f63('0x45')],{'$or':_[_0x9f63('0x35')](_0x3dcda0[_0x9f63('0x40')],function(_0x3eaad0){var _0x190b64={};_0x190b64[_0x3eaad0]={'$like':'%'+_0x2d99a9['query'][_0x9f63('0x47')]+'%'};return _0x190b64;})});}_0x3dcda0=_['merge']({},_0x3dcda0,_0x2d99a9['options']);return db[_0x9f63('0x5c')][_0x9f63('0x60')](_0x3dcda0);}})['then'](function(_0x22243f){if(_0x22243f){return db['User'][_0x9f63('0x61')]({'where':{'id':_[_0x9f63('0x35')](_0x22243f,_0x9f63('0x62')),'role':_0x9f63('0x63')},'attributes':['id',_0x9f63('0x33'),'openchannelPause',_0x9f63('0x64'),_0x9f63('0x65')]});}})['then'](function(_0xed5804){if(_0xed5804){return{'count':_0xed5804['count'],'rows':_[_0x9f63('0x35')](_0xed5804[_0x9f63('0x4c')],function(_0x20850d){return{'membername':_0x20850d[_0x9f63('0x33')],'UserId':_0x20850d['id'],'queue_name':_0x18b32c[_0x9f63('0x33')],'OpenchannelQueueId':_0x18b32c['id'],'interface':util['format'](_0x9f63('0x66'),_0x9f63('0x67'),_0x20850d[_0x9f63('0x33')]),'penalty':0x0,'paused':_0x20850d['openchannelPause'],'createdAt':_0x20850d['createdAt'],'updatedAt':_0x20850d[_0x9f63('0x64')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x9f63('0x2d')](respondWithFilteredResult(_0xfd47a3,_0x3dcda0))[_0x9f63('0x4d')](handleError(_0xfd47a3,null));};exports[_0x9f63('0x68')]=function(_0x51552d,_0x181c0a,_0x5da50d){var _0x5f4d6d={};var _0x137c2d={};var _0x32b56a;var _0x116788;return db[_0x9f63('0x36')][_0x9f63('0x5b')]({'where':{'id':_0x51552d['params']['id']}})[_0x9f63('0x2d')](handleEntityNotFound(_0x181c0a,null))[_0x9f63('0x2d')](function(_0x1810d6){if(_0x1810d6){_0x32b56a=_0x1810d6;_0x137c2d[_0x9f63('0x3b')]=_[_0x9f63('0x3d')](db[_0x9f63('0x69')][_0x9f63('0x37')]);_0x137c2d[_0x9f63('0x3c')]=_[_0x9f63('0x3d')](_0x51552d[_0x9f63('0x3c')]);_0x137c2d[_0x9f63('0x3e')]=_[_0x9f63('0x3f')](_0x137c2d[_0x9f63('0x3b')],_0x137c2d['query']);_0x5f4d6d['attributes']=_[_0x9f63('0x3f')](_0x137c2d[_0x9f63('0x3b')],qs[_0x9f63('0x41')](_0x51552d[_0x9f63('0x3c')][_0x9f63('0x41')]));_0x5f4d6d[_0x9f63('0x40')]=_0x5f4d6d[_0x9f63('0x40')][_0x9f63('0x42')]?_0x5f4d6d[_0x9f63('0x40')]:_0x137c2d[_0x9f63('0x3b')];_0x5f4d6d[_0x9f63('0x43')]=qs[_0x9f63('0x44')](_0x51552d['query'][_0x9f63('0x44')]);_0x5f4d6d[_0x9f63('0x45')]=qs[_0x9f63('0x3e')](_[_0x9f63('0x46')](_0x51552d[_0x9f63('0x3c')],_0x137c2d[_0x9f63('0x3e')]));if(_0x51552d[_0x9f63('0x3c')]['filter']){_0x5f4d6d[_0x9f63('0x45')]=_[_0x9f63('0x49')](_0x5f4d6d[_0x9f63('0x45')],{'$or':_['map'](_0x5f4d6d[_0x9f63('0x40')],function(_0xdbb9c1){var _0x1db4b6={};_0x1db4b6[_0xdbb9c1]={'$like':'%'+_0x51552d[_0x9f63('0x3c')][_0x9f63('0x47')]+'%'};return _0x1db4b6;})});}_0x5f4d6d=_['merge']({},_0x5f4d6d,_0x51552d['options']);return _0x32b56a[_0x9f63('0x68')](_0x5f4d6d);}})[_0x9f63('0x2d')](function(_0x4c4e60){if(_0x4c4e60){_0x116788=_0x4c4e60[_0x9f63('0x42')];if(!_0x51552d[_0x9f63('0x3c')][_0x9f63('0x5d')]('nolimit')){_0x5f4d6d[_0x9f63('0x26')]=qs['limit'](_0x51552d[_0x9f63('0x3c')][_0x9f63('0x26')]);_0x5f4d6d[_0x9f63('0x25')]=qs[_0x9f63('0x25')](_0x51552d[_0x9f63('0x3c')][_0x9f63('0x25')]);}return _0x32b56a[_0x9f63('0x68')](_0x5f4d6d);}})['then'](function(_0x15e263){if(_0x15e263){return _0x15e263?{'count':_0x116788,'rows':_0x15e263}:null;}})[_0x9f63('0x2d')](respondWithResult(_0x181c0a,null))['catch'](handleError(_0x181c0a,null));};exports[_0x9f63('0x6a')]=function(_0x35e288,_0x1eadf9,_0x183863){var _0x3be12c=_0x35e288[_0x9f63('0x50')][_0x9f63('0x6b')];return db[_0x9f63('0x69')][_0x9f63('0x60')]({'where':{'id':_0x3be12c},'attributes':['id'],'include':[{'model':db[_0x9f63('0x6c')],'as':_0x9f63('0x6d'),'attributes':['id',_0x9f63('0x33'),'online','voicePause',_0x9f63('0x6e')],'raw':!![]}]})[_0x9f63('0x2d')](function(_0x409357){if(_0x409357){var _0x21474a=_['flatMap'](_0x409357,function(_0x17b070){var _0x669a75=_0x17b070[_0x9f63('0x2f')]({'plain':!![]});return _0x669a75[_0x9f63('0x6d')];});return db[_0x9f63('0x36')][_0x9f63('0x4f')]({'where':{'id':_0x35e288[_0x9f63('0x58')]['id']}})[_0x9f63('0x2d')](function(_0xab7b37){return db['sequelize'][_0x9f63('0x6f')](function(_0x57c251){return _0xab7b37['addTeams'](_0x3be12c,{'transaction':_0x57c251})['then'](function(){return BPromise[_0x9f63('0x70')](_0x21474a,function(_0x3d142b){return db[_0x9f63('0x5c')][_0x9f63('0x71')]({'where':{'UserId':_0x3d142b['id'],'OpenchannelQueueId':_0x35e288['params']['id']},'transaction':_0x57c251});});})['then'](function(){_0x21474a[_0x9f63('0x72')](function(_0x938226){socket[_0x9f63('0x73')](_0x9f63('0x74'),{'UserId':_0x938226['id'],'OpenchannelQueueId':_0xab7b37['id']});});});});});}})[_0x9f63('0x2d')](respondWithStatusCode(_0x1eadf9,null))[_0x9f63('0x4d')](handleError(_0x1eadf9,null));};exports['removeTeams']=function(_0x2959af,_0x5e3354,_0xa5da09){return db[_0x9f63('0x69')][_0x9f63('0x60')]({'where':{'id':_0x2959af[_0x9f63('0x3c')]['ids']},'attributes':['id'],'include':[{'model':db[_0x9f63('0x6c')],'as':_0x9f63('0x6d'),'attributes':['id'],'raw':!![]}]})[_0x9f63('0x2d')](handleEntityNotFound(_0x5e3354,null))['then'](function(_0x4748dc){var _0x5c006e=_['map'](_0x4748dc,'id');var _0x411fe6=[];var _0x31f738=[];var _0x203dec=squel[_0x9f63('0x75')]();_0x203dec['field']('tq.TeamId')[_0x9f63('0x76')](_0x9f63('0x77'),'tq')[_0x9f63('0x78')](_0x9f63('0x79'),'ut',_0x9f63('0x7a'))[_0x9f63('0x45')]('OpenchannelQueueId\x20=\x20?',_0x2959af[_0x9f63('0x58')]['id']);for(var _0x1d620d=0x0;_0x1d620d<_0x4748dc[_0x9f63('0x42')];_0x1d620d+=0x1){let _0x465b14=_0x4748dc[_0x1d620d];for(var _0x480af0=0x0;_0x480af0<_0x465b14[_0x9f63('0x6d')][_0x9f63('0x42')];_0x480af0+=0x1){let _0x4663e4=_0x465b14[_0x9f63('0x6d')][_0x480af0];var _0x5ea2c0=_0x203dec[_0x9f63('0x7b')]();_0x5ea2c0[_0x9f63('0x45')](_0x9f63('0x7c'),_0x4663e4['id']);_0x31f738[_0x9f63('0x7d')](db['sequelize'][_0x9f63('0x3c')](_0x5ea2c0[_0x9f63('0x7e')](),{'type':db[_0x9f63('0x7f')][_0x9f63('0x80')][_0x9f63('0x81')]})[_0x9f63('0x2d')](function(_0x184b11){if(_0x184b11[_0x9f63('0x42')]===0x1){return _0x4663e4['id'];}else{var _0xeb8c0e=_[_0x9f63('0x82')](_[_0x9f63('0x35')](_0x184b11,'TeamId'),function(_0x4a41cd){return _[_0x9f63('0x83')](_0x5c006e,_0x4a41cd);});if(_0xeb8c0e){return _0x4663e4['id'];}}}));}}return BPromise[_0x9f63('0x84')](_0x31f738)[_0x9f63('0x2d')](function(_0x442c39){_0x411fe6=_(_0x411fe6)[_0x9f63('0x85')](_0x442c39)[_0x9f63('0x86')]()[_0x9f63('0x87')]();return db[_0x9f63('0x36')][_0x9f63('0x4f')]({'where':{'id':_0x2959af[_0x9f63('0x58')]['id']}})[_0x9f63('0x2d')](function(_0x3abb09){return db['sequelize']['transaction'](function(_0x3effc8){return _0x3abb09[_0x9f63('0x88')](_0x2959af[_0x9f63('0x3c')][_0x9f63('0x6b')],{'transaction':_0x3effc8})[_0x9f63('0x2d')](function(){if(!_[_0x9f63('0x89')](_0x411fe6)){return _0x3abb09[_0x9f63('0x8a')](_0x411fe6,{'transaction':_0x3effc8});}})['then'](function(){_0x411fe6[_0x9f63('0x72')](function(_0x8f18bc){socket[_0x9f63('0x73')]('userOpenchannelQueue:remove',{'UserId':_0x8f18bc,'OpenchannelQueueId':_0x3abb09['id']});});});});});});})[_0x9f63('0x2d')](respondWithStatusCode(_0x5e3354,null))[_0x9f63('0x4d')](handleError(_0x5e3354,null));};exports[_0x9f63('0x8b')]=function(_0x112dc6,_0x31cc18,_0x5ba77d){return db[_0x9f63('0x36')][_0x9f63('0x4f')]({'where':{'id':_0x112dc6['params']['id']}})[_0x9f63('0x2d')](handleEntityNotFound(_0x31cc18,null))[_0x9f63('0x2d')](function(_0x3fb74a){if(_0x3fb74a){return _0x3fb74a['addAgents'](_0x112dc6[_0x9f63('0x50')][_0x9f63('0x6b')],_['omit'](_0x112dc6[_0x9f63('0x50')],[_0x9f63('0x6b'),'id'])||{})[_0x9f63('0x8c')](function(_0x374841){for(var _0x1b427b=0x0;_0x1b427b<_0x112dc6[_0x9f63('0x50')]['ids']['length'];_0x1b427b+=0x1){socket['emit'](_0x9f63('0x74'),{'UserId':_0x112dc6[_0x9f63('0x50')][_0x9f63('0x6b')][_0x1b427b],'OpenchannelQueueId':_0x112dc6[_0x9f63('0x58')]['id']});}return _0x374841;});}})[_0x9f63('0x2d')](respondWithResult(_0x31cc18,null))[_0x9f63('0x4d')](handleError(_0x31cc18,null));};exports[_0x9f63('0x8a')]=function(_0x38eb06,_0x108102,_0x275497){return db[_0x9f63('0x36')][_0x9f63('0x4f')]({'where':{'id':_0x38eb06[_0x9f63('0x58')]['id']}})['then'](handleEntityNotFound(_0x108102,null))[_0x9f63('0x2d')](function(_0x496d87){if(_0x496d87){return _0x496d87[_0x9f63('0x8a')](_0x38eb06[_0x9f63('0x3c')][_0x9f63('0x6b')])[_0x9f63('0x2d')](function(){if(_['isArray'](_0x38eb06[_0x9f63('0x3c')][_0x9f63('0x6b')])){for(var _0x448bf2=0x0;_0x448bf2<_0x38eb06[_0x9f63('0x3c')][_0x9f63('0x6b')][_0x9f63('0x42')];_0x448bf2+=0x1){socket[_0x9f63('0x73')]('userOpenchannelQueue:remove',{'UserId':Number(_0x38eb06[_0x9f63('0x3c')]['ids'][_0x448bf2]),'OpenchannelQueueId':Number(_0x38eb06[_0x9f63('0x58')]['id'])});}}else{socket['emit'](_0x9f63('0x8d'),{'UserId':Number(_0x38eb06['query'][_0x9f63('0x6b')]),'OpenchannelQueueId':Number(_0x38eb06['params']['id'])});}});}})[_0x9f63('0x2d')](respondWithStatusCode(_0x108102,null))[_0x9f63('0x4d')](handleError(_0x108102,null));};exports[_0x9f63('0x8e')]=function(_0x2bb66b,_0x3a32ca,_0x243718){var _0x5b174a={};var _0x4c03eb={};var _0x5db208;var _0x7d1b15;return db[_0x9f63('0x36')][_0x9f63('0x5b')]({'where':{'id':_0x2bb66b[_0x9f63('0x58')]['id']}})[_0x9f63('0x2d')](handleEntityNotFound(_0x3a32ca,null))[_0x9f63('0x2d')](function(_0x253963){if(_0x253963){_0x5db208=_0x253963;_0x4c03eb[_0x9f63('0x3b')]=_['keys'](db[_0x9f63('0x6c')]['rawAttributes']);_0x4c03eb[_0x9f63('0x3c')]=_[_0x9f63('0x3d')](_0x2bb66b[_0x9f63('0x3c')]);_0x4c03eb['filters']=_['intersection'](_0x4c03eb['model'],_0x4c03eb[_0x9f63('0x3c')]);_0x5b174a[_0x9f63('0x40')]=_[_0x9f63('0x3f')](_0x4c03eb[_0x9f63('0x3b')],qs[_0x9f63('0x41')](_0x2bb66b[_0x9f63('0x3c')][_0x9f63('0x41')]));_0x5b174a[_0x9f63('0x40')]=_0x5b174a[_0x9f63('0x40')]['length']?_0x5b174a[_0x9f63('0x40')]:_0x4c03eb['model'];_0x5b174a[_0x9f63('0x43')]=qs[_0x9f63('0x44')](_0x2bb66b['query'][_0x9f63('0x44')]);_0x5b174a[_0x9f63('0x45')]=qs[_0x9f63('0x3e')](_[_0x9f63('0x46')](_0x2bb66b[_0x9f63('0x3c')],_0x4c03eb['filters']));if(_0x2bb66b[_0x9f63('0x3c')]['filter']){_0x5b174a[_0x9f63('0x45')]=_['merge'](_0x5b174a[_0x9f63('0x45')],{'$or':_[_0x9f63('0x35')](_0x5b174a['attributes'],function(_0x50918c){var _0x5df323={};_0x5df323[_0x50918c]={'$like':'%'+_0x2bb66b[_0x9f63('0x3c')][_0x9f63('0x47')]+'%'};return _0x5df323;})});}_0x5b174a=_[_0x9f63('0x49')]({},_0x5b174a,_0x2bb66b[_0x9f63('0x4a')]);return _0x5db208['getAgents'](_0x5b174a);}})['then'](function(_0x443ef5){if(_0x443ef5){_0x7d1b15=_0x443ef5[_0x9f63('0x42')];if(!_0x2bb66b['query']['hasOwnProperty'](_0x9f63('0x5e'))){_0x5b174a['limit']=qs[_0x9f63('0x26')](_0x2bb66b[_0x9f63('0x3c')][_0x9f63('0x26')]);_0x5b174a[_0x9f63('0x25')]=qs[_0x9f63('0x25')](_0x2bb66b[_0x9f63('0x3c')][_0x9f63('0x25')]);}return _0x5db208[_0x9f63('0x8e')](_0x5b174a);}})[_0x9f63('0x2d')](function(_0x436c44){if(_0x436c44){return _0x436c44?{'count':_0x7d1b15,'rows':_0x436c44}:null;}})[_0x9f63('0x2d')](respondWithResult(_0x3a32ca,null))[_0x9f63('0x4d')](handleError(_0x3a32ca,null));};