Built motion from commit f7863d46.|2.5.41
[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 _0x4341=['emit','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_chat_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','TeamId','includes','all','union','value','isEmpty','removeAgents','addAgents','ids','omit','isArray','userChatQueue:remove','getAgents','findOne','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','socket.io-emitter','register','jayson/promise','client','http','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','status','end','json','undefined','limit','offset','Content-Range','apply','reject','save','update','destroy','get','stack','name','send','index','ChatQueue','rawAttributes','fieldName','model','query','keys','filters','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','count','includeAll','include','rows','params','fields','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','ChatQueues','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','UserChatQueue','findAll','chatPause','updatedAt','createdAt','format','%s/%s','Team','getTeams','addTeams','User','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','forEach'];(function(_0x5966bc,_0x569f43){var _0x5b68f2=function(_0x46aa38){while(--_0x46aa38){_0x5966bc['push'](_0x5966bc['shift']());}};_0x5b68f2(++_0x569f43);}(_0x4341,0x1dc));var _0x1434=function(_0x5ce075,_0x20b649){_0x5ce075=_0x5ce075-0x0;var _0x595e7d=_0x4341[_0x5ce075];return _0x595e7d;};'use strict';var emlformat=require(_0x1434('0x0'));var rimraf=require(_0x1434('0x1'));var zipdir=require(_0x1434('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1434('0x3'));var moment=require('moment');var BPromise=require(_0x1434('0x4'));var Mustache=require(_0x1434('0x5'));var util=require(_0x1434('0x6'));var path=require(_0x1434('0x7'));var sox=require(_0x1434('0x8'));var csv=require(_0x1434('0x9'));var ejs=require(_0x1434('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1434('0xb'));var squel=require(_0x1434('0xc'));var crypto=require(_0x1434('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x1434('0xe'));var toCsv=require('to-csv');var querystring=require(_0x1434('0xf'));var Papa=require('papaparse');var Redis=require(_0x1434('0x10'));var authService=require(_0x1434('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1434('0x12'));var logger=require(_0x1434('0x13'))(_0x1434('0x14'));var utils=require(_0x1434('0x15'));var config=require(_0x1434('0x16'));var licenseUtil=require(_0x1434('0x17'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x1434('0x18')](config[_0x1434('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0x1434('0x1a'))(new Redis(config[_0x1434('0x19')]));require('./chatQueue.socket')[_0x1434('0x1b')](socket);var jayson=require(_0x1434('0x1c'));var client=jayson[_0x1434('0x1d')][_0x1434('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x4d1276,_0x1c74c3,_0x293a7b,_0x31a4ca){return new BPromise(function(_0x74693a,_0x53d9d3){var _0x4e24cf=_0x31a4ca||client;return _0x4e24cf[_0x1434('0x1f')](_0x4d1276,_0x293a7b)[_0x1434('0x20')](function(_0xa8b4bd){logger[_0x1434('0x21')](_0x1434('0x22'),_0x1c74c3,_0x1434('0x23'));logger[_0x1434('0x24')]('ChatQueue,\x20%s,\x20%s,\x20%s',_0x1c74c3,_0x1434('0x23'),JSON[_0x1434('0x25')](_0xa8b4bd));if(_0xa8b4bd['error']){if(_0xa8b4bd[_0x1434('0x26')][_0x1434('0x27')]===0x1f4){logger['error'](_0x1434('0x22'),_0x1c74c3,_0xa8b4bd[_0x1434('0x26')][_0x1434('0x28')]);return _0x53d9d3(_0xa8b4bd[_0x1434('0x26')]['message']);}logger['error']('ChatQueue,\x20%s,\x20%s',_0x1c74c3,_0xa8b4bd[_0x1434('0x26')]['message']);return _0x74693a(_0xa8b4bd[_0x1434('0x26')][_0x1434('0x28')]);}else{logger[_0x1434('0x21')](_0x1434('0x22'),_0x1c74c3,_0x1434('0x23'));_0x74693a(_0xa8b4bd[_0x1434('0x29')][_0x1434('0x28')]);}})[_0x1434('0x2a')](function(_0x50ec0a){logger['error'](_0x1434('0x22'),_0x1c74c3,_0x50ec0a);_0x53d9d3(_0x50ec0a);});});}function respondWithStatusCode(_0x48f7b8,_0x44c01b){_0x44c01b=_0x44c01b||0xcc;return function(_0x49a332){if(_0x49a332){return _0x48f7b8[_0x1434('0x2b')](_0x44c01b);}return _0x48f7b8[_0x1434('0x2c')](_0x44c01b)[_0x1434('0x2d')]();};}function respondWithResult(_0x403b41,_0x10cb23){_0x10cb23=_0x10cb23||0xc8;return function(_0x352777){if(_0x352777){return _0x403b41['status'](_0x10cb23)[_0x1434('0x2e')](_0x352777);}};}function respondWithFilteredResult(_0x30febd,_0x279657){return function(_0x36bb53){if(_0x36bb53){var _0x5f5983=typeof _0x279657['offset']===_0x1434('0x2f')&&typeof _0x279657[_0x1434('0x30')]===_0x1434('0x2f');var _0x310316=_0x36bb53['count'];var _0xeb6aa6=_0x5f5983?0x0:_0x279657[_0x1434('0x31')];var _0x2dcfc6=_0x5f5983?_0x36bb53['count']:_0x279657[_0x1434('0x31')]+_0x279657['limit'];var _0x4e0d15;if(_0x2dcfc6>=_0x310316){_0x2dcfc6=_0x310316;_0x4e0d15=0xc8;}else{_0x4e0d15=0xce;}_0x30febd[_0x1434('0x2c')](_0x4e0d15);return _0x30febd['set'](_0x1434('0x32'),_0xeb6aa6+'-'+_0x2dcfc6+'/'+_0x310316)[_0x1434('0x2e')](_0x36bb53);}return null;};}function patchUpdates(_0x42c5fb){return function(_0x386454){try{jsonpatch[_0x1434('0x33')](_0x386454,_0x42c5fb,!![]);}catch(_0x4d8393){return BPromise[_0x1434('0x34')](_0x4d8393);}return _0x386454[_0x1434('0x35')]();};}function saveUpdates(_0xfbc6c3,_0x557e9f){return function(_0x297a25){if(_0x297a25){return _0x297a25[_0x1434('0x36')](_0xfbc6c3)[_0x1434('0x20')](function(_0x2a3044){return _0x2a3044;});}return null;};}function removeEntity(_0x265ec9,_0x1cbce0){return function(_0x3b39e4){if(_0x3b39e4){return _0x3b39e4[_0x1434('0x37')]()[_0x1434('0x20')](function(){var _0x4df9cf=_0x3b39e4[_0x1434('0x38')]({'plain':!![]});var _0x3e8b7f='ChatQueues';return db['UserProfileResource'][_0x1434('0x37')]({'where':{'type':_0x3e8b7f,'resourceId':_0x4df9cf['id']}})['then'](function(){return _0x3b39e4;});})[_0x1434('0x20')](function(){_0x265ec9['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x188ea1,_0xf0eec2){return function(_0x42ed22){if(!_0x42ed22){_0x188ea1[_0x1434('0x2b')](0x194);}return _0x42ed22;};}function handleError(_0x222322,_0x405500){_0x405500=_0x405500||0x1f4;return function(_0x3c1282){logger['error'](_0x3c1282[_0x1434('0x39')]);if(_0x3c1282[_0x1434('0x3a')]){delete _0x3c1282[_0x1434('0x3a')];}_0x222322[_0x1434('0x2c')](_0x405500)[_0x1434('0x3b')](_0x3c1282);};}exports[_0x1434('0x3c')]=function(_0x311cbb,_0x598bb){var _0x80efdd={},_0x463273={},_0x3c33e0={'count':0x0,'rows':[]};var _0x18093f=_['map'](db[_0x1434('0x3d')][_0x1434('0x3e')],function(_0x37a78c){return{'name':_0x37a78c[_0x1434('0x3f')],'type':_0x37a78c['type']['key']};});_0x463273[_0x1434('0x40')]=_['map'](_0x18093f,_0x1434('0x3a'));_0x463273[_0x1434('0x41')]=_[_0x1434('0x42')](_0x311cbb[_0x1434('0x41')]);_0x463273[_0x1434('0x43')]=_['intersection'](_0x463273[_0x1434('0x40')],_0x463273[_0x1434('0x41')]);_0x80efdd[_0x1434('0x44')]=_[_0x1434('0x45')](_0x463273[_0x1434('0x40')],qs['fields'](_0x311cbb[_0x1434('0x41')]['fields']));_0x80efdd[_0x1434('0x44')]=_0x80efdd['attributes'][_0x1434('0x46')]?_0x80efdd[_0x1434('0x44')]:_0x463273[_0x1434('0x40')];if(!_0x311cbb[_0x1434('0x41')][_0x1434('0x47')](_0x1434('0x48'))){_0x80efdd['limit']=qs[_0x1434('0x30')](_0x311cbb[_0x1434('0x41')]['limit']);_0x80efdd[_0x1434('0x31')]=qs[_0x1434('0x31')](_0x311cbb['query']['offset']);}_0x80efdd[_0x1434('0x49')]=qs[_0x1434('0x4a')](_0x311cbb[_0x1434('0x41')][_0x1434('0x4a')]);_0x80efdd[_0x1434('0x4b')]=qs[_0x1434('0x43')](_[_0x1434('0x4c')](_0x311cbb[_0x1434('0x41')],_0x463273['filters']),_0x18093f);if(_0x311cbb[_0x1434('0x41')][_0x1434('0x4d')]){_0x80efdd[_0x1434('0x4b')]=_['merge'](_0x80efdd[_0x1434('0x4b')],{'$or':_[_0x1434('0x4e')](_0x18093f,function(_0x2c5599){if(_0x2c5599['type']!=='VIRTUAL'){var _0x3c7bb3={};_0x3c7bb3[_0x2c5599['name']]={'$like':'%'+_0x311cbb[_0x1434('0x41')][_0x1434('0x4d')]+'%'};return _0x3c7bb3;}})});}_0x80efdd=_['merge']({},_0x80efdd,_0x311cbb['options']);var _0x1a85dd={'where':_0x80efdd[_0x1434('0x4b')]};return db['ChatQueue'][_0x1434('0x4f')](_0x1a85dd)[_0x1434('0x20')](function(_0x9f4cbc){_0x3c33e0[_0x1434('0x4f')]=_0x9f4cbc;if(_0x311cbb[_0x1434('0x41')][_0x1434('0x50')]){_0x80efdd[_0x1434('0x51')]=[{'all':!![]}];}return db['ChatQueue']['findAll'](_0x80efdd);})[_0x1434('0x20')](function(_0x308652){_0x3c33e0[_0x1434('0x52')]=_0x308652;return _0x3c33e0;})[_0x1434('0x20')](respondWithFilteredResult(_0x598bb,_0x80efdd))[_0x1434('0x2a')](handleError(_0x598bb,null));};exports['show']=function(_0x54814e,_0x18d4f8){var _0x233918={'raw':!![],'where':{'id':_0x54814e[_0x1434('0x53')]['id']}},_0x4158ac={};_0x4158ac['model']=_[_0x1434('0x42')](db[_0x1434('0x3d')][_0x1434('0x3e')]);_0x4158ac[_0x1434('0x41')]=_[_0x1434('0x42')](_0x54814e[_0x1434('0x41')]);_0x4158ac[_0x1434('0x43')]=_[_0x1434('0x45')](_0x4158ac['model'],_0x4158ac[_0x1434('0x41')]);_0x233918[_0x1434('0x44')]=_[_0x1434('0x45')](_0x4158ac['model'],qs[_0x1434('0x54')](_0x54814e[_0x1434('0x41')][_0x1434('0x54')]));_0x233918['attributes']=_0x233918[_0x1434('0x44')]['length']?_0x233918[_0x1434('0x44')]:_0x4158ac['model'];if(_0x54814e[_0x1434('0x41')]['includeAll']){_0x233918[_0x1434('0x51')]=[{'all':!![]}];}_0x233918=_[_0x1434('0x55')]({},_0x233918,_0x54814e[_0x1434('0x56')]);return db[_0x1434('0x3d')][_0x1434('0x57')](_0x233918)[_0x1434('0x20')](handleEntityNotFound(_0x18d4f8,null))[_0x1434('0x20')](respondWithResult(_0x18d4f8,null))[_0x1434('0x2a')](handleError(_0x18d4f8,null));};exports[_0x1434('0x58')]=function(_0x3abef3,_0x24fbe1){return db[_0x1434('0x3d')]['create'](_0x3abef3[_0x1434('0x59')],{})['then'](function(_0x1c3d14){var _0x4488f9=_0x3abef3[_0x1434('0x5a')]['get']({'plain':!![]});if(!_0x4488f9)throw new Error(_0x1434('0x5b'));if(_0x4488f9['role']===_0x1434('0x5a')){var _0x32b027=_0x1c3d14[_0x1434('0x38')]({'plain':!![]});var _0x21dd1c=_0x1434('0x5c');return db[_0x1434('0x5d')][_0x1434('0x57')]({'where':{'name':_0x21dd1c,'userProfileId':_0x4488f9[_0x1434('0x5e')]},'raw':!![]})[_0x1434('0x20')](function(_0xf697d){if(_0xf697d&&_0xf697d[_0x1434('0x5f')]===0x0){return db[_0x1434('0x60')][_0x1434('0x58')]({'name':_0x32b027[_0x1434('0x3a')],'resourceId':_0x32b027['id'],'type':_0xf697d[_0x1434('0x3a')],'sectionId':_0xf697d['id']},{})['then'](function(){return _0x1c3d14;});}else{return _0x1c3d14;}})['catch'](function(_0x18f725){logger[_0x1434('0x26')](_0x1434('0x61'),_0x18f725);throw _0x18f725;});}return _0x1c3d14;})[_0x1434('0x20')](respondWithResult(_0x24fbe1,0xc9))[_0x1434('0x2a')](handleError(_0x24fbe1,null));};exports[_0x1434('0x36')]=function(_0x4cf66b,_0x531b08){if(_0x4cf66b['body']['id']){delete _0x4cf66b[_0x1434('0x59')]['id'];}return db[_0x1434('0x3d')][_0x1434('0x57')]({'where':{'id':_0x4cf66b[_0x1434('0x53')]['id']}})['then'](handleEntityNotFound(_0x531b08,null))['then'](saveUpdates(_0x4cf66b[_0x1434('0x59')],null))['then'](respondWithResult(_0x531b08,null))['catch'](handleError(_0x531b08,null));};exports[_0x1434('0x37')]=function(_0x3075b2,_0x32cb40){return db['ChatQueue']['find']({'where':{'id':_0x3075b2[_0x1434('0x53')]['id']}})['then'](handleEntityNotFound(_0x32cb40,null))[_0x1434('0x20')](removeEntity(_0x32cb40,null))[_0x1434('0x2a')](handleError(_0x32cb40,null));};exports[_0x1434('0x62')]=function(_0xd800c3,_0x20a3e8){return db[_0x1434('0x3d')][_0x1434('0x62')]()[_0x1434('0x20')](respondWithResult(_0x20a3e8,null))['catch'](handleError(_0x20a3e8,null));};exports[_0x1434('0x63')]=function(_0x428a4e,_0x307478,_0x31c1b8){var _0x236bbb={'raw':!![],'where':{}},_0x31cd1d={},_0x12916e;return db[_0x1434('0x3d')]['findOne']({'where':{'id':_0x428a4e[_0x1434('0x53')]['id']}})[_0x1434('0x20')](handleEntityNotFound(_0x307478,null))[_0x1434('0x20')](function(_0x2e1971){if(_0x2e1971){_0x12916e=_0x2e1971['get']({'plain':!![]});_0x31cd1d['model']=_[_0x1434('0x42')](db[_0x1434('0x64')]['rawAttributes']);_0x31cd1d[_0x1434('0x41')]=_[_0x1434('0x42')](_0x428a4e['query']);_0x31cd1d[_0x1434('0x43')]=_[_0x1434('0x45')](_0x31cd1d[_0x1434('0x40')],_0x31cd1d[_0x1434('0x41')]);_0x236bbb[_0x1434('0x44')]=_[_0x1434('0x45')](_0x31cd1d[_0x1434('0x40')],qs['fields'](_0x428a4e[_0x1434('0x41')][_0x1434('0x54')]));_0x236bbb[_0x1434('0x44')]=_0x236bbb[_0x1434('0x44')]['length']?_0x236bbb[_0x1434('0x44')]:_0x31cd1d[_0x1434('0x40')];if(!_0x428a4e[_0x1434('0x41')][_0x1434('0x47')](_0x1434('0x48'))){_0x236bbb[_0x1434('0x30')]=qs[_0x1434('0x30')](_0x428a4e[_0x1434('0x41')][_0x1434('0x30')]);_0x236bbb[_0x1434('0x31')]=qs[_0x1434('0x31')](_0x428a4e['query'][_0x1434('0x31')]);}_0x236bbb[_0x1434('0x49')]=qs[_0x1434('0x4a')](_0x428a4e[_0x1434('0x41')][_0x1434('0x4a')]);_0x236bbb[_0x1434('0x4b')]=qs[_0x1434('0x43')](_[_0x1434('0x4c')](_0x428a4e[_0x1434('0x41')],_0x31cd1d[_0x1434('0x43')]));_0x236bbb[_0x1434('0x4b')]['ChatQueueId']=_0x2e1971['id'];if(_0x428a4e[_0x1434('0x41')][_0x1434('0x4d')]){_0x236bbb['where']=_[_0x1434('0x55')](_0x236bbb[_0x1434('0x4b')],{'$or':_['map'](_0x236bbb[_0x1434('0x44')],function(_0x1e246f){var _0x416ca4={};_0x416ca4[_0x1e246f]={'$like':'%'+_0x428a4e[_0x1434('0x41')][_0x1434('0x4d')]+'%'};return _0x416ca4;})});}_0x236bbb=_[_0x1434('0x55')]({},_0x236bbb,_0x428a4e[_0x1434('0x56')]);return db['UserChatQueue'][_0x1434('0x65')](_0x236bbb);}})[_0x1434('0x20')](function(_0x5a8c00){if(_0x5a8c00){return db['User']['findAndCountAll']({'where':{'id':_[_0x1434('0x4e')](_0x5a8c00,'UserId'),'role':'agent'},'attributes':['id','name',_0x1434('0x66'),_0x1434('0x67'),_0x1434('0x68')]});}})[_0x1434('0x20')](function(_0x1049b9){if(_0x1049b9){return{'count':_0x1049b9[_0x1434('0x4f')],'rows':_['map'](_0x1049b9[_0x1434('0x52')],function(_0x84157a){return{'membername':_0x84157a[_0x1434('0x3a')],'UserId':_0x84157a['id'],'queue_name':_0x12916e['name'],'ChatQueueId':_0x12916e['id'],'interface':util[_0x1434('0x69')](_0x1434('0x6a'),'SIP',_0x84157a[_0x1434('0x3a')]),'penalty':0x0,'paused':_0x84157a[_0x1434('0x66')],'createdAt':_0x84157a['createdAt'],'updatedAt':_0x84157a[_0x1434('0x67')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x1434('0x20')](respondWithFilteredResult(_0x307478,_0x236bbb))['catch'](handleError(_0x307478,null));};exports['getTeams']=function(_0x4b4b33,_0x96dea9,_0x481611){var _0x326b0e={};var _0xf887d1={};var _0x230bf8;var _0x69f30f;return db[_0x1434('0x3d')]['findOne']({'where':{'id':_0x4b4b33['params']['id']}})[_0x1434('0x20')](handleEntityNotFound(_0x96dea9,null))[_0x1434('0x20')](function(_0x167658){if(_0x167658){_0x230bf8=_0x167658;_0xf887d1[_0x1434('0x40')]=_[_0x1434('0x42')](db[_0x1434('0x6b')]['rawAttributes']);_0xf887d1[_0x1434('0x41')]=_['keys'](_0x4b4b33[_0x1434('0x41')]);_0xf887d1[_0x1434('0x43')]=_['intersection'](_0xf887d1[_0x1434('0x40')],_0xf887d1[_0x1434('0x41')]);_0x326b0e[_0x1434('0x44')]=_[_0x1434('0x45')](_0xf887d1['model'],qs[_0x1434('0x54')](_0x4b4b33['query'][_0x1434('0x54')]));_0x326b0e['attributes']=_0x326b0e[_0x1434('0x44')][_0x1434('0x46')]?_0x326b0e[_0x1434('0x44')]:_0xf887d1[_0x1434('0x40')];_0x326b0e[_0x1434('0x49')]=qs[_0x1434('0x4a')](_0x4b4b33[_0x1434('0x41')][_0x1434('0x4a')]);_0x326b0e[_0x1434('0x4b')]=qs['filters'](_['pick'](_0x4b4b33[_0x1434('0x41')],_0xf887d1[_0x1434('0x43')]));if(_0x4b4b33[_0x1434('0x41')][_0x1434('0x4d')]){_0x326b0e[_0x1434('0x4b')]=_['merge'](_0x326b0e['where'],{'$or':_[_0x1434('0x4e')](_0x326b0e['attributes'],function(_0x1acf80){var _0x591f86={};_0x591f86[_0x1acf80]={'$like':'%'+_0x4b4b33[_0x1434('0x41')]['filter']+'%'};return _0x591f86;})});}_0x326b0e=_[_0x1434('0x55')]({},_0x326b0e,_0x4b4b33['options']);return _0x230bf8['getTeams'](_0x326b0e);}})['then'](function(_0x556e12){if(_0x556e12){_0x69f30f=_0x556e12[_0x1434('0x46')];if(!_0x4b4b33[_0x1434('0x41')][_0x1434('0x47')](_0x1434('0x48'))){_0x326b0e[_0x1434('0x30')]=qs[_0x1434('0x30')](_0x4b4b33[_0x1434('0x41')]['limit']);_0x326b0e[_0x1434('0x31')]=qs[_0x1434('0x31')](_0x4b4b33[_0x1434('0x41')][_0x1434('0x31')]);}return _0x230bf8[_0x1434('0x6c')](_0x326b0e);}})[_0x1434('0x20')](function(_0x4eed57){if(_0x4eed57){return _0x4eed57?{'count':_0x69f30f,'rows':_0x4eed57}:null;}})[_0x1434('0x20')](respondWithResult(_0x96dea9,null))[_0x1434('0x2a')](handleError(_0x96dea9,null));};exports[_0x1434('0x6d')]=function(_0x500fb6,_0x1f6f73,_0x117e09){var _0x6aacf5=_0x500fb6['body']['ids'];return db['Team'][_0x1434('0x65')]({'where':{'id':_0x6aacf5},'attributes':['id'],'include':[{'model':db[_0x1434('0x6e')],'as':_0x1434('0x6f'),'attributes':['id',_0x1434('0x3a'),_0x1434('0x70'),_0x1434('0x71'),_0x1434('0x72')],'raw':!![]}]})[_0x1434('0x20')](function(_0x63d71){if(_0x63d71){var _0x18edb2=_[_0x1434('0x73')](_0x63d71,function(_0x50d238){var _0x594b39=_0x50d238[_0x1434('0x38')]({'plain':!![]});return _0x594b39['Agents'];});return db[_0x1434('0x3d')][_0x1434('0x57')]({'where':{'id':_0x500fb6[_0x1434('0x53')]['id']}})['then'](function(_0x16435d){return db[_0x1434('0x74')][_0x1434('0x75')](function(_0x22548a){return _0x16435d[_0x1434('0x6d')](_0x6aacf5,{'transaction':_0x22548a})[_0x1434('0x20')](function(){return BPromise[_0x1434('0x76')](_0x18edb2,function(_0x4a6074){return db[_0x1434('0x64')]['findOrCreate']({'where':{'UserId':_0x4a6074['id'],'ChatQueueId':_0x500fb6['params']['id']},'transaction':_0x22548a});});})[_0x1434('0x20')](function(){_0x18edb2[_0x1434('0x77')](function(_0x3da95f){socket[_0x1434('0x78')](_0x1434('0x79'),{'UserId':_0x3da95f['id'],'ChatQueueId':_0x16435d['id']});});});});});}})[_0x1434('0x20')](respondWithStatusCode(_0x1f6f73,null))[_0x1434('0x2a')](handleError(_0x1f6f73,null));};exports[_0x1434('0x7a')]=function(_0x208823,_0x660b96,_0x25dbf0){return db[_0x1434('0x6b')]['findAll']({'where':{'id':_0x208823['query']['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':_0x1434('0x6f'),'attributes':['id'],'raw':!![]}]})[_0x1434('0x20')](handleEntityNotFound(_0x660b96,null))[_0x1434('0x20')](function(_0x4724e5){var _0x5ca178=_[_0x1434('0x4e')](_0x4724e5,'id');var _0x356b49=[];var _0x40605c=[];var _0xb125df=squel[_0x1434('0x7b')]();_0xb125df[_0x1434('0x7c')](_0x1434('0x7d'))[_0x1434('0x7e')](_0x1434('0x7f'),'tq')['join'](_0x1434('0x80'),'ut',_0x1434('0x81'))[_0x1434('0x4b')]('ChatQueueId\x20=\x20?',_0x208823[_0x1434('0x53')]['id']);for(var _0x43db52=0x0;_0x43db52<_0x4724e5['length'];_0x43db52+=0x1){let _0x2f5c1f=_0x4724e5[_0x43db52];for(var _0x2ff151=0x0;_0x2ff151<_0x2f5c1f['Agents']['length'];_0x2ff151+=0x1){let _0x3a0be=_0x2f5c1f[_0x1434('0x6f')][_0x2ff151];var _0x30692c=_0xb125df['clone']();_0x30692c['where'](_0x1434('0x82'),_0x3a0be['id']);_0x40605c[_0x1434('0x83')](db[_0x1434('0x74')][_0x1434('0x41')](_0x30692c[_0x1434('0x84')](),{'type':db[_0x1434('0x74')][_0x1434('0x85')][_0x1434('0x86')]})[_0x1434('0x20')](function(_0x5c1f16){if(_0x5c1f16[_0x1434('0x46')]===0x1){return _0x3a0be['id'];}else{var _0x5a8b39=_['every'](_[_0x1434('0x4e')](_0x5c1f16,_0x1434('0x87')),function(_0x5d4bc2){return _[_0x1434('0x88')](_0x5ca178,_0x5d4bc2);});if(_0x5a8b39){return _0x3a0be['id'];}}}));}}return BPromise[_0x1434('0x89')](_0x40605c)[_0x1434('0x20')](function(_0x34ad0b){_0x356b49=_(_0x356b49)[_0x1434('0x8a')](_0x34ad0b)['compact']()[_0x1434('0x8b')]();return db[_0x1434('0x3d')][_0x1434('0x57')]({'where':{'id':_0x208823[_0x1434('0x53')]['id']}})['then'](function(_0x26069b){return db['sequelize'][_0x1434('0x75')](function(_0x1abfce){return _0x26069b[_0x1434('0x7a')](_0x208823[_0x1434('0x41')]['ids'],{'transaction':_0x1abfce})['then'](function(){if(!_[_0x1434('0x8c')](_0x356b49)){return _0x26069b[_0x1434('0x8d')](_0x356b49,{'transaction':_0x1abfce});}})['then'](function(){_0x356b49[_0x1434('0x77')](function(_0x3e25e5){socket[_0x1434('0x78')]('userChatQueue:remove',{'UserId':_0x3e25e5,'ChatQueueId':_0x26069b['id']});});});});});});})['then'](respondWithStatusCode(_0x660b96,null))[_0x1434('0x2a')](handleError(_0x660b96,null));};exports[_0x1434('0x8e')]=function(_0x55cfd8,_0x55341f,_0x1eb919){return db[_0x1434('0x3d')][_0x1434('0x57')]({'where':{'id':_0x55cfd8[_0x1434('0x53')]['id']}})[_0x1434('0x20')](handleEntityNotFound(_0x55341f,null))[_0x1434('0x20')](function(_0x18b48b){if(_0x18b48b){return _0x18b48b['addAgents'](_0x55cfd8['body'][_0x1434('0x8f')],_[_0x1434('0x90')](_0x55cfd8[_0x1434('0x59')],[_0x1434('0x8f'),'id'])||{})['spread'](function(_0x24b7ea){for(var _0x5cbd48=0x0;_0x5cbd48<_0x55cfd8[_0x1434('0x59')][_0x1434('0x8f')][_0x1434('0x46')];_0x5cbd48+=0x1){socket[_0x1434('0x78')]('userChatQueue:save',{'UserId':Number(_0x55cfd8['body'][_0x1434('0x8f')][_0x5cbd48]),'ChatQueueId':Number(_0x55cfd8[_0x1434('0x53')]['id'])});}return _0x24b7ea;});}})[_0x1434('0x20')](respondWithResult(_0x55341f,null))['catch'](handleError(_0x55341f,null));};exports[_0x1434('0x8d')]=function(_0x331988,_0x3bbc1a,_0x156b62){return db[_0x1434('0x3d')]['find']({'where':{'id':_0x331988[_0x1434('0x53')]['id']}})[_0x1434('0x20')](handleEntityNotFound(_0x3bbc1a,null))['then'](function(_0x1926de){if(_0x1926de){return _0x1926de[_0x1434('0x8d')](_0x331988['query'][_0x1434('0x8f')])[_0x1434('0x20')](function(){if(_[_0x1434('0x91')](_0x331988[_0x1434('0x41')][_0x1434('0x8f')])){for(var _0x2862ee=0x0;_0x2862ee<_0x331988[_0x1434('0x41')][_0x1434('0x8f')][_0x1434('0x46')];_0x2862ee+=0x1){socket[_0x1434('0x78')](_0x1434('0x92'),{'UserId':Number(_0x331988[_0x1434('0x41')][_0x1434('0x8f')][_0x2862ee]),'ChatQueueId':Number(_0x331988['params']['id'])});}}else{socket[_0x1434('0x78')]('userChatQueue:remove',{'UserId':Number(_0x331988[_0x1434('0x41')]['ids']),'ChatQueueId':Number(_0x331988[_0x1434('0x53')]['id'])});}});}})[_0x1434('0x20')](respondWithStatusCode(_0x3bbc1a,null))[_0x1434('0x2a')](handleError(_0x3bbc1a,null));};exports[_0x1434('0x93')]=function(_0x553b5e,_0x433218,_0x53bf62){var _0x171390={};var _0xaa2471={};var _0x5c6695;var _0x4c9fd2;return db[_0x1434('0x3d')][_0x1434('0x94')]({'where':{'id':_0x553b5e[_0x1434('0x53')]['id']}})[_0x1434('0x20')](handleEntityNotFound(_0x433218,null))[_0x1434('0x20')](function(_0x408aac){if(_0x408aac){_0x5c6695=_0x408aac;_0xaa2471['model']=_[_0x1434('0x42')](db[_0x1434('0x6e')][_0x1434('0x3e')]);_0xaa2471[_0x1434('0x41')]=_[_0x1434('0x42')](_0x553b5e[_0x1434('0x41')]);_0xaa2471[_0x1434('0x43')]=_[_0x1434('0x45')](_0xaa2471['model'],_0xaa2471[_0x1434('0x41')]);_0x171390['attributes']=_['intersection'](_0xaa2471[_0x1434('0x40')],qs['fields'](_0x553b5e[_0x1434('0x41')][_0x1434('0x54')]));_0x171390['attributes']=_0x171390[_0x1434('0x44')]['length']?_0x171390[_0x1434('0x44')]:_0xaa2471['model'];_0x171390[_0x1434('0x49')]=qs['sort'](_0x553b5e[_0x1434('0x41')][_0x1434('0x4a')]);_0x171390[_0x1434('0x4b')]=qs['filters'](_[_0x1434('0x4c')](_0x553b5e[_0x1434('0x41')],_0xaa2471['filters']));if(_0x553b5e[_0x1434('0x41')][_0x1434('0x4d')]){_0x171390['where']=_[_0x1434('0x55')](_0x171390[_0x1434('0x4b')],{'$or':_['map'](_0x171390[_0x1434('0x44')],function(_0x65b9b7){var _0x28d1ce={};_0x28d1ce[_0x65b9b7]={'$like':'%'+_0x553b5e['query']['filter']+'%'};return _0x28d1ce;})});}_0x171390=_[_0x1434('0x55')]({},_0x171390,_0x553b5e[_0x1434('0x56')]);return _0x5c6695[_0x1434('0x93')](_0x171390);}})[_0x1434('0x20')](function(_0xcfb37b){if(_0xcfb37b){_0x4c9fd2=_0xcfb37b[_0x1434('0x46')];if(!_0x553b5e[_0x1434('0x41')][_0x1434('0x47')]('nolimit')){_0x171390[_0x1434('0x30')]=qs[_0x1434('0x30')](_0x553b5e[_0x1434('0x41')]['limit']);_0x171390[_0x1434('0x31')]=qs[_0x1434('0x31')](_0x553b5e[_0x1434('0x41')][_0x1434('0x31')]);}return _0x5c6695[_0x1434('0x93')](_0x171390);}})[_0x1434('0x20')](function(_0x2c8f02){if(_0x2c8f02){return _0x2c8f02?{'count':_0x4c9fd2,'rows':_0x2c8f02}:null;}})['then'](respondWithResult(_0x433218,null))[_0x1434('0x2a')](handleError(_0x433218,null));};