d13dfef9bd7071743ee93cf58a266d2d0ac0ecac
[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 _0x5f75=['hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','type','merge','options','includeAll','include','findAll','catch','show','params','rawAttributes','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','UserProfileResource','describe','getMembers','findOne','UserOpenchannelQueue','length','User','findAndCountAll','UserId','openchannelPause','updatedAt','createdAt','rows','format','%s/%s','SIP','getTeams','Team','ids','Agents','online','voicePause','sequelize','addTeams','findOrCreate','forEach','emit','userOpenchannelQueue:save','select','field','tq.TeamId','from','join','user_has_teams','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','every','TeamId','all','union','value','transaction','removeTeams','isEmpty','removeAgents','addAgents','omit','isArray','userOpenchannelQueue:remove','getAgents','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','OpenchannelQueues','error','stack','name','send','index','map','OpenchannelQueue','fieldName','key','model','query','keys','filters','intersection','attributes','fields'];(function(_0x5b0d3e,_0x41a931){var _0x47af4a=function(_0x40d400){while(--_0x40d400){_0x5b0d3e['push'](_0x5b0d3e['shift']());}};_0x47af4a(++_0x41a931);}(_0x5f75,0x15f));var _0x55f7=function(_0x3925ff,_0x3fe6e5){_0x3925ff=_0x3925ff-0x0;var _0x1f16d5=_0x5f75[_0x3925ff];return _0x1f16d5;};'use strict';var pdf=require(_0x55f7('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x55f7('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x55f7('0x2'));var rp=require(_0x55f7('0x3'));var moment=require(_0x55f7('0x4'));var BPromise=require(_0x55f7('0x5'));var Mustache=require('mustache');var util=require(_0x55f7('0x6'));var path=require(_0x55f7('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x55f7('0x8'));var crypto=require(_0x55f7('0x9'));var jsforce=require(_0x55f7('0xa'));var deskjs=require(_0x55f7('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x55f7('0xc'));var Redis=require(_0x55f7('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x55f7('0xe'));var as=require(_0x55f7('0xf'));var hardwareService=require(_0x55f7('0x10'));var logger=require('../../config/logger')(_0x55f7('0x11'));var utils=require(_0x55f7('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x55f7('0x13'));var db=require('../../mysqldb')['db'];config[_0x55f7('0x14')]=_[_0x55f7('0x15')](config[_0x55f7('0x14')],{'host':_0x55f7('0x16'),'port':0x18eb});var socket=require(_0x55f7('0x17'))(new Redis(config['redis']));require(_0x55f7('0x18'))[_0x55f7('0x19')](socket);function respondWithStatusCode(_0x25a3f5,_0x4f6c10){_0x4f6c10=_0x4f6c10||0xcc;return function(_0x19bf4d){if(_0x19bf4d){return _0x25a3f5[_0x55f7('0x1a')](_0x4f6c10);}return _0x25a3f5[_0x55f7('0x1b')](_0x4f6c10)[_0x55f7('0x1c')]();};}function respondWithResult(_0x49a768,_0x186eb4){_0x186eb4=_0x186eb4||0xc8;return function(_0x3d2139){if(_0x3d2139){return _0x49a768['status'](_0x186eb4)[_0x55f7('0x1d')](_0x3d2139);}};}function respondWithFilteredResult(_0x213523,_0x40fec5){return function(_0x22db54){if(_0x22db54){var _0x26e5d7=_0x22db54[_0x55f7('0x1e')],_0x510138=_0x40fec5[_0x55f7('0x1f')],_0x32cd8d=_0x40fec5[_0x55f7('0x1f')]+_0x40fec5['limit'],_0x1d608c;if(_0x32cd8d>=_0x26e5d7){_0x32cd8d=_0x26e5d7;_0x1d608c=0xc8;}else{_0x1d608c=0xce;}_0x213523['status'](_0x1d608c);return _0x213523[_0x55f7('0x20')](_0x55f7('0x21'),_0x510138+'-'+_0x32cd8d+'/'+_0x26e5d7)['json'](_0x22db54);}return null;};}function patchUpdates(_0x287a00){return function(_0x4d1dea){try{jsonpatch[_0x55f7('0x22')](_0x4d1dea,_0x287a00,!![]);}catch(_0x5f764d){return BPromise[_0x55f7('0x23')](_0x5f764d);}return _0x4d1dea[_0x55f7('0x24')]();};}function saveUpdates(_0x33e26f,_0x1b4d9a){return function(_0x4fc3d5){if(_0x4fc3d5){return _0x4fc3d5[_0x55f7('0x25')](_0x33e26f)['then'](function(_0x64115d){return _0x64115d;});}return null;};}function removeEntity(_0x116b53,_0x30ae51){return function(_0x423fba){if(_0x423fba){return _0x423fba[_0x55f7('0x26')]()[_0x55f7('0x27')](function(){var _0x44ed71=_0x423fba['get']({'plain':!![]});var _0x3866df=_0x55f7('0x28');return db['UserProfileResource'][_0x55f7('0x26')]({'where':{'type':_0x3866df,'resourceId':_0x44ed71['id']}})[_0x55f7('0x27')](function(){return _0x423fba;});})[_0x55f7('0x27')](function(){_0x116b53[_0x55f7('0x1b')](0xcc)[_0x55f7('0x1c')]();});}};}function handleEntityNotFound(_0x4f71a8,_0x49e6b4){return function(_0x2b45ef){if(!_0x2b45ef){_0x4f71a8[_0x55f7('0x1a')](0x194);}return _0x2b45ef;};}function handleError(_0x42049e,_0x56ebb4){_0x56ebb4=_0x56ebb4||0x1f4;return function(_0x170392){logger[_0x55f7('0x29')](_0x170392[_0x55f7('0x2a')]);if(_0x170392['name']){delete _0x170392[_0x55f7('0x2b')];}_0x42049e[_0x55f7('0x1b')](_0x56ebb4)[_0x55f7('0x2c')](_0x170392);};}exports[_0x55f7('0x2d')]=function(_0x343124,_0x490afe){var _0x447a51={},_0xe75f14={},_0x357075={'count':0x0,'rows':[]};var _0x1c05d5=_[_0x55f7('0x2e')](db[_0x55f7('0x2f')]['rawAttributes'],function(_0x54808a){return{'name':_0x54808a[_0x55f7('0x30')],'type':_0x54808a['type'][_0x55f7('0x31')]};});_0xe75f14[_0x55f7('0x32')]=_[_0x55f7('0x2e')](_0x1c05d5,_0x55f7('0x2b'));_0xe75f14[_0x55f7('0x33')]=_[_0x55f7('0x34')](_0x343124['query']);_0xe75f14[_0x55f7('0x35')]=_[_0x55f7('0x36')](_0xe75f14[_0x55f7('0x32')],_0xe75f14[_0x55f7('0x33')]);_0x447a51[_0x55f7('0x37')]=_[_0x55f7('0x36')](_0xe75f14['model'],qs[_0x55f7('0x38')](_0x343124[_0x55f7('0x33')][_0x55f7('0x38')]));_0x447a51[_0x55f7('0x37')]=_0x447a51[_0x55f7('0x37')]['length']?_0x447a51[_0x55f7('0x37')]:_0xe75f14[_0x55f7('0x32')];if(!_0x343124[_0x55f7('0x33')][_0x55f7('0x39')](_0x55f7('0x3a'))){_0x447a51[_0x55f7('0x3b')]=qs[_0x55f7('0x3b')](_0x343124[_0x55f7('0x33')][_0x55f7('0x3b')]);_0x447a51[_0x55f7('0x1f')]=qs[_0x55f7('0x1f')](_0x343124['query']['offset']);}_0x447a51[_0x55f7('0x3c')]=qs[_0x55f7('0x3d')](_0x343124[_0x55f7('0x33')][_0x55f7('0x3d')]);_0x447a51['where']=qs['filters'](_[_0x55f7('0x3e')](_0x343124[_0x55f7('0x33')],_0xe75f14['filters']),_0x1c05d5);if(_0x343124['query'][_0x55f7('0x3f')]){_0x447a51[_0x55f7('0x40')]=_['merge'](_0x447a51['where'],{'$or':_[_0x55f7('0x2e')](_0x1c05d5,function(_0x43f95f){if(_0x43f95f[_0x55f7('0x41')]!=='VIRTUAL'){var _0x34b1b8={};_0x34b1b8[_0x43f95f[_0x55f7('0x2b')]]={'$like':'%'+_0x343124[_0x55f7('0x33')]['filter']+'%'};return _0x34b1b8;}})});}_0x447a51=_[_0x55f7('0x42')]({},_0x447a51,_0x343124[_0x55f7('0x43')]);var _0x1af9ff={'where':_0x447a51['where']};return db['OpenchannelQueue'][_0x55f7('0x1e')](_0x1af9ff)[_0x55f7('0x27')](function(_0x6d2b71){_0x357075[_0x55f7('0x1e')]=_0x6d2b71;if(_0x343124['query'][_0x55f7('0x44')]){_0x447a51[_0x55f7('0x45')]=[{'all':!![]}];}return db[_0x55f7('0x2f')][_0x55f7('0x46')](_0x447a51);})['then'](function(_0x56b07a){_0x357075['rows']=_0x56b07a;return _0x357075;})[_0x55f7('0x27')](respondWithFilteredResult(_0x490afe,_0x447a51))[_0x55f7('0x47')](handleError(_0x490afe,null));};exports[_0x55f7('0x48')]=function(_0x48193d,_0x5c8663){var _0x30b645={'raw':!![],'where':{'id':_0x48193d[_0x55f7('0x49')]['id']}},_0x301056={};_0x301056['model']=_[_0x55f7('0x34')](db[_0x55f7('0x2f')][_0x55f7('0x4a')]);_0x301056[_0x55f7('0x33')]=_[_0x55f7('0x34')](_0x48193d[_0x55f7('0x33')]);_0x301056[_0x55f7('0x35')]=_[_0x55f7('0x36')](_0x301056[_0x55f7('0x32')],_0x301056['query']);_0x30b645[_0x55f7('0x37')]=_[_0x55f7('0x36')](_0x301056[_0x55f7('0x32')],qs[_0x55f7('0x38')](_0x48193d['query'][_0x55f7('0x38')]));_0x30b645['attributes']=_0x30b645[_0x55f7('0x37')]['length']?_0x30b645[_0x55f7('0x37')]:_0x301056[_0x55f7('0x32')];if(_0x48193d[_0x55f7('0x33')][_0x55f7('0x44')]){_0x30b645[_0x55f7('0x45')]=[{'all':!![]}];}_0x30b645=_[_0x55f7('0x42')]({},_0x30b645,_0x48193d[_0x55f7('0x43')]);return db[_0x55f7('0x2f')]['find'](_0x30b645)['then'](handleEntityNotFound(_0x5c8663,null))[_0x55f7('0x27')](respondWithResult(_0x5c8663,null))[_0x55f7('0x47')](handleError(_0x5c8663,null));};exports['create']=function(_0x34a642,_0x415e82){return db['OpenchannelQueue'][_0x55f7('0x4b')](_0x34a642[_0x55f7('0x4c')],{})[_0x55f7('0x27')](function(_0x5d446d){var _0x51bd04=_0x34a642[_0x55f7('0x4d')][_0x55f7('0x4e')]({'plain':!![]});if(!_0x51bd04)throw new Error(_0x55f7('0x4f'));if(_0x51bd04[_0x55f7('0x50')]==='user'){var _0x47fdba=_0x5d446d[_0x55f7('0x4e')]({'plain':!![]});var _0x2e1de2=_0x55f7('0x28');return db[_0x55f7('0x51')][_0x55f7('0x52')]({'where':{'name':_0x2e1de2,'userProfileId':_0x51bd04[_0x55f7('0x53')]},'raw':!![]})['then'](function(_0x70ff48){if(_0x70ff48&&_0x70ff48['autoAssociation']===0x0){return db[_0x55f7('0x54')][_0x55f7('0x4b')]({'name':_0x47fdba[_0x55f7('0x2b')],'resourceId':_0x47fdba['id'],'type':_0x70ff48[_0x55f7('0x2b')],'sectionId':_0x70ff48['id']},{})[_0x55f7('0x27')](function(){return _0x5d446d;});}else{return _0x5d446d;}})[_0x55f7('0x47')](function(_0xbb92a0){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xbb92a0);throw _0xbb92a0;});}return _0x5d446d;})[_0x55f7('0x27')](respondWithResult(_0x415e82,0xc9))[_0x55f7('0x47')](handleError(_0x415e82,null));};exports[_0x55f7('0x25')]=function(_0x465f3e,_0x2041dd){if(_0x465f3e[_0x55f7('0x4c')]['id']){delete _0x465f3e[_0x55f7('0x4c')]['id'];}return db[_0x55f7('0x2f')][_0x55f7('0x52')]({'where':{'id':_0x465f3e[_0x55f7('0x49')]['id']}})[_0x55f7('0x27')](handleEntityNotFound(_0x2041dd,null))[_0x55f7('0x27')](saveUpdates(_0x465f3e[_0x55f7('0x4c')],null))[_0x55f7('0x27')](respondWithResult(_0x2041dd,null))[_0x55f7('0x47')](handleError(_0x2041dd,null));};exports[_0x55f7('0x26')]=function(_0xabd764,_0x949f26){return db[_0x55f7('0x2f')]['find']({'where':{'id':_0xabd764['params']['id']}})[_0x55f7('0x27')](handleEntityNotFound(_0x949f26,null))['then'](removeEntity(_0x949f26,null))[_0x55f7('0x47')](handleError(_0x949f26,null));};exports['describe']=function(_0x3713c9,_0x1a8b54){return db[_0x55f7('0x2f')][_0x55f7('0x55')]()[_0x55f7('0x27')](respondWithResult(_0x1a8b54,null))[_0x55f7('0x47')](handleError(_0x1a8b54,null));};exports[_0x55f7('0x56')]=function(_0x455aa9,_0x34f156,_0x114731){var _0x20470e={'raw':!![],'where':{}},_0x3db168={},_0x358aeb;return db[_0x55f7('0x2f')][_0x55f7('0x57')]({'where':{'id':_0x455aa9[_0x55f7('0x49')]['id']}})['then'](handleEntityNotFound(_0x34f156,null))[_0x55f7('0x27')](function(_0xdac41f){if(_0xdac41f){_0x358aeb=_0xdac41f[_0x55f7('0x4e')]({'plain':!![]});_0x3db168[_0x55f7('0x32')]=_[_0x55f7('0x34')](db[_0x55f7('0x58')]['rawAttributes']);_0x3db168[_0x55f7('0x33')]=_['keys'](_0x455aa9[_0x55f7('0x33')]);_0x3db168[_0x55f7('0x35')]=_[_0x55f7('0x36')](_0x3db168['model'],_0x3db168[_0x55f7('0x33')]);_0x20470e[_0x55f7('0x37')]=_[_0x55f7('0x36')](_0x3db168[_0x55f7('0x32')],qs[_0x55f7('0x38')](_0x455aa9[_0x55f7('0x33')]['fields']));_0x20470e[_0x55f7('0x37')]=_0x20470e[_0x55f7('0x37')][_0x55f7('0x59')]?_0x20470e['attributes']:_0x3db168[_0x55f7('0x32')];if(!_0x455aa9[_0x55f7('0x33')][_0x55f7('0x39')](_0x55f7('0x3a'))){_0x20470e[_0x55f7('0x3b')]=qs[_0x55f7('0x3b')](_0x455aa9[_0x55f7('0x33')][_0x55f7('0x3b')]);_0x20470e[_0x55f7('0x1f')]=qs[_0x55f7('0x1f')](_0x455aa9[_0x55f7('0x33')][_0x55f7('0x1f')]);}_0x20470e[_0x55f7('0x3c')]=qs[_0x55f7('0x3d')](_0x455aa9['query'][_0x55f7('0x3d')]);_0x20470e[_0x55f7('0x40')]=qs[_0x55f7('0x35')](_['pick'](_0x455aa9[_0x55f7('0x33')],_0x3db168[_0x55f7('0x35')]));_0x20470e[_0x55f7('0x40')]['OpenchannelQueueId']=_0xdac41f['id'];if(_0x455aa9[_0x55f7('0x33')][_0x55f7('0x3f')]){_0x20470e[_0x55f7('0x40')]=_[_0x55f7('0x42')](_0x20470e['where'],{'$or':_[_0x55f7('0x2e')](_0x20470e[_0x55f7('0x37')],function(_0x124d51){var _0x1471a8={};_0x1471a8[_0x124d51]={'$like':'%'+_0x455aa9['query']['filter']+'%'};return _0x1471a8;})});}_0x20470e=_[_0x55f7('0x42')]({},_0x20470e,_0x455aa9[_0x55f7('0x43')]);return db[_0x55f7('0x58')]['findAll'](_0x20470e);}})['then'](function(_0x16ea9b){if(_0x16ea9b){return db[_0x55f7('0x5a')][_0x55f7('0x5b')]({'where':{'id':_[_0x55f7('0x2e')](_0x16ea9b,_0x55f7('0x5c')),'role':'agent'},'attributes':['id','name',_0x55f7('0x5d'),_0x55f7('0x5e'),_0x55f7('0x5f')]});}})[_0x55f7('0x27')](function(_0x41e0f3){if(_0x41e0f3){return{'count':_0x41e0f3[_0x55f7('0x1e')],'rows':_[_0x55f7('0x2e')](_0x41e0f3[_0x55f7('0x60')],function(_0x2cdb4a){return{'membername':_0x2cdb4a['name'],'UserId':_0x2cdb4a['id'],'queue_name':_0x358aeb[_0x55f7('0x2b')],'OpenchannelQueueId':_0x358aeb['id'],'interface':util[_0x55f7('0x61')](_0x55f7('0x62'),_0x55f7('0x63'),_0x2cdb4a['name']),'penalty':0x0,'paused':_0x2cdb4a[_0x55f7('0x5d')],'createdAt':_0x2cdb4a[_0x55f7('0x5f')],'updatedAt':_0x2cdb4a[_0x55f7('0x5e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x55f7('0x27')](respondWithFilteredResult(_0x34f156,_0x20470e))['catch'](handleError(_0x34f156,null));};exports[_0x55f7('0x64')]=function(_0x56139f,_0xf1e7c0,_0x313464){var _0x5d961d={};var _0x2a9b83={};var _0x518170;var _0x177ffc;return db['OpenchannelQueue'][_0x55f7('0x57')]({'where':{'id':_0x56139f[_0x55f7('0x49')]['id']}})[_0x55f7('0x27')](handleEntityNotFound(_0xf1e7c0,null))[_0x55f7('0x27')](function(_0x1f1eb0){if(_0x1f1eb0){_0x518170=_0x1f1eb0;_0x2a9b83[_0x55f7('0x32')]=_['keys'](db[_0x55f7('0x65')][_0x55f7('0x4a')]);_0x2a9b83['query']=_['keys'](_0x56139f[_0x55f7('0x33')]);_0x2a9b83[_0x55f7('0x35')]=_[_0x55f7('0x36')](_0x2a9b83[_0x55f7('0x32')],_0x2a9b83[_0x55f7('0x33')]);_0x5d961d[_0x55f7('0x37')]=_[_0x55f7('0x36')](_0x2a9b83[_0x55f7('0x32')],qs[_0x55f7('0x38')](_0x56139f[_0x55f7('0x33')][_0x55f7('0x38')]));_0x5d961d[_0x55f7('0x37')]=_0x5d961d['attributes'][_0x55f7('0x59')]?_0x5d961d[_0x55f7('0x37')]:_0x2a9b83['model'];_0x5d961d['order']=qs[_0x55f7('0x3d')](_0x56139f[_0x55f7('0x33')]['sort']);_0x5d961d[_0x55f7('0x40')]=qs[_0x55f7('0x35')](_[_0x55f7('0x3e')](_0x56139f['query'],_0x2a9b83[_0x55f7('0x35')]));if(_0x56139f[_0x55f7('0x33')][_0x55f7('0x3f')]){_0x5d961d[_0x55f7('0x40')]=_[_0x55f7('0x42')](_0x5d961d[_0x55f7('0x40')],{'$or':_[_0x55f7('0x2e')](_0x5d961d[_0x55f7('0x37')],function(_0x8f83b4){var _0x2fc911={};_0x2fc911[_0x8f83b4]={'$like':'%'+_0x56139f['query'][_0x55f7('0x3f')]+'%'};return _0x2fc911;})});}_0x5d961d=_['merge']({},_0x5d961d,_0x56139f['options']);return _0x518170[_0x55f7('0x64')](_0x5d961d);}})[_0x55f7('0x27')](function(_0xd242d1){if(_0xd242d1){_0x177ffc=_0xd242d1[_0x55f7('0x59')];if(!_0x56139f[_0x55f7('0x33')][_0x55f7('0x39')](_0x55f7('0x3a'))){_0x5d961d[_0x55f7('0x3b')]=qs['limit'](_0x56139f['query'][_0x55f7('0x3b')]);_0x5d961d[_0x55f7('0x1f')]=qs[_0x55f7('0x1f')](_0x56139f['query']['offset']);}return _0x518170['getTeams'](_0x5d961d);}})['then'](function(_0xc212b4){if(_0xc212b4){return _0xc212b4?{'count':_0x177ffc,'rows':_0xc212b4}:null;}})[_0x55f7('0x27')](respondWithResult(_0xf1e7c0,null))[_0x55f7('0x47')](handleError(_0xf1e7c0,null));};exports['addTeams']=function(_0x392621,_0x22315b,_0x56a8d7){var _0x221fe5=_0x392621[_0x55f7('0x4c')][_0x55f7('0x66')];return db[_0x55f7('0x65')][_0x55f7('0x46')]({'where':{'id':_0x221fe5},'attributes':['id'],'include':[{'model':db[_0x55f7('0x5a')],'as':_0x55f7('0x67'),'attributes':['id',_0x55f7('0x2b'),_0x55f7('0x68'),_0x55f7('0x69'),'interface'],'raw':!![]}]})[_0x55f7('0x27')](function(_0x3ef9c4){if(_0x3ef9c4){var _0xb3faa0=_['flatMap'](_0x3ef9c4,function(_0x10532a){var _0x341338=_0x10532a[_0x55f7('0x4e')]({'plain':!![]});return _0x341338[_0x55f7('0x67')];});return db['OpenchannelQueue'][_0x55f7('0x52')]({'where':{'id':_0x392621[_0x55f7('0x49')]['id']}})[_0x55f7('0x27')](function(_0x3fa238){return db[_0x55f7('0x6a')]['transaction'](function(_0x454c19){return _0x3fa238[_0x55f7('0x6b')](_0x221fe5,{'transaction':_0x454c19})[_0x55f7('0x27')](function(){return BPromise['each'](_0xb3faa0,function(_0x1e793e){return db['UserOpenchannelQueue'][_0x55f7('0x6c')]({'where':{'UserId':_0x1e793e['id'],'OpenchannelQueueId':_0x392621[_0x55f7('0x49')]['id']},'transaction':_0x454c19});});})['then'](function(){_0xb3faa0[_0x55f7('0x6d')](function(_0x4654fd){socket[_0x55f7('0x6e')](_0x55f7('0x6f'),{'UserId':_0x4654fd['id'],'OpenchannelQueueId':_0x3fa238['id']});});});});});}})[_0x55f7('0x27')](respondWithStatusCode(_0x22315b,null))[_0x55f7('0x47')](handleError(_0x22315b,null));};exports['removeTeams']=function(_0x5027ae,_0x105e5f,_0x123102){return db['Team'][_0x55f7('0x46')]({'where':{'id':_0x5027ae[_0x55f7('0x33')][_0x55f7('0x66')]},'attributes':['id'],'include':[{'model':db[_0x55f7('0x5a')],'as':_0x55f7('0x67'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x105e5f,null))['then'](function(_0x1f276c){var _0x20355c=_[_0x55f7('0x2e')](_0x1f276c,'id');var _0x34577b=[];var _0x49c38c=[];var _0x3c1ed3=squel[_0x55f7('0x70')]();_0x3c1ed3[_0x55f7('0x71')](_0x55f7('0x72'))[_0x55f7('0x73')]('team_has_openchannel_queues','tq')[_0x55f7('0x74')](_0x55f7('0x75'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x55f7('0x40')]('OpenchannelQueueId\x20=\x20?',_0x5027ae[_0x55f7('0x49')]['id']);for(var _0x2c4b6c=0x0;_0x2c4b6c<_0x1f276c[_0x55f7('0x59')];_0x2c4b6c+=0x1){let _0xf2e721=_0x1f276c[_0x2c4b6c];for(var _0x1e8b7f=0x0;_0x1e8b7f<_0xf2e721[_0x55f7('0x67')][_0x55f7('0x59')];_0x1e8b7f+=0x1){let _0x5c32da=_0xf2e721[_0x55f7('0x67')][_0x1e8b7f];var _0x217602=_0x3c1ed3['clone']();_0x217602[_0x55f7('0x40')](_0x55f7('0x76'),_0x5c32da['id']);_0x49c38c['push'](db[_0x55f7('0x6a')][_0x55f7('0x33')](_0x217602[_0x55f7('0x77')](),{'type':db[_0x55f7('0x6a')][_0x55f7('0x78')][_0x55f7('0x79')]})[_0x55f7('0x27')](function(_0x31cd85){if(_0x31cd85[_0x55f7('0x59')]===0x1){return _0x5c32da['id'];}else{var _0x5934b0=_[_0x55f7('0x7a')](_['map'](_0x31cd85,_0x55f7('0x7b')),function(_0x6868e3){return _['includes'](_0x20355c,_0x6868e3);});if(_0x5934b0){return _0x5c32da['id'];}}}));}}return BPromise[_0x55f7('0x7c')](_0x49c38c)['then'](function(_0x3036d5){_0x34577b=_(_0x34577b)[_0x55f7('0x7d')](_0x3036d5)['compact']()[_0x55f7('0x7e')]();return db[_0x55f7('0x2f')][_0x55f7('0x52')]({'where':{'id':_0x5027ae[_0x55f7('0x49')]['id']}})['then'](function(_0x12b70d){return db[_0x55f7('0x6a')][_0x55f7('0x7f')](function(_0x3fbb2d){return _0x12b70d[_0x55f7('0x80')](_0x5027ae['query']['ids'],{'transaction':_0x3fbb2d})['then'](function(){if(!_[_0x55f7('0x81')](_0x34577b)){return _0x12b70d[_0x55f7('0x82')](_0x34577b,{'transaction':_0x3fbb2d});}})[_0x55f7('0x27')](function(){_0x34577b['forEach'](function(_0x29165d){socket['emit']('userOpenchannelQueue:remove',{'UserId':_0x29165d,'OpenchannelQueueId':_0x12b70d['id']});});});});});});})['then'](respondWithStatusCode(_0x105e5f,null))[_0x55f7('0x47')](handleError(_0x105e5f,null));};exports[_0x55f7('0x83')]=function(_0x1a40c1,_0xe8ed74,_0x1c849f){return db['OpenchannelQueue']['find']({'where':{'id':_0x1a40c1[_0x55f7('0x49')]['id']}})[_0x55f7('0x27')](handleEntityNotFound(_0xe8ed74,null))[_0x55f7('0x27')](function(_0x58e3b9){if(_0x58e3b9){return _0x58e3b9[_0x55f7('0x83')](_0x1a40c1['body'][_0x55f7('0x66')],_[_0x55f7('0x84')](_0x1a40c1['body'],[_0x55f7('0x66'),'id'])||{})['spread'](function(_0x2e6bf2){for(var _0x537c07=0x0;_0x537c07<_0x1a40c1['body']['ids']['length'];_0x537c07+=0x1){socket[_0x55f7('0x6e')]('userOpenchannelQueue:save',{'UserId':_0x1a40c1[_0x55f7('0x4c')][_0x55f7('0x66')][_0x537c07],'OpenchannelQueueId':_0x1a40c1['params']['id']});}return _0x2e6bf2;});}})['then'](respondWithResult(_0xe8ed74,null))[_0x55f7('0x47')](handleError(_0xe8ed74,null));};exports['removeAgents']=function(_0x3b6b4d,_0xe96bf4,_0x188184){return db[_0x55f7('0x2f')][_0x55f7('0x52')]({'where':{'id':_0x3b6b4d[_0x55f7('0x49')]['id']}})[_0x55f7('0x27')](handleEntityNotFound(_0xe96bf4,null))[_0x55f7('0x27')](function(_0x3a64b9){if(_0x3a64b9){return _0x3a64b9[_0x55f7('0x82')](_0x3b6b4d[_0x55f7('0x33')][_0x55f7('0x66')])[_0x55f7('0x27')](function(){if(_[_0x55f7('0x85')](_0x3b6b4d[_0x55f7('0x33')][_0x55f7('0x66')])){for(var _0x2ac17a=0x0;_0x2ac17a<_0x3b6b4d[_0x55f7('0x33')][_0x55f7('0x66')][_0x55f7('0x59')];_0x2ac17a+=0x1){socket[_0x55f7('0x6e')](_0x55f7('0x86'),{'UserId':Number(_0x3b6b4d[_0x55f7('0x33')][_0x55f7('0x66')][_0x2ac17a]),'OpenchannelQueueId':Number(_0x3b6b4d[_0x55f7('0x49')]['id'])});}}else{socket[_0x55f7('0x6e')](_0x55f7('0x86'),{'UserId':Number(_0x3b6b4d['query']['ids']),'OpenchannelQueueId':Number(_0x3b6b4d['params']['id'])});}});}})[_0x55f7('0x27')](respondWithStatusCode(_0xe96bf4,null))[_0x55f7('0x47')](handleError(_0xe96bf4,null));};exports[_0x55f7('0x87')]=function(_0x2b7dd2,_0x26525c,_0x53548d){var _0x530c09={};var _0x489ffa={};var _0x57e6ac;var _0x33a3f1;return db['OpenchannelQueue'][_0x55f7('0x57')]({'where':{'id':_0x2b7dd2[_0x55f7('0x49')]['id']}})[_0x55f7('0x27')](handleEntityNotFound(_0x26525c,null))[_0x55f7('0x27')](function(_0x3e0234){if(_0x3e0234){_0x57e6ac=_0x3e0234;_0x489ffa['model']=_[_0x55f7('0x34')](db[_0x55f7('0x5a')]['rawAttributes']);_0x489ffa[_0x55f7('0x33')]=_[_0x55f7('0x34')](_0x2b7dd2[_0x55f7('0x33')]);_0x489ffa[_0x55f7('0x35')]=_[_0x55f7('0x36')](_0x489ffa[_0x55f7('0x32')],_0x489ffa[_0x55f7('0x33')]);_0x530c09[_0x55f7('0x37')]=_[_0x55f7('0x36')](_0x489ffa['model'],qs['fields'](_0x2b7dd2[_0x55f7('0x33')]['fields']));_0x530c09[_0x55f7('0x37')]=_0x530c09[_0x55f7('0x37')][_0x55f7('0x59')]?_0x530c09[_0x55f7('0x37')]:_0x489ffa['model'];_0x530c09[_0x55f7('0x3c')]=qs['sort'](_0x2b7dd2[_0x55f7('0x33')]['sort']);_0x530c09['where']=qs[_0x55f7('0x35')](_['pick'](_0x2b7dd2[_0x55f7('0x33')],_0x489ffa[_0x55f7('0x35')]));if(_0x2b7dd2['query'][_0x55f7('0x3f')]){_0x530c09['where']=_[_0x55f7('0x42')](_0x530c09[_0x55f7('0x40')],{'$or':_[_0x55f7('0x2e')](_0x530c09[_0x55f7('0x37')],function(_0x5e9d5d){var _0xfc2924={};_0xfc2924[_0x5e9d5d]={'$like':'%'+_0x2b7dd2[_0x55f7('0x33')][_0x55f7('0x3f')]+'%'};return _0xfc2924;})});}_0x530c09=_[_0x55f7('0x42')]({},_0x530c09,_0x2b7dd2[_0x55f7('0x43')]);return _0x57e6ac[_0x55f7('0x87')](_0x530c09);}})[_0x55f7('0x27')](function(_0x2d4c0d){if(_0x2d4c0d){_0x33a3f1=_0x2d4c0d[_0x55f7('0x59')];if(!_0x2b7dd2[_0x55f7('0x33')][_0x55f7('0x39')](_0x55f7('0x3a'))){_0x530c09[_0x55f7('0x3b')]=qs['limit'](_0x2b7dd2[_0x55f7('0x33')][_0x55f7('0x3b')]);_0x530c09['offset']=qs[_0x55f7('0x1f')](_0x2b7dd2[_0x55f7('0x33')][_0x55f7('0x1f')]);}return _0x57e6ac['getAgents'](_0x530c09);}})['then'](function(_0x3d0563){if(_0x3d0563){return _0x3d0563?{'count':_0x33a3f1,'rows':_0x3d0563}:null;}})[_0x55f7('0x27')](respondWithResult(_0x26525c,null))[_0x55f7('0x47')](handleError(_0x26525c,null));};