Built motion from commit f94df7f0.|2.5.48
[motion2.git] / server / api / chatQueue / chatQueue.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 _0xbb71=['intersection','attributes','fields','hasOwnProperty','nolimit','order','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChatQueues','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','UserChatQueue','sort','ChatQueueId','User','findAndCountAll','agent','updatedAt','createdAt','format','%s/%s','SIP','chatPause','findOne','Team','getTeams','addTeams','ids','Agents','interface','transaction','each','findOrCreate','forEach','emit','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','SELECT','includes','compact','value','isEmpty','removeAgents','addAgents','omit','spread','isArray','userChatQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','localhost','socket.io-emitter','./chatQueue.socket','register','jayson/promise','client','http','info','ChatQueue,\x20%s,\x20%s','request\x20sent','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','then','destroy','get','UserProfileResource','end','stack','name','map','ChatQueue','rawAttributes','type','model','query','keys','filters'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xbb71,0x187));var _0x1bb7=function(_0x1b2ff7,_0x12a034){_0x1b2ff7=_0x1b2ff7-0x0;var _0x31656a=_0xbb71[_0x1b2ff7];return _0x31656a;};'use strict';var emlformat=require(_0x1bb7('0x0'));var rimraf=require(_0x1bb7('0x1'));var zipdir=require(_0x1bb7('0x2'));var jsonpatch=require(_0x1bb7('0x3'));var rp=require(_0x1bb7('0x4'));var moment=require('moment');var BPromise=require(_0x1bb7('0x5'));var Mustache=require(_0x1bb7('0x6'));var util=require(_0x1bb7('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1bb7('0x8'));var fs=require('fs');var fs_extra=require(_0x1bb7('0x9'));var _=require(_0x1bb7('0xa'));var squel=require(_0x1bb7('0xb'));var crypto=require(_0x1bb7('0xc'));var jsforce=require(_0x1bb7('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x1bb7('0xe'));var querystring=require(_0x1bb7('0xf'));var Papa=require('papaparse');var Redis=require(_0x1bb7('0x10'));var authService=require(_0x1bb7('0x11'));var qs=require(_0x1bb7('0x12'));var as=require(_0x1bb7('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1bb7('0x14'))(_0x1bb7('0x15'));var utils=require(_0x1bb7('0x16'));var config=require(_0x1bb7('0x17'));var licenseUtil=require(_0x1bb7('0x18'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x1bb7('0x19')](config[_0x1bb7('0x1a')],{'host':_0x1bb7('0x1b'),'port':0x18eb});var socket=require(_0x1bb7('0x1c'))(new Redis(config['redis']));require(_0x1bb7('0x1d'))[_0x1bb7('0x1e')](socket);var jayson=require(_0x1bb7('0x1f'));var client=jayson[_0x1bb7('0x20')][_0x1bb7('0x21')]({'port':0x232a});function respondWithRpcPromise(_0x292c86,_0x5f04b0,_0x21d12a,_0x393e51){return new BPromise(function(_0x5df180,_0x3a7c76){var _0x3c0f6a=_0x393e51||client;return _0x3c0f6a['request'](_0x292c86,_0x21d12a)['then'](function(_0x58e554){logger[_0x1bb7('0x22')](_0x1bb7('0x23'),_0x5f04b0,_0x1bb7('0x24'));logger['debug'](_0x1bb7('0x25'),_0x5f04b0,_0x1bb7('0x24'),JSON[_0x1bb7('0x26')](_0x58e554));if(_0x58e554[_0x1bb7('0x27')]){if(_0x58e554[_0x1bb7('0x27')][_0x1bb7('0x28')]===0x1f4){logger['error']('ChatQueue,\x20%s,\x20%s',_0x5f04b0,_0x58e554[_0x1bb7('0x27')][_0x1bb7('0x29')]);return _0x3a7c76(_0x58e554['error'][_0x1bb7('0x29')]);}logger[_0x1bb7('0x27')](_0x1bb7('0x23'),_0x5f04b0,_0x58e554[_0x1bb7('0x27')][_0x1bb7('0x29')]);return _0x5df180(_0x58e554['error'][_0x1bb7('0x29')]);}else{logger['info']('ChatQueue,\x20%s,\x20%s',_0x5f04b0,'request\x20sent');_0x5df180(_0x58e554[_0x1bb7('0x2a')][_0x1bb7('0x29')]);}})['catch'](function(_0x2b24a7){logger[_0x1bb7('0x27')](_0x1bb7('0x23'),_0x5f04b0,_0x2b24a7);_0x3a7c76(_0x2b24a7);});});}function respondWithStatusCode(_0x4f2b18,_0x3beaa2){_0x3beaa2=_0x3beaa2||0xcc;return function(_0x5b14c9){if(_0x5b14c9){return _0x4f2b18[_0x1bb7('0x2b')](_0x3beaa2);}return _0x4f2b18[_0x1bb7('0x2c')](_0x3beaa2)['end']();};}function respondWithResult(_0x16be15,_0x31f583){_0x31f583=_0x31f583||0xc8;return function(_0x5b14dd){if(_0x5b14dd){return _0x16be15['status'](_0x31f583)[_0x1bb7('0x2d')](_0x5b14dd);}};}function respondWithFilteredResult(_0xcdc083,_0x103dcd){return function(_0x1bfcaf){if(_0x1bfcaf){var _0x5247e6=typeof _0x103dcd[_0x1bb7('0x2e')]===_0x1bb7('0x2f')&&typeof _0x103dcd[_0x1bb7('0x30')]===_0x1bb7('0x2f');var _0x1ced3e=_0x1bfcaf['count'];var _0x2a2d4a=_0x5247e6?0x0:_0x103dcd[_0x1bb7('0x2e')];var _0x3acaf3=_0x5247e6?_0x1bfcaf[_0x1bb7('0x31')]:_0x103dcd['offset']+_0x103dcd[_0x1bb7('0x30')];var _0xb71cbb;if(_0x3acaf3>=_0x1ced3e){_0x3acaf3=_0x1ced3e;_0xb71cbb=0xc8;}else{_0xb71cbb=0xce;}_0xcdc083[_0x1bb7('0x2c')](_0xb71cbb);return _0xcdc083[_0x1bb7('0x32')](_0x1bb7('0x33'),_0x2a2d4a+'-'+_0x3acaf3+'/'+_0x1ced3e)[_0x1bb7('0x2d')](_0x1bfcaf);}return null;};}function patchUpdates(_0x1d19ad){return function(_0x589f3f){try{jsonpatch[_0x1bb7('0x34')](_0x589f3f,_0x1d19ad,!![]);}catch(_0x2dddb6){return BPromise['reject'](_0x2dddb6);}return _0x589f3f['save']();};}function saveUpdates(_0x529bd9,_0x2451a4){return function(_0x2db805){if(_0x2db805){return _0x2db805['update'](_0x529bd9)[_0x1bb7('0x35')](function(_0x56a7cb){return _0x56a7cb;});}return null;};}function removeEntity(_0xe72a9c,_0x30f066){return function(_0x3ce761){if(_0x3ce761){return _0x3ce761[_0x1bb7('0x36')]()[_0x1bb7('0x35')](function(){var _0x4f3d1a=_0x3ce761[_0x1bb7('0x37')]({'plain':!![]});var _0x281371='ChatQueues';return db[_0x1bb7('0x38')]['destroy']({'where':{'type':_0x281371,'resourceId':_0x4f3d1a['id']}})['then'](function(){return _0x3ce761;});})['then'](function(){_0xe72a9c['status'](0xcc)[_0x1bb7('0x39')]();});}};}function handleEntityNotFound(_0x541077,_0x51335c){return function(_0x389084){if(!_0x389084){_0x541077[_0x1bb7('0x2b')](0x194);}return _0x389084;};}function handleError(_0xc49b9a,_0x1368a4){_0x1368a4=_0x1368a4||0x1f4;return function(_0x44fa70){logger['error'](_0x44fa70[_0x1bb7('0x3a')]);if(_0x44fa70[_0x1bb7('0x3b')]){delete _0x44fa70[_0x1bb7('0x3b')];}_0xc49b9a[_0x1bb7('0x2c')](_0x1368a4)['send'](_0x44fa70);};}exports['index']=function(_0x5e7955,_0x18f9d7){var _0x3123c5={},_0xa158ba={},_0x182792={'count':0x0,'rows':[]};var _0x1ff1c0=_[_0x1bb7('0x3c')](db[_0x1bb7('0x3d')][_0x1bb7('0x3e')],function(_0x1414c4){return{'name':_0x1414c4['fieldName'],'type':_0x1414c4[_0x1bb7('0x3f')]['key']};});_0xa158ba[_0x1bb7('0x40')]=_[_0x1bb7('0x3c')](_0x1ff1c0,_0x1bb7('0x3b'));_0xa158ba[_0x1bb7('0x41')]=_[_0x1bb7('0x42')](_0x5e7955[_0x1bb7('0x41')]);_0xa158ba[_0x1bb7('0x43')]=_[_0x1bb7('0x44')](_0xa158ba[_0x1bb7('0x40')],_0xa158ba['query']);_0x3123c5[_0x1bb7('0x45')]=_[_0x1bb7('0x44')](_0xa158ba[_0x1bb7('0x40')],qs[_0x1bb7('0x46')](_0x5e7955['query'][_0x1bb7('0x46')]));_0x3123c5[_0x1bb7('0x45')]=_0x3123c5[_0x1bb7('0x45')]['length']?_0x3123c5[_0x1bb7('0x45')]:_0xa158ba[_0x1bb7('0x40')];if(!_0x5e7955[_0x1bb7('0x41')][_0x1bb7('0x47')](_0x1bb7('0x48'))){_0x3123c5['limit']=qs[_0x1bb7('0x30')](_0x5e7955['query'][_0x1bb7('0x30')]);_0x3123c5['offset']=qs[_0x1bb7('0x2e')](_0x5e7955[_0x1bb7('0x41')]['offset']);}_0x3123c5[_0x1bb7('0x49')]=qs['sort'](_0x5e7955[_0x1bb7('0x41')]['sort']);_0x3123c5[_0x1bb7('0x4a')]=qs[_0x1bb7('0x43')](_[_0x1bb7('0x4b')](_0x5e7955[_0x1bb7('0x41')],_0xa158ba[_0x1bb7('0x43')]),_0x1ff1c0);if(_0x5e7955[_0x1bb7('0x41')][_0x1bb7('0x4c')]){_0x3123c5[_0x1bb7('0x4a')]=_[_0x1bb7('0x4d')](_0x3123c5[_0x1bb7('0x4a')],{'$or':_['map'](_0x1ff1c0,function(_0x917878){if(_0x917878[_0x1bb7('0x3f')]!==_0x1bb7('0x4e')){var _0x4a3a94={};_0x4a3a94[_0x917878[_0x1bb7('0x3b')]]={'$like':'%'+_0x5e7955[_0x1bb7('0x41')]['filter']+'%'};return _0x4a3a94;}})});}_0x3123c5=_[_0x1bb7('0x4d')]({},_0x3123c5,_0x5e7955[_0x1bb7('0x4f')]);var _0x1f0f17={'where':_0x3123c5['where']};return db[_0x1bb7('0x3d')][_0x1bb7('0x31')](_0x1f0f17)[_0x1bb7('0x35')](function(_0x325b83){_0x182792[_0x1bb7('0x31')]=_0x325b83;if(_0x5e7955[_0x1bb7('0x41')][_0x1bb7('0x50')]){_0x3123c5[_0x1bb7('0x51')]=[{'all':!![]}];}return db[_0x1bb7('0x3d')][_0x1bb7('0x52')](_0x3123c5);})[_0x1bb7('0x35')](function(_0x30a0a5){_0x182792['rows']=_0x30a0a5;return _0x182792;})[_0x1bb7('0x35')](respondWithFilteredResult(_0x18f9d7,_0x3123c5))[_0x1bb7('0x53')](handleError(_0x18f9d7,null));};exports[_0x1bb7('0x54')]=function(_0x285d9e,_0x1de95f){var _0x4dccb6={'raw':!![],'where':{'id':_0x285d9e[_0x1bb7('0x55')]['id']}},_0xf759b={};_0xf759b[_0x1bb7('0x40')]=_[_0x1bb7('0x42')](db['ChatQueue'][_0x1bb7('0x3e')]);_0xf759b[_0x1bb7('0x41')]=_[_0x1bb7('0x42')](_0x285d9e['query']);_0xf759b[_0x1bb7('0x43')]=_[_0x1bb7('0x44')](_0xf759b[_0x1bb7('0x40')],_0xf759b[_0x1bb7('0x41')]);_0x4dccb6[_0x1bb7('0x45')]=_['intersection'](_0xf759b[_0x1bb7('0x40')],qs['fields'](_0x285d9e[_0x1bb7('0x41')][_0x1bb7('0x46')]));_0x4dccb6[_0x1bb7('0x45')]=_0x4dccb6[_0x1bb7('0x45')][_0x1bb7('0x56')]?_0x4dccb6['attributes']:_0xf759b[_0x1bb7('0x40')];if(_0x285d9e[_0x1bb7('0x41')][_0x1bb7('0x50')]){_0x4dccb6[_0x1bb7('0x51')]=[{'all':!![]}];}_0x4dccb6=_[_0x1bb7('0x4d')]({},_0x4dccb6,_0x285d9e[_0x1bb7('0x4f')]);return db['ChatQueue'][_0x1bb7('0x57')](_0x4dccb6)['then'](handleEntityNotFound(_0x1de95f,null))[_0x1bb7('0x35')](respondWithResult(_0x1de95f,null))[_0x1bb7('0x53')](handleError(_0x1de95f,null));};exports[_0x1bb7('0x58')]=function(_0x2f7dda,_0x118076){return db['ChatQueue'][_0x1bb7('0x58')](_0x2f7dda[_0x1bb7('0x59')],{})[_0x1bb7('0x35')](function(_0x3ce2f4){var _0x5eb3=_0x2f7dda[_0x1bb7('0x5a')][_0x1bb7('0x37')]({'plain':!![]});if(!_0x5eb3)throw new Error(_0x1bb7('0x5b'));if(_0x5eb3[_0x1bb7('0x5c')]===_0x1bb7('0x5a')){var _0x5b8d75=_0x3ce2f4[_0x1bb7('0x37')]({'plain':!![]});var _0x32a789=_0x1bb7('0x5d');return db['UserProfileSection'][_0x1bb7('0x57')]({'where':{'name':_0x32a789,'userProfileId':_0x5eb3[_0x1bb7('0x5e')]},'raw':!![]})[_0x1bb7('0x35')](function(_0x1ceb44){if(_0x1ceb44&&_0x1ceb44[_0x1bb7('0x5f')]===0x0){return db['UserProfileResource'][_0x1bb7('0x58')]({'name':_0x5b8d75[_0x1bb7('0x3b')],'resourceId':_0x5b8d75['id'],'type':_0x1ceb44[_0x1bb7('0x3b')],'sectionId':_0x1ceb44['id']},{})[_0x1bb7('0x35')](function(){return _0x3ce2f4;});}else{return _0x3ce2f4;}})[_0x1bb7('0x53')](function(_0x36cbff){logger[_0x1bb7('0x27')](_0x1bb7('0x60'),_0x36cbff);throw _0x36cbff;});}return _0x3ce2f4;})[_0x1bb7('0x35')](respondWithResult(_0x118076,0xc9))[_0x1bb7('0x53')](handleError(_0x118076,null));};exports[_0x1bb7('0x61')]=function(_0x1f68c5,_0x17347f){if(_0x1f68c5[_0x1bb7('0x59')]['id']){delete _0x1f68c5[_0x1bb7('0x59')]['id'];}return db[_0x1bb7('0x3d')][_0x1bb7('0x57')]({'where':{'id':_0x1f68c5['params']['id']}})[_0x1bb7('0x35')](handleEntityNotFound(_0x17347f,null))[_0x1bb7('0x35')](saveUpdates(_0x1f68c5[_0x1bb7('0x59')],null))[_0x1bb7('0x35')](respondWithResult(_0x17347f,null))[_0x1bb7('0x53')](handleError(_0x17347f,null));};exports[_0x1bb7('0x36')]=function(_0x21135b,_0x564249){return db[_0x1bb7('0x3d')]['find']({'where':{'id':_0x21135b[_0x1bb7('0x55')]['id']}})[_0x1bb7('0x35')](handleEntityNotFound(_0x564249,null))[_0x1bb7('0x35')](removeEntity(_0x564249,null))[_0x1bb7('0x53')](handleError(_0x564249,null));};exports[_0x1bb7('0x62')]=function(_0x492144,_0x2e0011){return db[_0x1bb7('0x3d')][_0x1bb7('0x62')]()[_0x1bb7('0x35')](respondWithResult(_0x2e0011,null))[_0x1bb7('0x53')](handleError(_0x2e0011,null));};exports[_0x1bb7('0x63')]=function(_0x37524c,_0x55e5b8,_0x5930b5){var _0x100670={'raw':!![],'where':{}},_0x1a6c3f={},_0x59594e;return db[_0x1bb7('0x3d')]['findOne']({'where':{'id':_0x37524c[_0x1bb7('0x55')]['id']}})[_0x1bb7('0x35')](handleEntityNotFound(_0x55e5b8,null))[_0x1bb7('0x35')](function(_0x508f1f){if(_0x508f1f){_0x59594e=_0x508f1f[_0x1bb7('0x37')]({'plain':!![]});_0x1a6c3f['model']=_['keys'](db[_0x1bb7('0x64')][_0x1bb7('0x3e')]);_0x1a6c3f[_0x1bb7('0x41')]=_[_0x1bb7('0x42')](_0x37524c[_0x1bb7('0x41')]);_0x1a6c3f[_0x1bb7('0x43')]=_[_0x1bb7('0x44')](_0x1a6c3f['model'],_0x1a6c3f['query']);_0x100670['attributes']=_[_0x1bb7('0x44')](_0x1a6c3f['model'],qs['fields'](_0x37524c[_0x1bb7('0x41')]['fields']));_0x100670[_0x1bb7('0x45')]=_0x100670[_0x1bb7('0x45')][_0x1bb7('0x56')]?_0x100670['attributes']:_0x1a6c3f[_0x1bb7('0x40')];if(!_0x37524c['query'][_0x1bb7('0x47')](_0x1bb7('0x48'))){_0x100670['limit']=qs[_0x1bb7('0x30')](_0x37524c[_0x1bb7('0x41')][_0x1bb7('0x30')]);_0x100670[_0x1bb7('0x2e')]=qs['offset'](_0x37524c[_0x1bb7('0x41')]['offset']);}_0x100670[_0x1bb7('0x49')]=qs[_0x1bb7('0x65')](_0x37524c[_0x1bb7('0x41')][_0x1bb7('0x65')]);_0x100670[_0x1bb7('0x4a')]=qs['filters'](_[_0x1bb7('0x4b')](_0x37524c['query'],_0x1a6c3f['filters']));_0x100670[_0x1bb7('0x4a')][_0x1bb7('0x66')]=_0x508f1f['id'];if(_0x37524c[_0x1bb7('0x41')][_0x1bb7('0x4c')]){_0x100670[_0x1bb7('0x4a')]=_[_0x1bb7('0x4d')](_0x100670['where'],{'$or':_[_0x1bb7('0x3c')](_0x100670[_0x1bb7('0x45')],function(_0x2d39a0){var _0x1a7427={};_0x1a7427[_0x2d39a0]={'$like':'%'+_0x37524c[_0x1bb7('0x41')]['filter']+'%'};return _0x1a7427;})});}_0x100670=_[_0x1bb7('0x4d')]({},_0x100670,_0x37524c[_0x1bb7('0x4f')]);return db['UserChatQueue'][_0x1bb7('0x52')](_0x100670);}})[_0x1bb7('0x35')](function(_0x29650d){if(_0x29650d){return db[_0x1bb7('0x67')][_0x1bb7('0x68')]({'where':{'id':_[_0x1bb7('0x3c')](_0x29650d,'UserId'),'role':_0x1bb7('0x69')},'attributes':['id',_0x1bb7('0x3b'),'chatPause',_0x1bb7('0x6a'),_0x1bb7('0x6b')]});}})[_0x1bb7('0x35')](function(_0x58a211){if(_0x58a211){return{'count':_0x58a211[_0x1bb7('0x31')],'rows':_[_0x1bb7('0x3c')](_0x58a211['rows'],function(_0x52fb09){return{'membername':_0x52fb09[_0x1bb7('0x3b')],'UserId':_0x52fb09['id'],'queue_name':_0x59594e['name'],'ChatQueueId':_0x59594e['id'],'interface':util[_0x1bb7('0x6c')](_0x1bb7('0x6d'),_0x1bb7('0x6e'),_0x52fb09[_0x1bb7('0x3b')]),'penalty':0x0,'paused':_0x52fb09[_0x1bb7('0x6f')],'createdAt':_0x52fb09[_0x1bb7('0x6b')],'updatedAt':_0x52fb09[_0x1bb7('0x6a')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x1bb7('0x35')](respondWithFilteredResult(_0x55e5b8,_0x100670))[_0x1bb7('0x53')](handleError(_0x55e5b8,null));};exports['getTeams']=function(_0x51a83b,_0x38ff5e,_0x4f5ce9){var _0xb46ff2={};var _0x14b86a={};var _0xecc96d;var _0x21fa39;return db[_0x1bb7('0x3d')][_0x1bb7('0x70')]({'where':{'id':_0x51a83b[_0x1bb7('0x55')]['id']}})[_0x1bb7('0x35')](handleEntityNotFound(_0x38ff5e,null))['then'](function(_0x4afb8c){if(_0x4afb8c){_0xecc96d=_0x4afb8c;_0x14b86a['model']=_[_0x1bb7('0x42')](db[_0x1bb7('0x71')]['rawAttributes']);_0x14b86a[_0x1bb7('0x41')]=_[_0x1bb7('0x42')](_0x51a83b[_0x1bb7('0x41')]);_0x14b86a[_0x1bb7('0x43')]=_[_0x1bb7('0x44')](_0x14b86a[_0x1bb7('0x40')],_0x14b86a['query']);_0xb46ff2[_0x1bb7('0x45')]=_[_0x1bb7('0x44')](_0x14b86a[_0x1bb7('0x40')],qs[_0x1bb7('0x46')](_0x51a83b['query'][_0x1bb7('0x46')]));_0xb46ff2[_0x1bb7('0x45')]=_0xb46ff2[_0x1bb7('0x45')][_0x1bb7('0x56')]?_0xb46ff2[_0x1bb7('0x45')]:_0x14b86a[_0x1bb7('0x40')];_0xb46ff2['order']=qs['sort'](_0x51a83b[_0x1bb7('0x41')][_0x1bb7('0x65')]);_0xb46ff2[_0x1bb7('0x4a')]=qs['filters'](_[_0x1bb7('0x4b')](_0x51a83b[_0x1bb7('0x41')],_0x14b86a[_0x1bb7('0x43')]));if(_0x51a83b[_0x1bb7('0x41')][_0x1bb7('0x4c')]){_0xb46ff2[_0x1bb7('0x4a')]=_[_0x1bb7('0x4d')](_0xb46ff2[_0x1bb7('0x4a')],{'$or':_[_0x1bb7('0x3c')](_0xb46ff2['attributes'],function(_0x35b25c){var _0x40afc2={};_0x40afc2[_0x35b25c]={'$like':'%'+_0x51a83b['query'][_0x1bb7('0x4c')]+'%'};return _0x40afc2;})});}_0xb46ff2=_[_0x1bb7('0x4d')]({},_0xb46ff2,_0x51a83b[_0x1bb7('0x4f')]);return _0xecc96d[_0x1bb7('0x72')](_0xb46ff2);}})[_0x1bb7('0x35')](function(_0x333b8a){if(_0x333b8a){_0x21fa39=_0x333b8a[_0x1bb7('0x56')];if(!_0x51a83b[_0x1bb7('0x41')][_0x1bb7('0x47')](_0x1bb7('0x48'))){_0xb46ff2[_0x1bb7('0x30')]=qs[_0x1bb7('0x30')](_0x51a83b['query'][_0x1bb7('0x30')]);_0xb46ff2[_0x1bb7('0x2e')]=qs[_0x1bb7('0x2e')](_0x51a83b['query'][_0x1bb7('0x2e')]);}return _0xecc96d['getTeams'](_0xb46ff2);}})[_0x1bb7('0x35')](function(_0xaf89c9){if(_0xaf89c9){return _0xaf89c9?{'count':_0x21fa39,'rows':_0xaf89c9}:null;}})[_0x1bb7('0x35')](respondWithResult(_0x38ff5e,null))[_0x1bb7('0x53')](handleError(_0x38ff5e,null));};exports[_0x1bb7('0x73')]=function(_0x5389ba,_0x26de06,_0xdf5c2e){var _0xe6e130=_0x5389ba[_0x1bb7('0x59')][_0x1bb7('0x74')];return db[_0x1bb7('0x71')][_0x1bb7('0x52')]({'where':{'id':_0xe6e130},'attributes':['id'],'include':[{'model':db[_0x1bb7('0x67')],'as':_0x1bb7('0x75'),'attributes':['id',_0x1bb7('0x3b'),'online','voicePause',_0x1bb7('0x76')],'raw':!![]}]})[_0x1bb7('0x35')](function(_0x3ddd7c){if(_0x3ddd7c){var _0x20ab8c=_['flatMap'](_0x3ddd7c,function(_0x424db9){var _0x30ce5b=_0x424db9[_0x1bb7('0x37')]({'plain':!![]});return _0x30ce5b[_0x1bb7('0x75')];});return db[_0x1bb7('0x3d')][_0x1bb7('0x57')]({'where':{'id':_0x5389ba[_0x1bb7('0x55')]['id']}})[_0x1bb7('0x35')](function(_0x3fbfdf){return db['sequelize'][_0x1bb7('0x77')](function(_0xc3b47b){return _0x3fbfdf[_0x1bb7('0x73')](_0xe6e130,{'transaction':_0xc3b47b})[_0x1bb7('0x35')](function(){return BPromise[_0x1bb7('0x78')](_0x20ab8c,function(_0x2a8e01){return db[_0x1bb7('0x64')][_0x1bb7('0x79')]({'where':{'UserId':_0x2a8e01['id'],'ChatQueueId':_0x5389ba['params']['id']},'transaction':_0xc3b47b});});})[_0x1bb7('0x35')](function(){_0x20ab8c[_0x1bb7('0x7a')](function(_0x121bc5){socket[_0x1bb7('0x7b')](_0x1bb7('0x7c'),{'UserId':_0x121bc5['id'],'ChatQueueId':_0x3fbfdf['id']});});});});});}})[_0x1bb7('0x35')](respondWithStatusCode(_0x26de06,null))[_0x1bb7('0x53')](handleError(_0x26de06,null));};exports[_0x1bb7('0x7d')]=function(_0x11506e,_0x50a77b,_0x14fcb9){return db[_0x1bb7('0x71')][_0x1bb7('0x52')]({'where':{'id':_0x11506e[_0x1bb7('0x41')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':_0x1bb7('0x75'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x50a77b,null))[_0x1bb7('0x35')](function(_0x52aaea){var _0x164dcf=_[_0x1bb7('0x3c')](_0x52aaea,'id');var _0x2e6900=[];var _0xc9cbd8=[];var _0x1642a9=squel[_0x1bb7('0x7e')]();_0x1642a9[_0x1bb7('0x7f')](_0x1bb7('0x80'))[_0x1bb7('0x81')](_0x1bb7('0x82'),'tq')[_0x1bb7('0x83')](_0x1bb7('0x84'),'ut',_0x1bb7('0x85'))[_0x1bb7('0x4a')](_0x1bb7('0x86'),_0x11506e[_0x1bb7('0x55')]['id']);for(var _0x954bae=0x0;_0x954bae<_0x52aaea[_0x1bb7('0x56')];_0x954bae+=0x1){let _0x2e0060=_0x52aaea[_0x954bae];for(var _0x9c7788=0x0;_0x9c7788<_0x2e0060[_0x1bb7('0x75')][_0x1bb7('0x56')];_0x9c7788+=0x1){let _0x58b88e=_0x2e0060[_0x1bb7('0x75')][_0x9c7788];var _0x423c14=_0x1642a9[_0x1bb7('0x87')]();_0x423c14[_0x1bb7('0x4a')](_0x1bb7('0x88'),_0x58b88e['id']);_0xc9cbd8[_0x1bb7('0x89')](db[_0x1bb7('0x8a')]['query'](_0x423c14[_0x1bb7('0x8b')](),{'type':db['sequelize'][_0x1bb7('0x8c')][_0x1bb7('0x8d')]})[_0x1bb7('0x35')](function(_0x546bb8){if(_0x546bb8[_0x1bb7('0x56')]===0x1){return _0x58b88e['id'];}else{var _0x4d744d=_['every'](_['map'](_0x546bb8,'TeamId'),function(_0x457d41){return _[_0x1bb7('0x8e')](_0x164dcf,_0x457d41);});if(_0x4d744d){return _0x58b88e['id'];}}}));}}return BPromise['all'](_0xc9cbd8)['then'](function(_0x35f087){_0x2e6900=_(_0x2e6900)['union'](_0x35f087)[_0x1bb7('0x8f')]()[_0x1bb7('0x90')]();return db['ChatQueue'][_0x1bb7('0x57')]({'where':{'id':_0x11506e[_0x1bb7('0x55')]['id']}})[_0x1bb7('0x35')](function(_0x12380c){return db[_0x1bb7('0x8a')]['transaction'](function(_0x34984d){return _0x12380c['removeTeams'](_0x11506e['query'][_0x1bb7('0x74')],{'transaction':_0x34984d})[_0x1bb7('0x35')](function(){if(!_[_0x1bb7('0x91')](_0x2e6900)){return _0x12380c[_0x1bb7('0x92')](_0x2e6900,{'transaction':_0x34984d});}})[_0x1bb7('0x35')](function(){_0x2e6900['forEach'](function(_0xdf02b2){socket[_0x1bb7('0x7b')]('userChatQueue:remove',{'UserId':_0xdf02b2,'ChatQueueId':_0x12380c['id']});});});});});});})['then'](respondWithStatusCode(_0x50a77b,null))[_0x1bb7('0x53')](handleError(_0x50a77b,null));};exports[_0x1bb7('0x93')]=function(_0x13baf3,_0x2a3c46,_0x410c74){return db[_0x1bb7('0x3d')][_0x1bb7('0x57')]({'where':{'id':_0x13baf3[_0x1bb7('0x55')]['id']}})['then'](handleEntityNotFound(_0x2a3c46,null))['then'](function(_0xee4daf){if(_0xee4daf){return _0xee4daf[_0x1bb7('0x93')](_0x13baf3[_0x1bb7('0x59')]['ids'],_[_0x1bb7('0x94')](_0x13baf3[_0x1bb7('0x59')],[_0x1bb7('0x74'),'id'])||{})[_0x1bb7('0x95')](function(_0x3bf26f){for(var _0x29a446=0x0;_0x29a446<_0x13baf3[_0x1bb7('0x59')][_0x1bb7('0x74')][_0x1bb7('0x56')];_0x29a446+=0x1){socket[_0x1bb7('0x7b')]('userChatQueue:save',{'UserId':Number(_0x13baf3[_0x1bb7('0x59')][_0x1bb7('0x74')][_0x29a446]),'ChatQueueId':Number(_0x13baf3['params']['id'])});}return _0x3bf26f;});}})['then'](respondWithResult(_0x2a3c46,null))[_0x1bb7('0x53')](handleError(_0x2a3c46,null));};exports[_0x1bb7('0x92')]=function(_0x5c5ea8,_0x32347a,_0x2ddf47){return db[_0x1bb7('0x3d')][_0x1bb7('0x57')]({'where':{'id':_0x5c5ea8['params']['id']}})['then'](handleEntityNotFound(_0x32347a,null))[_0x1bb7('0x35')](function(_0x1e606f){if(_0x1e606f){return _0x1e606f[_0x1bb7('0x92')](_0x5c5ea8[_0x1bb7('0x41')][_0x1bb7('0x74')])['then'](function(){if(_[_0x1bb7('0x96')](_0x5c5ea8['query'][_0x1bb7('0x74')])){for(var _0x6c1a58=0x0;_0x6c1a58<_0x5c5ea8[_0x1bb7('0x41')][_0x1bb7('0x74')]['length'];_0x6c1a58+=0x1){socket['emit'](_0x1bb7('0x97'),{'UserId':Number(_0x5c5ea8[_0x1bb7('0x41')][_0x1bb7('0x74')][_0x6c1a58]),'ChatQueueId':Number(_0x5c5ea8[_0x1bb7('0x55')]['id'])});}}else{socket[_0x1bb7('0x7b')](_0x1bb7('0x97'),{'UserId':Number(_0x5c5ea8[_0x1bb7('0x41')][_0x1bb7('0x74')]),'ChatQueueId':Number(_0x5c5ea8[_0x1bb7('0x55')]['id'])});}});}})[_0x1bb7('0x35')](respondWithStatusCode(_0x32347a,null))[_0x1bb7('0x53')](handleError(_0x32347a,null));};exports[_0x1bb7('0x98')]=function(_0x3dfd51,_0x114c88,_0x49c7c0){var _0x3bd9a9={};var _0x21e597={};var _0x4c4b51;var _0x1cbb4a;return db[_0x1bb7('0x3d')][_0x1bb7('0x70')]({'where':{'id':_0x3dfd51[_0x1bb7('0x55')]['id']}})[_0x1bb7('0x35')](handleEntityNotFound(_0x114c88,null))[_0x1bb7('0x35')](function(_0x134446){if(_0x134446){_0x4c4b51=_0x134446;_0x21e597[_0x1bb7('0x40')]=_[_0x1bb7('0x42')](db[_0x1bb7('0x67')][_0x1bb7('0x3e')]);_0x21e597['query']=_[_0x1bb7('0x42')](_0x3dfd51[_0x1bb7('0x41')]);_0x21e597[_0x1bb7('0x43')]=_['intersection'](_0x21e597['model'],_0x21e597[_0x1bb7('0x41')]);_0x3bd9a9[_0x1bb7('0x45')]=_[_0x1bb7('0x44')](_0x21e597['model'],qs['fields'](_0x3dfd51[_0x1bb7('0x41')]['fields']));_0x3bd9a9[_0x1bb7('0x45')]=_0x3bd9a9[_0x1bb7('0x45')][_0x1bb7('0x56')]?_0x3bd9a9[_0x1bb7('0x45')]:_0x21e597[_0x1bb7('0x40')];_0x3bd9a9['order']=qs[_0x1bb7('0x65')](_0x3dfd51['query']['sort']);_0x3bd9a9[_0x1bb7('0x4a')]=qs[_0x1bb7('0x43')](_[_0x1bb7('0x4b')](_0x3dfd51[_0x1bb7('0x41')],_0x21e597[_0x1bb7('0x43')]));if(_0x3dfd51[_0x1bb7('0x41')][_0x1bb7('0x4c')]){_0x3bd9a9[_0x1bb7('0x4a')]=_[_0x1bb7('0x4d')](_0x3bd9a9[_0x1bb7('0x4a')],{'$or':_[_0x1bb7('0x3c')](_0x3bd9a9[_0x1bb7('0x45')],function(_0x57e770){var _0x5f2338={};_0x5f2338[_0x57e770]={'$like':'%'+_0x3dfd51[_0x1bb7('0x41')]['filter']+'%'};return _0x5f2338;})});}_0x3bd9a9=_['merge']({},_0x3bd9a9,_0x3dfd51[_0x1bb7('0x4f')]);return _0x4c4b51[_0x1bb7('0x98')](_0x3bd9a9);}})['then'](function(_0x34e12e){if(_0x34e12e){_0x1cbb4a=_0x34e12e[_0x1bb7('0x56')];if(!_0x3dfd51[_0x1bb7('0x41')][_0x1bb7('0x47')](_0x1bb7('0x48'))){_0x3bd9a9[_0x1bb7('0x30')]=qs[_0x1bb7('0x30')](_0x3dfd51[_0x1bb7('0x41')]['limit']);_0x3bd9a9[_0x1bb7('0x2e')]=qs['offset'](_0x3dfd51[_0x1bb7('0x41')][_0x1bb7('0x2e')]);}return _0x4c4b51['getAgents'](_0x3bd9a9);}})[_0x1bb7('0x35')](function(_0xe84309){if(_0xe84309){return _0xe84309?{'count':_0x1cbb4a,'rows':_0xe84309}:null;}})[_0x1bb7('0x35')](respondWithResult(_0x114c88,null))['catch'](handleError(_0x114c88,null));};