Built motion from commit (unavailable).|2.5.23
[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 _0xd230=['create','body','user','get','ChatQueues','UserProfileSection','userProfileId','autoAssociation','describe','getMembers','findOne','UserChatQueue','order','options','User','findAndCountAll','agent','chatPause','createdAt','format','SIP','updatedAt','Team','rawAttributes','getTeams','addTeams','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','userChatQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_chat_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','every','includes','all','union','compact','forEach','userChatQueue:remove','addAgents','omit','emit','removeAgents','isArray','getAgents','html-pdf','eml-format','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','jayson/promise','client','http','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','end','json','count','limit','status','set','apply','reject','save','update','destroy','then','UserProfileResource','sendStatus','name','send','fieldName','type','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','offset','sort','pick','where','merge','VIRTUAL','filter','ChatQueue','includeAll','include','findAll','rows','show','params','find'];(function(_0x161cb1,_0x7930a){var _0x36dd92=function(_0x5efe8a){while(--_0x5efe8a){_0x161cb1['push'](_0x161cb1['shift']());}};_0x36dd92(++_0x7930a);}(_0xd230,0xd5));var _0x0d23=function(_0x1abb09,_0x18ee91){_0x1abb09=_0x1abb09-0x0;var _0xea1c07=_0xd230[_0x1abb09];return _0xea1c07;};'use strict';var pdf=require(_0x0d23('0x0'));var emlformat=require(_0x0d23('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0d23('0x2'));var moment=require(_0x0d23('0x3'));var BPromise=require(_0x0d23('0x4'));var Mustache=require(_0x0d23('0x5'));var util=require(_0x0d23('0x6'));var path=require('path');var sox=require(_0x0d23('0x7'));var csv=require(_0x0d23('0x8'));var ejs=require(_0x0d23('0x9'));var fs=require('fs');var _=require(_0x0d23('0xa'));var squel=require(_0x0d23('0xb'));var crypto=require(_0x0d23('0xc'));var jsforce=require(_0x0d23('0xd'));var deskjs=require(_0x0d23('0xe'));var toCsv=require('to-csv');var querystring=require(_0x0d23('0xf'));var Papa=require(_0x0d23('0x10'));var Redis=require('ioredis');var authService=require(_0x0d23('0x11'));var qs=require(_0x0d23('0x12'));var as=require(_0x0d23('0x13'));var hardwareService=require(_0x0d23('0x14'));var logger=require(_0x0d23('0x15'))(_0x0d23('0x16'));var utils=require(_0x0d23('0x17'));var config=require(_0x0d23('0x18'));var licenseUtil=require(_0x0d23('0x19'));var db=require(_0x0d23('0x1a'))['db'];config[_0x0d23('0x1b')]=_[_0x0d23('0x1c')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x0d23('0x1d'))(new Redis(config[_0x0d23('0x1b')]));require('./chatQueue.socket')[_0x0d23('0x1e')](socket);var jayson=require(_0x0d23('0x1f'));var client=jayson[_0x0d23('0x20')][_0x0d23('0x21')]({'port':0x232a});function respondWithRpcPromise(_0x28ab0c,_0x94e95,_0x48314a,_0x414ee1){return new BPromise(function(_0x1cc503,_0x5317c4){var _0x176808=_0x414ee1||client;return _0x176808['request'](_0x28ab0c,_0x48314a)['then'](function(_0x3c004a){logger[_0x0d23('0x22')](_0x0d23('0x23'),_0x94e95,_0x0d23('0x24'));logger[_0x0d23('0x25')](_0x0d23('0x26'),_0x94e95,_0x0d23('0x24'),JSON[_0x0d23('0x27')](_0x3c004a));if(_0x3c004a[_0x0d23('0x28')]){if(_0x3c004a['error'][_0x0d23('0x29')]===0x1f4){logger[_0x0d23('0x28')](_0x0d23('0x23'),_0x94e95,_0x3c004a[_0x0d23('0x28')][_0x0d23('0x2a')]);return _0x5317c4(_0x3c004a[_0x0d23('0x28')][_0x0d23('0x2a')]);}logger[_0x0d23('0x28')](_0x0d23('0x23'),_0x94e95,_0x3c004a[_0x0d23('0x28')][_0x0d23('0x2a')]);return _0x1cc503(_0x3c004a[_0x0d23('0x28')][_0x0d23('0x2a')]);}else{logger[_0x0d23('0x22')](_0x0d23('0x23'),_0x94e95,_0x0d23('0x24'));_0x1cc503(_0x3c004a[_0x0d23('0x2b')][_0x0d23('0x2a')]);}})[_0x0d23('0x2c')](function(_0x2f1888){logger[_0x0d23('0x28')](_0x0d23('0x23'),_0x94e95,_0x2f1888);_0x5317c4(_0x2f1888);});});}function respondWithStatusCode(_0x4ee748,_0x4990b6){_0x4990b6=_0x4990b6||0xcc;return function(_0x26a71d){if(_0x26a71d){return _0x4ee748['sendStatus'](_0x4990b6);}return _0x4ee748['status'](_0x4990b6)[_0x0d23('0x2d')]();};}function respondWithResult(_0x3cef1a,_0x2676d7){_0x2676d7=_0x2676d7||0xc8;return function(_0x162f3a){if(_0x162f3a){return _0x3cef1a['status'](_0x2676d7)[_0x0d23('0x2e')](_0x162f3a);}};}function respondWithFilteredResult(_0x6cd18e,_0x2f8afc){return function(_0x33db8e){if(_0x33db8e){var _0x238e34=_0x33db8e[_0x0d23('0x2f')],_0x300fc2=_0x2f8afc['offset'],_0x2d7554=_0x2f8afc['offset']+_0x2f8afc[_0x0d23('0x30')],_0x1d6249;if(_0x2d7554>=_0x238e34){_0x2d7554=_0x238e34;_0x1d6249=0xc8;}else{_0x1d6249=0xce;}_0x6cd18e[_0x0d23('0x31')](_0x1d6249);return _0x6cd18e[_0x0d23('0x32')]('Content-Range',_0x300fc2+'-'+_0x2d7554+'/'+_0x238e34)[_0x0d23('0x2e')](_0x33db8e);}return null;};}function patchUpdates(_0x31444f){return function(_0x422751){try{jsonpatch[_0x0d23('0x33')](_0x422751,_0x31444f,!![]);}catch(_0x5ca55a){return BPromise[_0x0d23('0x34')](_0x5ca55a);}return _0x422751[_0x0d23('0x35')]();};}function saveUpdates(_0x4eaa22,_0x262c91){return function(_0x4582ae){if(_0x4582ae){return _0x4582ae[_0x0d23('0x36')](_0x4eaa22)['then'](function(_0x2617d7){return _0x2617d7;});}return null;};}function removeEntity(_0x20d180,_0x38b1cd){return function(_0x22f57f){if(_0x22f57f){return _0x22f57f[_0x0d23('0x37')]()[_0x0d23('0x38')](function(){var _0x2048df=_0x22f57f['get']({'plain':!![]});var _0x1a3cc2='ChatQueues';return db[_0x0d23('0x39')]['destroy']({'where':{'type':_0x1a3cc2,'resourceId':_0x2048df['id']}})['then'](function(){return _0x22f57f;});})[_0x0d23('0x38')](function(){_0x20d180[_0x0d23('0x31')](0xcc)[_0x0d23('0x2d')]();});}};}function handleEntityNotFound(_0x156dfc,_0x33c9c6){return function(_0x5c90f8){if(!_0x5c90f8){_0x156dfc[_0x0d23('0x3a')](0x194);}return _0x5c90f8;};}function handleError(_0xa1441d,_0x4e53da){_0x4e53da=_0x4e53da||0x1f4;return function(_0x25c050){logger[_0x0d23('0x28')](_0x25c050['stack']);if(_0x25c050[_0x0d23('0x3b')]){delete _0x25c050['name'];}_0xa1441d[_0x0d23('0x31')](_0x4e53da)[_0x0d23('0x3c')](_0x25c050);};}exports['index']=function(_0x38adbe,_0x19c9de){var _0x547501={},_0x225d8c={},_0x21c478={'count':0x0,'rows':[]};var _0x23f6f5=_['map'](db['ChatQueue']['rawAttributes'],function(_0x2b0dc2){return{'name':_0x2b0dc2[_0x0d23('0x3d')],'type':_0x2b0dc2[_0x0d23('0x3e')]['key']};});_0x225d8c[_0x0d23('0x3f')]=_[_0x0d23('0x40')](_0x23f6f5,_0x0d23('0x3b'));_0x225d8c[_0x0d23('0x41')]=_[_0x0d23('0x42')](_0x38adbe[_0x0d23('0x41')]);_0x225d8c[_0x0d23('0x43')]=_['intersection'](_0x225d8c['model'],_0x225d8c['query']);_0x547501['attributes']=_[_0x0d23('0x44')](_0x225d8c[_0x0d23('0x3f')],qs['fields'](_0x38adbe[_0x0d23('0x41')][_0x0d23('0x45')]));_0x547501[_0x0d23('0x46')]=_0x547501[_0x0d23('0x46')][_0x0d23('0x47')]?_0x547501[_0x0d23('0x46')]:_0x225d8c[_0x0d23('0x3f')];if(!_0x38adbe[_0x0d23('0x41')][_0x0d23('0x48')](_0x0d23('0x49'))){_0x547501[_0x0d23('0x30')]=qs[_0x0d23('0x30')](_0x38adbe['query'][_0x0d23('0x30')]);_0x547501[_0x0d23('0x4a')]=qs[_0x0d23('0x4a')](_0x38adbe[_0x0d23('0x41')]['offset']);}_0x547501['order']=qs[_0x0d23('0x4b')](_0x38adbe['query'][_0x0d23('0x4b')]);_0x547501['where']=qs[_0x0d23('0x43')](_[_0x0d23('0x4c')](_0x38adbe[_0x0d23('0x41')],_0x225d8c['filters']),_0x23f6f5);if(_0x38adbe[_0x0d23('0x41')]['filter']){_0x547501[_0x0d23('0x4d')]=_[_0x0d23('0x4e')](_0x547501['where'],{'$or':_['map'](_0x23f6f5,function(_0x764804){if(_0x764804[_0x0d23('0x3e')]!==_0x0d23('0x4f')){var _0x119fe8={};_0x119fe8[_0x764804[_0x0d23('0x3b')]]={'$like':'%'+_0x38adbe['query'][_0x0d23('0x50')]+'%'};return _0x119fe8;}})});}_0x547501=_[_0x0d23('0x4e')]({},_0x547501,_0x38adbe['options']);var _0x543418={'where':_0x547501['where']};return db[_0x0d23('0x51')][_0x0d23('0x2f')](_0x543418)[_0x0d23('0x38')](function(_0x24b4ee){_0x21c478[_0x0d23('0x2f')]=_0x24b4ee;if(_0x38adbe[_0x0d23('0x41')][_0x0d23('0x52')]){_0x547501[_0x0d23('0x53')]=[{'all':!![]}];}return db[_0x0d23('0x51')][_0x0d23('0x54')](_0x547501);})[_0x0d23('0x38')](function(_0x498f11){_0x21c478[_0x0d23('0x55')]=_0x498f11;return _0x21c478;})[_0x0d23('0x38')](respondWithFilteredResult(_0x19c9de,_0x547501))['catch'](handleError(_0x19c9de,null));};exports[_0x0d23('0x56')]=function(_0x4dc5ad,_0xb49895){var _0x3f3224={'raw':!![],'where':{'id':_0x4dc5ad[_0x0d23('0x57')]['id']}},_0x496323={};_0x496323[_0x0d23('0x3f')]=_[_0x0d23('0x42')](db[_0x0d23('0x51')]['rawAttributes']);_0x496323[_0x0d23('0x41')]=_[_0x0d23('0x42')](_0x4dc5ad[_0x0d23('0x41')]);_0x496323['filters']=_['intersection'](_0x496323['model'],_0x496323[_0x0d23('0x41')]);_0x3f3224[_0x0d23('0x46')]=_[_0x0d23('0x44')](_0x496323[_0x0d23('0x3f')],qs[_0x0d23('0x45')](_0x4dc5ad[_0x0d23('0x41')][_0x0d23('0x45')]));_0x3f3224[_0x0d23('0x46')]=_0x3f3224['attributes'][_0x0d23('0x47')]?_0x3f3224[_0x0d23('0x46')]:_0x496323['model'];if(_0x4dc5ad[_0x0d23('0x41')]['includeAll']){_0x3f3224[_0x0d23('0x53')]=[{'all':!![]}];}_0x3f3224=_['merge']({},_0x3f3224,_0x4dc5ad['options']);return db[_0x0d23('0x51')][_0x0d23('0x58')](_0x3f3224)[_0x0d23('0x38')](handleEntityNotFound(_0xb49895,null))[_0x0d23('0x38')](respondWithResult(_0xb49895,null))[_0x0d23('0x2c')](handleError(_0xb49895,null));};exports[_0x0d23('0x59')]=function(_0x14376b,_0x430a7b){return db[_0x0d23('0x51')][_0x0d23('0x59')](_0x14376b[_0x0d23('0x5a')],{})[_0x0d23('0x38')](function(_0x4149f3){var _0x5ab931=_0x14376b[_0x0d23('0x5b')]['get']({'plain':!![]});if(!_0x5ab931)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5ab931['role']===_0x0d23('0x5b')){var _0x4855bb=_0x4149f3[_0x0d23('0x5c')]({'plain':!![]});var _0x1286a9=_0x0d23('0x5d');return db[_0x0d23('0x5e')][_0x0d23('0x58')]({'where':{'name':_0x1286a9,'userProfileId':_0x5ab931[_0x0d23('0x5f')]},'raw':!![]})['then'](function(_0x51a64f){if(_0x51a64f&&_0x51a64f[_0x0d23('0x60')]===0x0){return db[_0x0d23('0x39')][_0x0d23('0x59')]({'name':_0x4855bb[_0x0d23('0x3b')],'resourceId':_0x4855bb['id'],'type':_0x51a64f[_0x0d23('0x3b')],'sectionId':_0x51a64f['id']},{})[_0x0d23('0x38')](function(){return _0x4149f3;});}else{return _0x4149f3;}})[_0x0d23('0x2c')](function(_0x3cc527){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3cc527);throw _0x3cc527;});}return _0x4149f3;})[_0x0d23('0x38')](respondWithResult(_0x430a7b,0xc9))[_0x0d23('0x2c')](handleError(_0x430a7b,null));};exports[_0x0d23('0x36')]=function(_0x1e3b1c,_0xc2f467){if(_0x1e3b1c[_0x0d23('0x5a')]['id']){delete _0x1e3b1c['body']['id'];}return db['ChatQueue'][_0x0d23('0x58')]({'where':{'id':_0x1e3b1c[_0x0d23('0x57')]['id']}})['then'](handleEntityNotFound(_0xc2f467,null))['then'](saveUpdates(_0x1e3b1c[_0x0d23('0x5a')],null))[_0x0d23('0x38')](respondWithResult(_0xc2f467,null))[_0x0d23('0x2c')](handleError(_0xc2f467,null));};exports['destroy']=function(_0x2037f6,_0x3351a7){return db[_0x0d23('0x51')][_0x0d23('0x58')]({'where':{'id':_0x2037f6[_0x0d23('0x57')]['id']}})[_0x0d23('0x38')](handleEntityNotFound(_0x3351a7,null))['then'](removeEntity(_0x3351a7,null))[_0x0d23('0x2c')](handleError(_0x3351a7,null));};exports[_0x0d23('0x61')]=function(_0x41f4e3,_0xa3760f){return db[_0x0d23('0x51')][_0x0d23('0x61')]()[_0x0d23('0x38')](respondWithResult(_0xa3760f,null))[_0x0d23('0x2c')](handleError(_0xa3760f,null));};exports[_0x0d23('0x62')]=function(_0x21df4d,_0x2c5e96,_0x40989b){var _0x45e03e={'raw':!![],'where':{}},_0x576567={},_0x4fec13;return db[_0x0d23('0x51')][_0x0d23('0x63')]({'where':{'id':_0x21df4d[_0x0d23('0x57')]['id']}})['then'](handleEntityNotFound(_0x2c5e96,null))['then'](function(_0x4bf60a){if(_0x4bf60a){_0x4fec13=_0x4bf60a['get']({'plain':!![]});_0x576567['model']=_[_0x0d23('0x42')](db[_0x0d23('0x64')]['rawAttributes']);_0x576567['query']=_[_0x0d23('0x42')](_0x21df4d[_0x0d23('0x41')]);_0x576567[_0x0d23('0x43')]=_[_0x0d23('0x44')](_0x576567[_0x0d23('0x3f')],_0x576567[_0x0d23('0x41')]);_0x45e03e[_0x0d23('0x46')]=_[_0x0d23('0x44')](_0x576567[_0x0d23('0x3f')],qs['fields'](_0x21df4d['query'][_0x0d23('0x45')]));_0x45e03e[_0x0d23('0x46')]=_0x45e03e['attributes'][_0x0d23('0x47')]?_0x45e03e['attributes']:_0x576567[_0x0d23('0x3f')];if(!_0x21df4d[_0x0d23('0x41')][_0x0d23('0x48')](_0x0d23('0x49'))){_0x45e03e[_0x0d23('0x30')]=qs[_0x0d23('0x30')](_0x21df4d[_0x0d23('0x41')][_0x0d23('0x30')]);_0x45e03e['offset']=qs[_0x0d23('0x4a')](_0x21df4d['query'][_0x0d23('0x4a')]);}_0x45e03e[_0x0d23('0x65')]=qs[_0x0d23('0x4b')](_0x21df4d['query'][_0x0d23('0x4b')]);_0x45e03e['where']=qs[_0x0d23('0x43')](_[_0x0d23('0x4c')](_0x21df4d['query'],_0x576567[_0x0d23('0x43')]));_0x45e03e[_0x0d23('0x4d')]['ChatQueueId']=_0x4bf60a['id'];if(_0x21df4d[_0x0d23('0x41')][_0x0d23('0x50')]){_0x45e03e['where']=_[_0x0d23('0x4e')](_0x45e03e[_0x0d23('0x4d')],{'$or':_[_0x0d23('0x40')](_0x45e03e[_0x0d23('0x46')],function(_0x18f4db){var _0x569b8d={};_0x569b8d[_0x18f4db]={'$like':'%'+_0x21df4d[_0x0d23('0x41')][_0x0d23('0x50')]+'%'};return _0x569b8d;})});}_0x45e03e=_[_0x0d23('0x4e')]({},_0x45e03e,_0x21df4d[_0x0d23('0x66')]);return db[_0x0d23('0x64')][_0x0d23('0x54')](_0x45e03e);}})[_0x0d23('0x38')](function(_0x41ab74){if(_0x41ab74){return db[_0x0d23('0x67')][_0x0d23('0x68')]({'where':{'id':_['map'](_0x41ab74,'UserId'),'role':_0x0d23('0x69')},'attributes':['id','name',_0x0d23('0x6a'),'updatedAt',_0x0d23('0x6b')]});}})[_0x0d23('0x38')](function(_0x5d5ac7){if(_0x5d5ac7){return{'count':_0x5d5ac7[_0x0d23('0x2f')],'rows':_[_0x0d23('0x40')](_0x5d5ac7[_0x0d23('0x55')],function(_0x25ca7e){return{'membername':_0x25ca7e['name'],'UserId':_0x25ca7e['id'],'queue_name':_0x4fec13[_0x0d23('0x3b')],'ChatQueueId':_0x4fec13['id'],'interface':util[_0x0d23('0x6c')]('%s/%s',_0x0d23('0x6d'),_0x25ca7e[_0x0d23('0x3b')]),'penalty':0x0,'paused':_0x25ca7e['chatPause'],'createdAt':_0x25ca7e[_0x0d23('0x6b')],'updatedAt':_0x25ca7e[_0x0d23('0x6e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x0d23('0x38')](respondWithFilteredResult(_0x2c5e96,_0x45e03e))['catch'](handleError(_0x2c5e96,null));};exports['getTeams']=function(_0x2ed2d0,_0x16aaea,_0x563f40){var _0x20c8e6={};var _0x4cd21a={};var _0x40b4c4;var _0x108a69;return db[_0x0d23('0x51')][_0x0d23('0x63')]({'where':{'id':_0x2ed2d0[_0x0d23('0x57')]['id']}})[_0x0d23('0x38')](handleEntityNotFound(_0x16aaea,null))[_0x0d23('0x38')](function(_0x5c74be){if(_0x5c74be){_0x40b4c4=_0x5c74be;_0x4cd21a[_0x0d23('0x3f')]=_[_0x0d23('0x42')](db[_0x0d23('0x6f')][_0x0d23('0x70')]);_0x4cd21a[_0x0d23('0x41')]=_['keys'](_0x2ed2d0[_0x0d23('0x41')]);_0x4cd21a[_0x0d23('0x43')]=_['intersection'](_0x4cd21a[_0x0d23('0x3f')],_0x4cd21a[_0x0d23('0x41')]);_0x20c8e6[_0x0d23('0x46')]=_['intersection'](_0x4cd21a[_0x0d23('0x3f')],qs[_0x0d23('0x45')](_0x2ed2d0[_0x0d23('0x41')][_0x0d23('0x45')]));_0x20c8e6['attributes']=_0x20c8e6['attributes']['length']?_0x20c8e6[_0x0d23('0x46')]:_0x4cd21a[_0x0d23('0x3f')];_0x20c8e6[_0x0d23('0x65')]=qs['sort'](_0x2ed2d0[_0x0d23('0x41')][_0x0d23('0x4b')]);_0x20c8e6['where']=qs[_0x0d23('0x43')](_[_0x0d23('0x4c')](_0x2ed2d0[_0x0d23('0x41')],_0x4cd21a[_0x0d23('0x43')]));if(_0x2ed2d0[_0x0d23('0x41')][_0x0d23('0x50')]){_0x20c8e6['where']=_[_0x0d23('0x4e')](_0x20c8e6[_0x0d23('0x4d')],{'$or':_[_0x0d23('0x40')](_0x20c8e6[_0x0d23('0x46')],function(_0x5f1508){var _0x9d167c={};_0x9d167c[_0x5f1508]={'$like':'%'+_0x2ed2d0['query']['filter']+'%'};return _0x9d167c;})});}_0x20c8e6=_[_0x0d23('0x4e')]({},_0x20c8e6,_0x2ed2d0[_0x0d23('0x66')]);return _0x40b4c4[_0x0d23('0x71')](_0x20c8e6);}})['then'](function(_0x20455f){if(_0x20455f){_0x108a69=_0x20455f[_0x0d23('0x47')];if(!_0x2ed2d0['query'][_0x0d23('0x48')](_0x0d23('0x49'))){_0x20c8e6['limit']=qs['limit'](_0x2ed2d0[_0x0d23('0x41')]['limit']);_0x20c8e6['offset']=qs[_0x0d23('0x4a')](_0x2ed2d0[_0x0d23('0x41')][_0x0d23('0x4a')]);}return _0x40b4c4[_0x0d23('0x71')](_0x20c8e6);}})[_0x0d23('0x38')](function(_0x4fc056){if(_0x4fc056){return _0x4fc056?{'count':_0x108a69,'rows':_0x4fc056}:null;}})[_0x0d23('0x38')](respondWithResult(_0x16aaea,null))[_0x0d23('0x2c')](handleError(_0x16aaea,null));};exports[_0x0d23('0x72')]=function(_0xe0fb4c,_0x386227,_0x3e8944){var _0x24feae=_0xe0fb4c['body']['ids'];return db['Team'][_0x0d23('0x54')]({'where':{'id':_0x24feae},'attributes':['id'],'include':[{'model':db['User'],'as':_0x0d23('0x73'),'attributes':['id','name',_0x0d23('0x74'),_0x0d23('0x75'),_0x0d23('0x76')],'raw':!![]}]})[_0x0d23('0x38')](function(_0xae008b){if(_0xae008b){var _0x14a3cb=_[_0x0d23('0x77')](_0xae008b,function(_0x481ea3){var _0x4c6a46=_0x481ea3[_0x0d23('0x5c')]({'plain':!![]});return _0x4c6a46['Agents'];});return db[_0x0d23('0x51')]['find']({'where':{'id':_0xe0fb4c[_0x0d23('0x57')]['id']}})[_0x0d23('0x38')](function(_0x123cea){return db[_0x0d23('0x78')][_0x0d23('0x79')](function(_0x45dcc5){return _0x123cea[_0x0d23('0x72')](_0x24feae,{'transaction':_0x45dcc5})['then'](function(){return BPromise[_0x0d23('0x7a')](_0x14a3cb,function(_0x565f37){return db[_0x0d23('0x64')][_0x0d23('0x7b')]({'where':{'UserId':_0x565f37['id'],'ChatQueueId':_0xe0fb4c['params']['id']},'transaction':_0x45dcc5});});})[_0x0d23('0x38')](function(){_0x14a3cb['forEach'](function(_0x3977d4){socket['emit'](_0x0d23('0x7c'),{'UserId':_0x3977d4['id'],'ChatQueueId':_0x123cea['id']});});});});});}})[_0x0d23('0x38')](respondWithStatusCode(_0x386227,null))[_0x0d23('0x2c')](handleError(_0x386227,null));};exports[_0x0d23('0x7d')]=function(_0x57ada0,_0x59116b,_0x5b0e4c){return db[_0x0d23('0x6f')]['findAll']({'where':{'id':_0x57ada0[_0x0d23('0x41')][_0x0d23('0x7e')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x0d23('0x73'),'attributes':['id'],'raw':!![]}]})[_0x0d23('0x38')](handleEntityNotFound(_0x59116b,null))[_0x0d23('0x38')](function(_0x45e955){var _0x24c1b5=_['map'](_0x45e955,'id');var _0x3c0d0e=[];var _0x358c13=[];var _0x399b40=squel[_0x0d23('0x7f')]();_0x399b40[_0x0d23('0x80')](_0x0d23('0x81'))[_0x0d23('0x82')](_0x0d23('0x83'),'tq')['join'](_0x0d23('0x84'),'ut',_0x0d23('0x85'))[_0x0d23('0x4d')]('ChatQueueId\x20=\x20?',_0x57ada0[_0x0d23('0x57')]['id']);for(var _0x4a478c=0x0;_0x4a478c<_0x45e955['length'];_0x4a478c+=0x1){let _0x38a733=_0x45e955[_0x4a478c];for(var _0x5e9c78=0x0;_0x5e9c78<_0x38a733['Agents'][_0x0d23('0x47')];_0x5e9c78+=0x1){let _0x33e2c8=_0x38a733[_0x0d23('0x73')][_0x5e9c78];var _0x1afafb=_0x399b40['clone']();_0x1afafb[_0x0d23('0x4d')](_0x0d23('0x86'),_0x33e2c8['id']);_0x358c13[_0x0d23('0x87')](db[_0x0d23('0x78')][_0x0d23('0x41')](_0x1afafb['toString'](),{'type':db['sequelize'][_0x0d23('0x88')][_0x0d23('0x89')]})['then'](function(_0x109670){if(_0x109670[_0x0d23('0x47')]===0x1){return _0x33e2c8['id'];}else{var _0x50fe69=_[_0x0d23('0x8a')](_['map'](_0x109670,'TeamId'),function(_0x7dd81a){return _[_0x0d23('0x8b')](_0x24c1b5,_0x7dd81a);});if(_0x50fe69){return _0x33e2c8['id'];}}}));}}return BPromise[_0x0d23('0x8c')](_0x358c13)['then'](function(_0x18cfa9){_0x3c0d0e=_(_0x3c0d0e)[_0x0d23('0x8d')](_0x18cfa9)[_0x0d23('0x8e')]()['value']();return db['ChatQueue'][_0x0d23('0x58')]({'where':{'id':_0x57ada0[_0x0d23('0x57')]['id']}})['then'](function(_0x4e680e){return db[_0x0d23('0x78')][_0x0d23('0x79')](function(_0x19bdc3){return _0x4e680e[_0x0d23('0x7d')](_0x57ada0[_0x0d23('0x41')][_0x0d23('0x7e')],{'transaction':_0x19bdc3})[_0x0d23('0x38')](function(){if(!_['isEmpty'](_0x3c0d0e)){return _0x4e680e['removeAgents'](_0x3c0d0e,{'transaction':_0x19bdc3});}})[_0x0d23('0x38')](function(){_0x3c0d0e[_0x0d23('0x8f')](function(_0x5774be){socket['emit'](_0x0d23('0x90'),{'UserId':_0x5774be,'ChatQueueId':_0x4e680e['id']});});});});});});})[_0x0d23('0x38')](respondWithStatusCode(_0x59116b,null))[_0x0d23('0x2c')](handleError(_0x59116b,null));};exports[_0x0d23('0x91')]=function(_0x3fd28d,_0x2e41a8,_0x336b0c){return db[_0x0d23('0x51')][_0x0d23('0x58')]({'where':{'id':_0x3fd28d['params']['id']}})[_0x0d23('0x38')](handleEntityNotFound(_0x2e41a8,null))['then'](function(_0x425172){if(_0x425172){return _0x425172['addAgents'](_0x3fd28d[_0x0d23('0x5a')][_0x0d23('0x7e')],_[_0x0d23('0x92')](_0x3fd28d[_0x0d23('0x5a')],[_0x0d23('0x7e'),'id'])||{})['spread'](function(_0x451810){for(var _0x5e2713=0x0;_0x5e2713<_0x3fd28d[_0x0d23('0x5a')][_0x0d23('0x7e')][_0x0d23('0x47')];_0x5e2713+=0x1){socket[_0x0d23('0x93')](_0x0d23('0x7c'),{'UserId':_0x3fd28d[_0x0d23('0x5a')]['ids'][_0x5e2713],'ChatQueueId':_0x3fd28d[_0x0d23('0x57')]['id']});}return _0x451810;});}})[_0x0d23('0x38')](respondWithResult(_0x2e41a8,null))[_0x0d23('0x2c')](handleError(_0x2e41a8,null));};exports['removeAgents']=function(_0x2bc14d,_0xe2ab9a,_0x563238){return db['ChatQueue'][_0x0d23('0x58')]({'where':{'id':_0x2bc14d[_0x0d23('0x57')]['id']}})['then'](handleEntityNotFound(_0xe2ab9a,null))['then'](function(_0x379986){if(_0x379986){return _0x379986[_0x0d23('0x94')](_0x2bc14d[_0x0d23('0x41')][_0x0d23('0x7e')])[_0x0d23('0x38')](function(){if(_[_0x0d23('0x95')](_0x2bc14d[_0x0d23('0x41')][_0x0d23('0x7e')])){for(var _0x4745df=0x0;_0x4745df<_0x2bc14d[_0x0d23('0x41')][_0x0d23('0x7e')][_0x0d23('0x47')];_0x4745df+=0x1){socket[_0x0d23('0x93')](_0x0d23('0x90'),{'UserId':Number(_0x2bc14d[_0x0d23('0x41')][_0x0d23('0x7e')][_0x4745df]),'ChatQueueId':Number(_0x2bc14d[_0x0d23('0x57')]['id'])});}}else{socket[_0x0d23('0x93')](_0x0d23('0x90'),{'UserId':Number(_0x2bc14d[_0x0d23('0x41')][_0x0d23('0x7e')]),'ChatQueueId':Number(_0x2bc14d[_0x0d23('0x57')]['id'])});}});}})[_0x0d23('0x38')](respondWithStatusCode(_0xe2ab9a,null))[_0x0d23('0x2c')](handleError(_0xe2ab9a,null));};exports[_0x0d23('0x96')]=function(_0xb7113,_0x3e08eb,_0x53fb08){var _0x586f19={};var _0x497c4a={};var _0x44c14d;var _0x238345;return db['ChatQueue']['findOne']({'where':{'id':_0xb7113['params']['id']}})['then'](handleEntityNotFound(_0x3e08eb,null))[_0x0d23('0x38')](function(_0x18c0e6){if(_0x18c0e6){_0x44c14d=_0x18c0e6;_0x497c4a[_0x0d23('0x3f')]=_[_0x0d23('0x42')](db['User']['rawAttributes']);_0x497c4a[_0x0d23('0x41')]=_[_0x0d23('0x42')](_0xb7113[_0x0d23('0x41')]);_0x497c4a[_0x0d23('0x43')]=_[_0x0d23('0x44')](_0x497c4a[_0x0d23('0x3f')],_0x497c4a[_0x0d23('0x41')]);_0x586f19[_0x0d23('0x46')]=_[_0x0d23('0x44')](_0x497c4a['model'],qs[_0x0d23('0x45')](_0xb7113[_0x0d23('0x41')][_0x0d23('0x45')]));_0x586f19['attributes']=_0x586f19[_0x0d23('0x46')][_0x0d23('0x47')]?_0x586f19[_0x0d23('0x46')]:_0x497c4a[_0x0d23('0x3f')];_0x586f19[_0x0d23('0x65')]=qs['sort'](_0xb7113['query']['sort']);_0x586f19[_0x0d23('0x4d')]=qs[_0x0d23('0x43')](_['pick'](_0xb7113[_0x0d23('0x41')],_0x497c4a[_0x0d23('0x43')]));if(_0xb7113[_0x0d23('0x41')][_0x0d23('0x50')]){_0x586f19[_0x0d23('0x4d')]=_['merge'](_0x586f19['where'],{'$or':_['map'](_0x586f19[_0x0d23('0x46')],function(_0x4a6283){var _0x1e85c0={};_0x1e85c0[_0x4a6283]={'$like':'%'+_0xb7113[_0x0d23('0x41')][_0x0d23('0x50')]+'%'};return _0x1e85c0;})});}_0x586f19=_['merge']({},_0x586f19,_0xb7113['options']);return _0x44c14d['getAgents'](_0x586f19);}})[_0x0d23('0x38')](function(_0x22e0f4){if(_0x22e0f4){_0x238345=_0x22e0f4['length'];if(!_0xb7113['query']['hasOwnProperty'](_0x0d23('0x49'))){_0x586f19[_0x0d23('0x30')]=qs[_0x0d23('0x30')](_0xb7113[_0x0d23('0x41')]['limit']);_0x586f19[_0x0d23('0x4a')]=qs['offset'](_0xb7113[_0x0d23('0x41')][_0x0d23('0x4a')]);}return _0x44c14d['getAgents'](_0x586f19);}})['then'](function(_0x273c63){if(_0x273c63){return _0x273c63?{'count':_0x238345,'rows':_0x273c63}:null;}})[_0x0d23('0x38')](respondWithResult(_0x3e08eb,null))['catch'](handleError(_0x3e08eb,null));};