Built motion from commit 43538d75.|2.5.35
[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 _0xa31f=['ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','all','union','value','isEmpty','removeAgents','userOpenchannelQueue:remove','addAgents','omit','userOpenchannelQueue:save','getAgents','eml-format','zip-dir','fast-json-patch','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','./openchannelQueue.socket','register','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','OpenchannelQueues','UserProfileResource','end','error','stack','name','send','index','map','rawAttributes','type','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','OpenchannelQueue','includeAll','include','findAll','rows','catch','params','create','body','user','role','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserOpenchannelQueue','order','OpenchannelQueueId','User','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','SIP','getTeams','Team','addTeams','ids','online','voicePause','interface','flatMap','Agents','sequelize','transaction','forEach','emit','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone'];(function(_0x48695c,_0x44ea4d){var _0x310d58=function(_0x4a67b7){while(--_0x4a67b7){_0x48695c['push'](_0x48695c['shift']());}};_0x310d58(++_0x44ea4d);}(_0xa31f,0x126));var _0xfa31=function(_0x8ce8f,_0x421a19){_0x8ce8f=_0x8ce8f-0x0;var _0x5d8ddb=_0xa31f[_0x8ce8f];return _0x5d8ddb;};'use strict';var emlformat=require(_0xfa31('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfa31('0x1'));var jsonpatch=require(_0xfa31('0x2'));var rp=require('request-promise');var moment=require(_0xfa31('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xfa31('0x4'));var util=require('util');var path=require(_0xfa31('0x5'));var sox=require(_0xfa31('0x6'));var csv=require(_0xfa31('0x7'));var ejs=require(_0xfa31('0x8'));var fs=require('fs');var fs_extra=require(_0xfa31('0x9'));var _=require(_0xfa31('0xa'));var squel=require('squel');var crypto=require(_0xfa31('0xb'));var jsforce=require(_0xfa31('0xc'));var deskjs=require(_0xfa31('0xd'));var toCsv=require(_0xfa31('0x7'));var querystring=require('querystring');var Papa=require(_0xfa31('0xe'));var Redis=require('ioredis');var authService=require(_0xfa31('0xf'));var qs=require(_0xfa31('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfa31('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0xfa31('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xfa31('0x13'));var db=require(_0xfa31('0x14'))['db'];config[_0xfa31('0x15')]=_[_0xfa31('0x16')](config['redis'],{'host':_0xfa31('0x17'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xfa31('0x15')]));require(_0xfa31('0x18'))[_0xfa31('0x19')](socket);function respondWithStatusCode(_0x4e2cf8,_0x566e23){_0x566e23=_0x566e23||0xcc;return function(_0x2101e0){if(_0x2101e0){return _0x4e2cf8[_0xfa31('0x1a')](_0x566e23);}return _0x4e2cf8[_0xfa31('0x1b')](_0x566e23)['end']();};}function respondWithResult(_0x40e9a4,_0x12621c){_0x12621c=_0x12621c||0xc8;return function(_0x53899f){if(_0x53899f){return _0x40e9a4['status'](_0x12621c)[_0xfa31('0x1c')](_0x53899f);}};}function respondWithFilteredResult(_0xdb7df0,_0x4dc4dd){return function(_0x44f3a9){if(_0x44f3a9){var _0x545493=typeof _0x4dc4dd[_0xfa31('0x1d')]===_0xfa31('0x1e')&&typeof _0x4dc4dd[_0xfa31('0x1f')]===_0xfa31('0x1e');var _0x2120d6=_0x44f3a9['count'];var _0x311e86=_0x545493?0x0:_0x4dc4dd[_0xfa31('0x1d')];var _0x1e42e7=_0x545493?_0x44f3a9[_0xfa31('0x20')]:_0x4dc4dd[_0xfa31('0x1d')]+_0x4dc4dd[_0xfa31('0x1f')];var _0x378f96;if(_0x1e42e7>=_0x2120d6){_0x1e42e7=_0x2120d6;_0x378f96=0xc8;}else{_0x378f96=0xce;}_0xdb7df0[_0xfa31('0x1b')](_0x378f96);return _0xdb7df0[_0xfa31('0x21')](_0xfa31('0x22'),_0x311e86+'-'+_0x1e42e7+'/'+_0x2120d6)[_0xfa31('0x1c')](_0x44f3a9);}return null;};}function patchUpdates(_0x5ef9f7){return function(_0x1fbfac){try{jsonpatch[_0xfa31('0x23')](_0x1fbfac,_0x5ef9f7,!![]);}catch(_0x429306){return BPromise[_0xfa31('0x24')](_0x429306);}return _0x1fbfac[_0xfa31('0x25')]();};}function saveUpdates(_0x3db0bc,_0x26bb2a){return function(_0x4bb511){if(_0x4bb511){return _0x4bb511[_0xfa31('0x26')](_0x3db0bc)[_0xfa31('0x27')](function(_0x56ec25){return _0x56ec25;});}return null;};}function removeEntity(_0x1029f3,_0x2ffec0){return function(_0x52a15b){if(_0x52a15b){return _0x52a15b[_0xfa31('0x28')]()[_0xfa31('0x27')](function(){var _0x176113=_0x52a15b[_0xfa31('0x29')]({'plain':!![]});var _0x30c306=_0xfa31('0x2a');return db[_0xfa31('0x2b')][_0xfa31('0x28')]({'where':{'type':_0x30c306,'resourceId':_0x176113['id']}})[_0xfa31('0x27')](function(){return _0x52a15b;});})[_0xfa31('0x27')](function(){_0x1029f3['status'](0xcc)[_0xfa31('0x2c')]();});}};}function handleEntityNotFound(_0x19234d,_0x467597){return function(_0x10faaa){if(!_0x10faaa){_0x19234d[_0xfa31('0x1a')](0x194);}return _0x10faaa;};}function handleError(_0x27f20c,_0x4de678){_0x4de678=_0x4de678||0x1f4;return function(_0xb1678c){logger[_0xfa31('0x2d')](_0xb1678c[_0xfa31('0x2e')]);if(_0xb1678c['name']){delete _0xb1678c[_0xfa31('0x2f')];}_0x27f20c['status'](_0x4de678)[_0xfa31('0x30')](_0xb1678c);};}exports[_0xfa31('0x31')]=function(_0x5d78aa,_0x328fd6){var _0x2006be={},_0x19bbef={},_0x1d9513={'count':0x0,'rows':[]};var _0x30246c=_[_0xfa31('0x32')](db['OpenchannelQueue'][_0xfa31('0x33')],function(_0x139636){return{'name':_0x139636['fieldName'],'type':_0x139636[_0xfa31('0x34')][_0xfa31('0x35')]};});_0x19bbef[_0xfa31('0x36')]=_['map'](_0x30246c,_0xfa31('0x2f'));_0x19bbef['query']=_[_0xfa31('0x37')](_0x5d78aa['query']);_0x19bbef[_0xfa31('0x38')]=_[_0xfa31('0x39')](_0x19bbef[_0xfa31('0x36')],_0x19bbef[_0xfa31('0x3a')]);_0x2006be[_0xfa31('0x3b')]=_[_0xfa31('0x39')](_0x19bbef['model'],qs[_0xfa31('0x3c')](_0x5d78aa[_0xfa31('0x3a')]['fields']));_0x2006be['attributes']=_0x2006be[_0xfa31('0x3b')][_0xfa31('0x3d')]?_0x2006be[_0xfa31('0x3b')]:_0x19bbef[_0xfa31('0x36')];if(!_0x5d78aa[_0xfa31('0x3a')][_0xfa31('0x3e')](_0xfa31('0x3f'))){_0x2006be['limit']=qs['limit'](_0x5d78aa[_0xfa31('0x3a')][_0xfa31('0x1f')]);_0x2006be['offset']=qs[_0xfa31('0x1d')](_0x5d78aa[_0xfa31('0x3a')][_0xfa31('0x1d')]);}_0x2006be['order']=qs[_0xfa31('0x40')](_0x5d78aa[_0xfa31('0x3a')][_0xfa31('0x40')]);_0x2006be[_0xfa31('0x41')]=qs[_0xfa31('0x38')](_[_0xfa31('0x42')](_0x5d78aa['query'],_0x19bbef['filters']),_0x30246c);if(_0x5d78aa[_0xfa31('0x3a')][_0xfa31('0x43')]){_0x2006be[_0xfa31('0x41')]=_[_0xfa31('0x44')](_0x2006be[_0xfa31('0x41')],{'$or':_[_0xfa31('0x32')](_0x30246c,function(_0x14c39e){if(_0x14c39e['type']!==_0xfa31('0x45')){var _0x325d57={};_0x325d57[_0x14c39e[_0xfa31('0x2f')]]={'$like':'%'+_0x5d78aa[_0xfa31('0x3a')]['filter']+'%'};return _0x325d57;}})});}_0x2006be=_[_0xfa31('0x44')]({},_0x2006be,_0x5d78aa[_0xfa31('0x46')]);var _0xe17abf={'where':_0x2006be[_0xfa31('0x41')]};return db[_0xfa31('0x47')]['count'](_0xe17abf)['then'](function(_0x48d7e2){_0x1d9513['count']=_0x48d7e2;if(_0x5d78aa[_0xfa31('0x3a')][_0xfa31('0x48')]){_0x2006be[_0xfa31('0x49')]=[{'all':!![]}];}return db['OpenchannelQueue'][_0xfa31('0x4a')](_0x2006be);})[_0xfa31('0x27')](function(_0x50eb78){_0x1d9513[_0xfa31('0x4b')]=_0x50eb78;return _0x1d9513;})[_0xfa31('0x27')](respondWithFilteredResult(_0x328fd6,_0x2006be))[_0xfa31('0x4c')](handleError(_0x328fd6,null));};exports['show']=function(_0x62c822,_0x166488){var _0x181f99={'raw':!![],'where':{'id':_0x62c822[_0xfa31('0x4d')]['id']}},_0x391b60={};_0x391b60[_0xfa31('0x36')]=_['keys'](db[_0xfa31('0x47')]['rawAttributes']);_0x391b60['query']=_[_0xfa31('0x37')](_0x62c822[_0xfa31('0x3a')]);_0x391b60['filters']=_[_0xfa31('0x39')](_0x391b60['model'],_0x391b60['query']);_0x181f99[_0xfa31('0x3b')]=_['intersection'](_0x391b60[_0xfa31('0x36')],qs[_0xfa31('0x3c')](_0x62c822[_0xfa31('0x3a')]['fields']));_0x181f99['attributes']=_0x181f99[_0xfa31('0x3b')][_0xfa31('0x3d')]?_0x181f99['attributes']:_0x391b60[_0xfa31('0x36')];if(_0x62c822[_0xfa31('0x3a')][_0xfa31('0x48')]){_0x181f99[_0xfa31('0x49')]=[{'all':!![]}];}_0x181f99=_[_0xfa31('0x44')]({},_0x181f99,_0x62c822[_0xfa31('0x46')]);return db[_0xfa31('0x47')]['find'](_0x181f99)[_0xfa31('0x27')](handleEntityNotFound(_0x166488,null))['then'](respondWithResult(_0x166488,null))[_0xfa31('0x4c')](handleError(_0x166488,null));};exports['create']=function(_0x39c08c,_0x56573d){return db[_0xfa31('0x47')][_0xfa31('0x4e')](_0x39c08c[_0xfa31('0x4f')],{})['then'](function(_0x18873e){var _0x2ac7a5=_0x39c08c[_0xfa31('0x50')][_0xfa31('0x29')]({'plain':!![]});if(!_0x2ac7a5)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2ac7a5[_0xfa31('0x51')]===_0xfa31('0x50')){var _0x303f9d=_0x18873e[_0xfa31('0x29')]({'plain':!![]});var _0x1835ac=_0xfa31('0x2a');return db['UserProfileSection'][_0xfa31('0x52')]({'where':{'name':_0x1835ac,'userProfileId':_0x2ac7a5[_0xfa31('0x53')]},'raw':!![]})[_0xfa31('0x27')](function(_0x2517ca){if(_0x2517ca&&_0x2517ca[_0xfa31('0x54')]===0x0){return db[_0xfa31('0x2b')][_0xfa31('0x4e')]({'name':_0x303f9d[_0xfa31('0x2f')],'resourceId':_0x303f9d['id'],'type':_0x2517ca[_0xfa31('0x2f')],'sectionId':_0x2517ca['id']},{})[_0xfa31('0x27')](function(){return _0x18873e;});}else{return _0x18873e;}})[_0xfa31('0x4c')](function(_0xb22fae){logger[_0xfa31('0x2d')](_0xfa31('0x55'),_0xb22fae);throw _0xb22fae;});}return _0x18873e;})['then'](respondWithResult(_0x56573d,0xc9))[_0xfa31('0x4c')](handleError(_0x56573d,null));};exports[_0xfa31('0x26')]=function(_0x3c2a27,_0x205990){if(_0x3c2a27[_0xfa31('0x4f')]['id']){delete _0x3c2a27[_0xfa31('0x4f')]['id'];}return db['OpenchannelQueue'][_0xfa31('0x52')]({'where':{'id':_0x3c2a27[_0xfa31('0x4d')]['id']}})[_0xfa31('0x27')](handleEntityNotFound(_0x205990,null))['then'](saveUpdates(_0x3c2a27[_0xfa31('0x4f')],null))[_0xfa31('0x27')](respondWithResult(_0x205990,null))[_0xfa31('0x4c')](handleError(_0x205990,null));};exports[_0xfa31('0x28')]=function(_0x2dcf78,_0x928da8){return db[_0xfa31('0x47')][_0xfa31('0x52')]({'where':{'id':_0x2dcf78[_0xfa31('0x4d')]['id']}})['then'](handleEntityNotFound(_0x928da8,null))[_0xfa31('0x27')](removeEntity(_0x928da8,null))['catch'](handleError(_0x928da8,null));};exports[_0xfa31('0x56')]=function(_0x144a2c,_0x265915){return db[_0xfa31('0x47')][_0xfa31('0x56')]()[_0xfa31('0x27')](respondWithResult(_0x265915,null))['catch'](handleError(_0x265915,null));};exports[_0xfa31('0x57')]=function(_0x3fa5da,_0x30bbc5,_0x2c6d28){var _0x2780b1={'raw':!![],'where':{}},_0x3e88c1={},_0x257f37;return db[_0xfa31('0x47')][_0xfa31('0x58')]({'where':{'id':_0x3fa5da[_0xfa31('0x4d')]['id']}})['then'](handleEntityNotFound(_0x30bbc5,null))[_0xfa31('0x27')](function(_0x397649){if(_0x397649){_0x257f37=_0x397649[_0xfa31('0x29')]({'plain':!![]});_0x3e88c1[_0xfa31('0x36')]=_[_0xfa31('0x37')](db[_0xfa31('0x59')]['rawAttributes']);_0x3e88c1['query']=_['keys'](_0x3fa5da[_0xfa31('0x3a')]);_0x3e88c1[_0xfa31('0x38')]=_['intersection'](_0x3e88c1[_0xfa31('0x36')],_0x3e88c1['query']);_0x2780b1[_0xfa31('0x3b')]=_[_0xfa31('0x39')](_0x3e88c1['model'],qs['fields'](_0x3fa5da[_0xfa31('0x3a')][_0xfa31('0x3c')]));_0x2780b1['attributes']=_0x2780b1[_0xfa31('0x3b')][_0xfa31('0x3d')]?_0x2780b1[_0xfa31('0x3b')]:_0x3e88c1[_0xfa31('0x36')];if(!_0x3fa5da['query']['hasOwnProperty']('nolimit')){_0x2780b1[_0xfa31('0x1f')]=qs['limit'](_0x3fa5da['query'][_0xfa31('0x1f')]);_0x2780b1[_0xfa31('0x1d')]=qs[_0xfa31('0x1d')](_0x3fa5da['query'][_0xfa31('0x1d')]);}_0x2780b1[_0xfa31('0x5a')]=qs[_0xfa31('0x40')](_0x3fa5da[_0xfa31('0x3a')]['sort']);_0x2780b1['where']=qs[_0xfa31('0x38')](_[_0xfa31('0x42')](_0x3fa5da[_0xfa31('0x3a')],_0x3e88c1['filters']));_0x2780b1[_0xfa31('0x41')][_0xfa31('0x5b')]=_0x397649['id'];if(_0x3fa5da[_0xfa31('0x3a')][_0xfa31('0x43')]){_0x2780b1[_0xfa31('0x41')]=_[_0xfa31('0x44')](_0x2780b1[_0xfa31('0x41')],{'$or':_[_0xfa31('0x32')](_0x2780b1[_0xfa31('0x3b')],function(_0x35f9c2){var _0x24fafc={};_0x24fafc[_0x35f9c2]={'$like':'%'+_0x3fa5da[_0xfa31('0x3a')][_0xfa31('0x43')]+'%'};return _0x24fafc;})});}_0x2780b1=_['merge']({},_0x2780b1,_0x3fa5da[_0xfa31('0x46')]);return db[_0xfa31('0x59')]['findAll'](_0x2780b1);}})[_0xfa31('0x27')](function(_0x5bb2dc){if(_0x5bb2dc){return db[_0xfa31('0x5c')][_0xfa31('0x5d')]({'where':{'id':_[_0xfa31('0x32')](_0x5bb2dc,_0xfa31('0x5e')),'role':_0xfa31('0x5f')},'attributes':['id',_0xfa31('0x2f'),_0xfa31('0x60'),_0xfa31('0x61'),_0xfa31('0x62')]});}})[_0xfa31('0x27')](function(_0x389d8e){if(_0x389d8e){return{'count':_0x389d8e[_0xfa31('0x20')],'rows':_['map'](_0x389d8e['rows'],function(_0x101a1a){return{'membername':_0x101a1a['name'],'UserId':_0x101a1a['id'],'queue_name':_0x257f37[_0xfa31('0x2f')],'OpenchannelQueueId':_0x257f37['id'],'interface':util['format']('%s/%s',_0xfa31('0x63'),_0x101a1a[_0xfa31('0x2f')]),'penalty':0x0,'paused':_0x101a1a['openchannelPause'],'createdAt':_0x101a1a[_0xfa31('0x62')],'updatedAt':_0x101a1a['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x30bbc5,_0x2780b1))[_0xfa31('0x4c')](handleError(_0x30bbc5,null));};exports[_0xfa31('0x64')]=function(_0x169905,_0x293384,_0x23577f){var _0x23fc07={};var _0xed83ac={};var _0x572904;var _0xa1aa6;return db[_0xfa31('0x47')][_0xfa31('0x58')]({'where':{'id':_0x169905[_0xfa31('0x4d')]['id']}})['then'](handleEntityNotFound(_0x293384,null))[_0xfa31('0x27')](function(_0x25a12f){if(_0x25a12f){_0x572904=_0x25a12f;_0xed83ac['model']=_['keys'](db[_0xfa31('0x65')]['rawAttributes']);_0xed83ac['query']=_[_0xfa31('0x37')](_0x169905[_0xfa31('0x3a')]);_0xed83ac[_0xfa31('0x38')]=_['intersection'](_0xed83ac[_0xfa31('0x36')],_0xed83ac[_0xfa31('0x3a')]);_0x23fc07[_0xfa31('0x3b')]=_[_0xfa31('0x39')](_0xed83ac[_0xfa31('0x36')],qs['fields'](_0x169905['query'][_0xfa31('0x3c')]));_0x23fc07[_0xfa31('0x3b')]=_0x23fc07[_0xfa31('0x3b')]['length']?_0x23fc07[_0xfa31('0x3b')]:_0xed83ac[_0xfa31('0x36')];_0x23fc07[_0xfa31('0x5a')]=qs['sort'](_0x169905[_0xfa31('0x3a')][_0xfa31('0x40')]);_0x23fc07[_0xfa31('0x41')]=qs[_0xfa31('0x38')](_[_0xfa31('0x42')](_0x169905[_0xfa31('0x3a')],_0xed83ac[_0xfa31('0x38')]));if(_0x169905[_0xfa31('0x3a')]['filter']){_0x23fc07[_0xfa31('0x41')]=_[_0xfa31('0x44')](_0x23fc07[_0xfa31('0x41')],{'$or':_[_0xfa31('0x32')](_0x23fc07['attributes'],function(_0x5e0a4a){var _0x547e36={};_0x547e36[_0x5e0a4a]={'$like':'%'+_0x169905['query']['filter']+'%'};return _0x547e36;})});}_0x23fc07=_[_0xfa31('0x44')]({},_0x23fc07,_0x169905['options']);return _0x572904[_0xfa31('0x64')](_0x23fc07);}})[_0xfa31('0x27')](function(_0x2fc566){if(_0x2fc566){_0xa1aa6=_0x2fc566[_0xfa31('0x3d')];if(!_0x169905[_0xfa31('0x3a')]['hasOwnProperty'](_0xfa31('0x3f'))){_0x23fc07[_0xfa31('0x1f')]=qs[_0xfa31('0x1f')](_0x169905[_0xfa31('0x3a')][_0xfa31('0x1f')]);_0x23fc07['offset']=qs['offset'](_0x169905['query'][_0xfa31('0x1d')]);}return _0x572904[_0xfa31('0x64')](_0x23fc07);}})[_0xfa31('0x27')](function(_0x4a7f7f){if(_0x4a7f7f){return _0x4a7f7f?{'count':_0xa1aa6,'rows':_0x4a7f7f}:null;}})[_0xfa31('0x27')](respondWithResult(_0x293384,null))[_0xfa31('0x4c')](handleError(_0x293384,null));};exports[_0xfa31('0x66')]=function(_0x3cde06,_0x4f034f,_0x542f86){var _0x49ed86=_0x3cde06[_0xfa31('0x4f')][_0xfa31('0x67')];return db[_0xfa31('0x65')][_0xfa31('0x4a')]({'where':{'id':_0x49ed86},'attributes':['id'],'include':[{'model':db[_0xfa31('0x5c')],'as':'Agents','attributes':['id',_0xfa31('0x2f'),_0xfa31('0x68'),_0xfa31('0x69'),_0xfa31('0x6a')],'raw':!![]}]})[_0xfa31('0x27')](function(_0x252607){if(_0x252607){var _0x1a6834=_[_0xfa31('0x6b')](_0x252607,function(_0x10ac1f){var _0x22851a=_0x10ac1f[_0xfa31('0x29')]({'plain':!![]});return _0x22851a[_0xfa31('0x6c')];});return db[_0xfa31('0x47')][_0xfa31('0x52')]({'where':{'id':_0x3cde06[_0xfa31('0x4d')]['id']}})[_0xfa31('0x27')](function(_0xc59d06){return db[_0xfa31('0x6d')][_0xfa31('0x6e')](function(_0x20b92e){return _0xc59d06[_0xfa31('0x66')](_0x49ed86,{'transaction':_0x20b92e})['then'](function(){return BPromise['each'](_0x1a6834,function(_0x4fc8be){return db['UserOpenchannelQueue']['findOrCreate']({'where':{'UserId':_0x4fc8be['id'],'OpenchannelQueueId':_0x3cde06[_0xfa31('0x4d')]['id']},'transaction':_0x20b92e});});})[_0xfa31('0x27')](function(){_0x1a6834[_0xfa31('0x6f')](function(_0xc2d97c){socket[_0xfa31('0x70')]('userOpenchannelQueue:save',{'UserId':_0xc2d97c['id'],'OpenchannelQueueId':_0xc59d06['id']});});});});});}})[_0xfa31('0x27')](respondWithStatusCode(_0x4f034f,null))[_0xfa31('0x4c')](handleError(_0x4f034f,null));};exports[_0xfa31('0x71')]=function(_0x4baa24,_0x4cddd9,_0x43e918){return db[_0xfa31('0x65')]['findAll']({'where':{'id':_0x4baa24[_0xfa31('0x3a')][_0xfa31('0x67')]},'attributes':['id'],'include':[{'model':db[_0xfa31('0x5c')],'as':_0xfa31('0x6c'),'attributes':['id'],'raw':!![]}]})[_0xfa31('0x27')](handleEntityNotFound(_0x4cddd9,null))[_0xfa31('0x27')](function(_0x1f4175){var _0x3ae9c2=_[_0xfa31('0x32')](_0x1f4175,'id');var _0x42284e=[];var _0x834518=[];var _0xce8c6=squel[_0xfa31('0x72')]();_0xce8c6[_0xfa31('0x73')](_0xfa31('0x74'))[_0xfa31('0x75')](_0xfa31('0x76'),'tq')[_0xfa31('0x77')](_0xfa31('0x78'),'ut',_0xfa31('0x79'))[_0xfa31('0x41')]('OpenchannelQueueId\x20=\x20?',_0x4baa24['params']['id']);for(var _0x484d46=0x0;_0x484d46<_0x1f4175[_0xfa31('0x3d')];_0x484d46+=0x1){let _0x39c056=_0x1f4175[_0x484d46];for(var _0x5968df=0x0;_0x5968df<_0x39c056['Agents'][_0xfa31('0x3d')];_0x5968df+=0x1){let _0x32b71e=_0x39c056[_0xfa31('0x6c')][_0x5968df];var _0x526801=_0xce8c6[_0xfa31('0x7a')]();_0x526801[_0xfa31('0x41')](_0xfa31('0x7b'),_0x32b71e['id']);_0x834518[_0xfa31('0x7c')](db[_0xfa31('0x6d')][_0xfa31('0x3a')](_0x526801[_0xfa31('0x7d')](),{'type':db[_0xfa31('0x6d')][_0xfa31('0x7e')][_0xfa31('0x7f')]})[_0xfa31('0x27')](function(_0x310ab8){if(_0x310ab8[_0xfa31('0x3d')]===0x1){return _0x32b71e['id'];}else{var _0x5ba47b=_[_0xfa31('0x80')](_[_0xfa31('0x32')](_0x310ab8,'TeamId'),function(_0xe8e2d1){return _['includes'](_0x3ae9c2,_0xe8e2d1);});if(_0x5ba47b){return _0x32b71e['id'];}}}));}}return BPromise[_0xfa31('0x81')](_0x834518)[_0xfa31('0x27')](function(_0x28d567){_0x42284e=_(_0x42284e)[_0xfa31('0x82')](_0x28d567)['compact']()[_0xfa31('0x83')]();return db['OpenchannelQueue'][_0xfa31('0x52')]({'where':{'id':_0x4baa24['params']['id']}})[_0xfa31('0x27')](function(_0x2148dd){return db[_0xfa31('0x6d')][_0xfa31('0x6e')](function(_0x18125e){return _0x2148dd[_0xfa31('0x71')](_0x4baa24[_0xfa31('0x3a')][_0xfa31('0x67')],{'transaction':_0x18125e})['then'](function(){if(!_[_0xfa31('0x84')](_0x42284e)){return _0x2148dd[_0xfa31('0x85')](_0x42284e,{'transaction':_0x18125e});}})[_0xfa31('0x27')](function(){_0x42284e[_0xfa31('0x6f')](function(_0x41bcc2){socket[_0xfa31('0x70')](_0xfa31('0x86'),{'UserId':_0x41bcc2,'OpenchannelQueueId':_0x2148dd['id']});});});});});});})[_0xfa31('0x27')](respondWithStatusCode(_0x4cddd9,null))['catch'](handleError(_0x4cddd9,null));};exports[_0xfa31('0x87')]=function(_0x594e6a,_0x4c333a,_0xffb77e){return db['OpenchannelQueue'][_0xfa31('0x52')]({'where':{'id':_0x594e6a[_0xfa31('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4c333a,null))[_0xfa31('0x27')](function(_0x25c1db){if(_0x25c1db){return _0x25c1db[_0xfa31('0x87')](_0x594e6a[_0xfa31('0x4f')][_0xfa31('0x67')],_[_0xfa31('0x88')](_0x594e6a[_0xfa31('0x4f')],[_0xfa31('0x67'),'id'])||{})['spread'](function(_0x21595d){for(var _0x47ad7d=0x0;_0x47ad7d<_0x594e6a[_0xfa31('0x4f')][_0xfa31('0x67')]['length'];_0x47ad7d+=0x1){socket[_0xfa31('0x70')](_0xfa31('0x89'),{'UserId':Number(_0x594e6a[_0xfa31('0x4f')][_0xfa31('0x67')][_0x47ad7d]),'OpenchannelQueueId':Number(_0x594e6a[_0xfa31('0x4d')]['id'])});}return _0x21595d;});}})['then'](respondWithResult(_0x4c333a,null))['catch'](handleError(_0x4c333a,null));};exports[_0xfa31('0x85')]=function(_0x1b80a9,_0x3d76ca,_0x1abffc){return db[_0xfa31('0x47')]['find']({'where':{'id':_0x1b80a9[_0xfa31('0x4d')]['id']}})[_0xfa31('0x27')](handleEntityNotFound(_0x3d76ca,null))[_0xfa31('0x27')](function(_0x558d7b){if(_0x558d7b){return _0x558d7b['removeAgents'](_0x1b80a9[_0xfa31('0x3a')][_0xfa31('0x67')])['then'](function(){if(_['isArray'](_0x1b80a9[_0xfa31('0x3a')]['ids'])){for(var _0x1d2236=0x0;_0x1d2236<_0x1b80a9[_0xfa31('0x3a')]['ids'][_0xfa31('0x3d')];_0x1d2236+=0x1){socket['emit'](_0xfa31('0x86'),{'UserId':Number(_0x1b80a9[_0xfa31('0x3a')]['ids'][_0x1d2236]),'OpenchannelQueueId':Number(_0x1b80a9[_0xfa31('0x4d')]['id'])});}}else{socket[_0xfa31('0x70')](_0xfa31('0x86'),{'UserId':Number(_0x1b80a9[_0xfa31('0x3a')][_0xfa31('0x67')]),'OpenchannelQueueId':Number(_0x1b80a9[_0xfa31('0x4d')]['id'])});}});}})['then'](respondWithStatusCode(_0x3d76ca,null))[_0xfa31('0x4c')](handleError(_0x3d76ca,null));};exports[_0xfa31('0x8a')]=function(_0x3be501,_0x7f6710,_0x47d288){var _0x435501={};var _0x131fca={};var _0x551a25;var _0x2764d6;return db['OpenchannelQueue'][_0xfa31('0x58')]({'where':{'id':_0x3be501[_0xfa31('0x4d')]['id']}})[_0xfa31('0x27')](handleEntityNotFound(_0x7f6710,null))[_0xfa31('0x27')](function(_0x441af8){if(_0x441af8){_0x551a25=_0x441af8;_0x131fca[_0xfa31('0x36')]=_[_0xfa31('0x37')](db[_0xfa31('0x5c')][_0xfa31('0x33')]);_0x131fca['query']=_[_0xfa31('0x37')](_0x3be501['query']);_0x131fca[_0xfa31('0x38')]=_[_0xfa31('0x39')](_0x131fca[_0xfa31('0x36')],_0x131fca[_0xfa31('0x3a')]);_0x435501[_0xfa31('0x3b')]=_['intersection'](_0x131fca[_0xfa31('0x36')],qs[_0xfa31('0x3c')](_0x3be501['query']['fields']));_0x435501['attributes']=_0x435501['attributes'][_0xfa31('0x3d')]?_0x435501[_0xfa31('0x3b')]:_0x131fca[_0xfa31('0x36')];_0x435501[_0xfa31('0x5a')]=qs[_0xfa31('0x40')](_0x3be501['query'][_0xfa31('0x40')]);_0x435501['where']=qs[_0xfa31('0x38')](_[_0xfa31('0x42')](_0x3be501[_0xfa31('0x3a')],_0x131fca['filters']));if(_0x3be501[_0xfa31('0x3a')]['filter']){_0x435501[_0xfa31('0x41')]=_[_0xfa31('0x44')](_0x435501['where'],{'$or':_[_0xfa31('0x32')](_0x435501['attributes'],function(_0x136afa){var _0x498779={};_0x498779[_0x136afa]={'$like':'%'+_0x3be501[_0xfa31('0x3a')]['filter']+'%'};return _0x498779;})});}_0x435501=_['merge']({},_0x435501,_0x3be501[_0xfa31('0x46')]);return _0x551a25[_0xfa31('0x8a')](_0x435501);}})['then'](function(_0xba3d5b){if(_0xba3d5b){_0x2764d6=_0xba3d5b[_0xfa31('0x3d')];if(!_0x3be501[_0xfa31('0x3a')][_0xfa31('0x3e')](_0xfa31('0x3f'))){_0x435501[_0xfa31('0x1f')]=qs[_0xfa31('0x1f')](_0x3be501['query'][_0xfa31('0x1f')]);_0x435501[_0xfa31('0x1d')]=qs[_0xfa31('0x1d')](_0x3be501['query'][_0xfa31('0x1d')]);}return _0x551a25[_0xfa31('0x8a')](_0x435501);}})['then'](function(_0x5f48e2){if(_0x5f48e2){return _0x5f48e2?{'count':_0x2764d6,'rows':_0x5f48e2}:null;}})[_0xfa31('0x27')](respondWithResult(_0x7f6710,null))[_0xfa31('0x4c')](handleError(_0x7f6710,null));};