Built motion from commit (unavailable).|2.5.4
[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 _0x60b3=['params','keys','include','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','findOne','UserChatQueue','order','sort','ChatQueueId','findAll','User','findAndCountAll','UserId','chatPause','format','SIP','updatedAt','Team','getTeams','addTeams','ids','online','interface','flatMap','Agents','sequelize','transaction','each','findOrCreate','emit','userChatQueue:save','removeTeams','select','tq.TeamId','from','team_has_chat_queues','join','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','all','union','value','isEmpty','forEach','userChatQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','defaults','redis','localhost','./chatQueue.socket','register','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','ChatQueue,\x20%s,\x20%s','ChatQueue,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','catch','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','update','destroy','get','ChatQueues','UserProfileResource','stack','name','index','ChatQueue','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','where','pick','filter','merge','options','includeAll','rows'];(function(_0x1e1ad3,_0x11ae45){var _0x16aacf=function(_0x5eedd1){while(--_0x5eedd1){_0x1e1ad3['push'](_0x1e1ad3['shift']());}};_0x16aacf(++_0x11ae45);}(_0x60b3,0xd5));var _0x360b=function(_0x56ab7e,_0x3d47af){_0x56ab7e=_0x56ab7e-0x0;var _0x4205b9=_0x60b3[_0x56ab7e];return _0x4205b9;};'use strict';var pdf=require(_0x360b('0x0'));var emlformat=require(_0x360b('0x1'));var rimraf=require(_0x360b('0x2'));var zipdir=require(_0x360b('0x3'));var jsonpatch=require(_0x360b('0x4'));var rp=require(_0x360b('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x360b('0x6'));var path=require(_0x360b('0x7'));var sox=require(_0x360b('0x8'));var csv=require(_0x360b('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x360b('0xa'));var squel=require(_0x360b('0xb'));var crypto=require(_0x360b('0xc'));var jsforce=require(_0x360b('0xd'));var deskjs=require(_0x360b('0xe'));var toCsv=require(_0x360b('0x9'));var querystring=require(_0x360b('0xf'));var Papa=require(_0x360b('0x10'));var Redis=require(_0x360b('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x360b('0x12'));var hardwareService=require(_0x360b('0x13'));var logger=require('../../config/logger')(_0x360b('0x14'));var utils=require(_0x360b('0x15'));var config=require(_0x360b('0x16'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x360b('0x17')](config[_0x360b('0x18')],{'host':_0x360b('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x360b('0x18')]));require(_0x360b('0x1a'))[_0x360b('0x1b')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x360b('0x1c')]({'port':0x232a});function checkPasswordPattern(_0x10bc72,_0x58e0d4,_0x26cde2){if(_0x26cde2){var _0x15331a=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x15331a[_0x360b('0x1d')](_0x58e0d4)){return _0x10bc72;}else{throw new db[(_0x360b('0x1e'))][(_0x360b('0x1f'))](_0x360b('0x20'));}}else{return _0x10bc72;}}function respondWithRpcPromise(_0x30ae7d,_0x4e0203,_0x479386,_0x5b743c){return new BPromise(function(_0x2c2bfe,_0x5343cb){var _0x2bf71f=_0x5b743c||client;return _0x2bf71f[_0x360b('0x21')](_0x30ae7d,_0x479386)[_0x360b('0x22')](function(_0x63e37e){logger[_0x360b('0x23')](_0x360b('0x24'),_0x4e0203,'request\x20sent');logger['debug'](_0x360b('0x25'),_0x4e0203,_0x360b('0x26'),JSON[_0x360b('0x27')](_0x63e37e));if(_0x63e37e[_0x360b('0x28')]){if(_0x63e37e[_0x360b('0x28')]['code']===0x1f4){logger[_0x360b('0x28')]('ChatQueue,\x20%s,\x20%s',_0x4e0203,_0x63e37e[_0x360b('0x28')][_0x360b('0x29')]);return _0x5343cb(_0x63e37e[_0x360b('0x28')][_0x360b('0x29')]);}logger['error'](_0x360b('0x24'),_0x4e0203,_0x63e37e[_0x360b('0x28')][_0x360b('0x29')]);return _0x2c2bfe(_0x63e37e[_0x360b('0x28')]['message']);}else{logger[_0x360b('0x23')](_0x360b('0x24'),_0x4e0203,_0x360b('0x26'));_0x2c2bfe(_0x63e37e['result'][_0x360b('0x29')]);}})[_0x360b('0x2a')](function(_0x6f12bf){logger[_0x360b('0x28')](_0x360b('0x24'),_0x4e0203,_0x6f12bf);_0x5343cb(_0x6f12bf);});});}function respondWithStatusCode(_0x2e8f03,_0x88c039){_0x88c039=_0x88c039||0xcc;return function(_0x37430f){if(_0x37430f){return _0x2e8f03[_0x360b('0x2b')](_0x88c039);}return _0x2e8f03[_0x360b('0x2c')](_0x88c039)[_0x360b('0x2d')]();};}function respondWithResult(_0x1928e3,_0x2faf00){_0x2faf00=_0x2faf00||0xc8;return function(_0x1c5710){if(_0x1c5710){return _0x1928e3[_0x360b('0x2c')](_0x2faf00)[_0x360b('0x2e')](_0x1c5710);}};}function respondWithFilteredResult(_0x31cd9e,_0x5d9fbd){return function(_0xbabd90){if(_0xbabd90){var _0x2fc31d=_0xbabd90[_0x360b('0x2f')],_0x3a29d4=_0x5d9fbd[_0x360b('0x30')],_0x4b092d=_0x5d9fbd['offset']+_0x5d9fbd[_0x360b('0x31')],_0x3fe618;if(_0x4b092d>=_0x2fc31d){_0x4b092d=_0x2fc31d;_0x3fe618=0xc8;}else{_0x3fe618=0xce;}_0x31cd9e['status'](_0x3fe618);return _0x31cd9e['set'](_0x360b('0x32'),_0x3a29d4+'-'+_0x4b092d+'/'+_0x2fc31d)[_0x360b('0x2e')](_0xbabd90);}return null;};}function patchUpdates(_0x1c4cb9){return function(_0x11116d){try{jsonpatch[_0x360b('0x33')](_0x11116d,_0x1c4cb9,!![]);}catch(_0x5951e2){return BPromise[_0x360b('0x34')](_0x5951e2);}return _0x11116d['save']();};}function saveUpdates(_0x19604a,_0x9865e4){return function(_0x4a033d){if(_0x4a033d){return _0x4a033d[_0x360b('0x35')](_0x19604a)[_0x360b('0x22')](function(_0x21b474){return _0x21b474;});}return null;};}function removeEntity(_0x41c304,_0x2f6fbe){return function(_0x3b60be){if(_0x3b60be){return _0x3b60be[_0x360b('0x36')]()['then'](function(){var _0x3ff9d8=_0x3b60be[_0x360b('0x37')]({'plain':!![]});var _0x5737cf=_0x360b('0x38');return db[_0x360b('0x39')][_0x360b('0x36')]({'where':{'type':_0x5737cf,'resourceId':_0x3ff9d8['id']}})[_0x360b('0x22')](function(){return _0x3b60be;});})[_0x360b('0x22')](function(){_0x41c304[_0x360b('0x2c')](0xcc)[_0x360b('0x2d')]();});}};}function handleEntityNotFound(_0x18e086,_0x45cf39){return function(_0x1e5e47){if(!_0x1e5e47){_0x18e086[_0x360b('0x2b')](0x194);}return _0x1e5e47;};}function handleError(_0x4c32cc,_0x27d7ed){_0x27d7ed=_0x27d7ed||0x1f4;return function(_0x56361a){logger[_0x360b('0x28')](_0x56361a[_0x360b('0x3a')]);if(_0x56361a[_0x360b('0x3b')]){delete _0x56361a[_0x360b('0x3b')];}_0x4c32cc[_0x360b('0x2c')](_0x27d7ed)['send'](_0x56361a);};}exports[_0x360b('0x3c')]=function(_0x5b5b5d,_0x329c46){var _0x3a0f9c={},_0x45d39c={},_0x235f47={'count':0x0,'rows':[]};var _0x1002ad=_['map'](db[_0x360b('0x3d')][_0x360b('0x3e')],function(_0x19a8d2){return{'name':_0x19a8d2[_0x360b('0x3f')],'type':_0x19a8d2[_0x360b('0x40')][_0x360b('0x41')]};});_0x45d39c[_0x360b('0x42')]=_[_0x360b('0x43')](_0x1002ad,_0x360b('0x3b'));_0x45d39c[_0x360b('0x44')]=_['keys'](_0x5b5b5d['query']);_0x45d39c[_0x360b('0x45')]=_[_0x360b('0x46')](_0x45d39c[_0x360b('0x42')],_0x45d39c[_0x360b('0x44')]);_0x3a0f9c['attributes']=_[_0x360b('0x46')](_0x45d39c[_0x360b('0x42')],qs['fields'](_0x5b5b5d[_0x360b('0x44')][_0x360b('0x47')]));_0x3a0f9c[_0x360b('0x48')]=_0x3a0f9c[_0x360b('0x48')][_0x360b('0x49')]?_0x3a0f9c[_0x360b('0x48')]:_0x45d39c['model'];if(!_0x5b5b5d['query'][_0x360b('0x4a')](_0x360b('0x4b'))){_0x3a0f9c['limit']=qs[_0x360b('0x31')](_0x5b5b5d['query'][_0x360b('0x31')]);_0x3a0f9c[_0x360b('0x30')]=qs[_0x360b('0x30')](_0x5b5b5d[_0x360b('0x44')]['offset']);}_0x3a0f9c['order']=qs['sort'](_0x5b5b5d['query']['sort']);_0x3a0f9c[_0x360b('0x4c')]=qs['filters'](_[_0x360b('0x4d')](_0x5b5b5d[_0x360b('0x44')],_0x45d39c['filters']),_0x1002ad);if(_0x5b5b5d['query'][_0x360b('0x4e')]){_0x3a0f9c['where']=_['merge'](_0x3a0f9c['where'],{'$or':_[_0x360b('0x43')](_0x1002ad,function(_0x4a66ca){if(_0x4a66ca[_0x360b('0x40')]!=='VIRTUAL'){var _0x240f78={};_0x240f78[_0x4a66ca[_0x360b('0x3b')]]={'$like':'%'+_0x5b5b5d['query'][_0x360b('0x4e')]+'%'};return _0x240f78;}})});}_0x3a0f9c=_[_0x360b('0x4f')]({},_0x3a0f9c,_0x5b5b5d[_0x360b('0x50')]);var _0x1d698c={'where':_0x3a0f9c['where']};return db[_0x360b('0x3d')]['count'](_0x1d698c)[_0x360b('0x22')](function(_0x485575){_0x235f47[_0x360b('0x2f')]=_0x485575;if(_0x5b5b5d[_0x360b('0x44')][_0x360b('0x51')]){_0x3a0f9c['include']=[{'all':!![]}];}return db[_0x360b('0x3d')]['findAll'](_0x3a0f9c);})[_0x360b('0x22')](function(_0x316367){_0x235f47[_0x360b('0x52')]=_0x316367;return _0x235f47;})[_0x360b('0x22')](respondWithFilteredResult(_0x329c46,_0x3a0f9c))['catch'](handleError(_0x329c46,null));};exports['show']=function(_0x33d013,_0x35a668){var _0x242874={'raw':!![],'where':{'id':_0x33d013[_0x360b('0x53')]['id']}},_0x26f95a={};_0x26f95a[_0x360b('0x42')]=_[_0x360b('0x54')](db[_0x360b('0x3d')][_0x360b('0x3e')]);_0x26f95a[_0x360b('0x44')]=_[_0x360b('0x54')](_0x33d013[_0x360b('0x44')]);_0x26f95a[_0x360b('0x45')]=_[_0x360b('0x46')](_0x26f95a[_0x360b('0x42')],_0x26f95a['query']);_0x242874['attributes']=_[_0x360b('0x46')](_0x26f95a[_0x360b('0x42')],qs[_0x360b('0x47')](_0x33d013[_0x360b('0x44')][_0x360b('0x47')]));_0x242874[_0x360b('0x48')]=_0x242874[_0x360b('0x48')][_0x360b('0x49')]?_0x242874[_0x360b('0x48')]:_0x26f95a[_0x360b('0x42')];if(_0x33d013[_0x360b('0x44')][_0x360b('0x51')]){_0x242874[_0x360b('0x55')]=[{'all':!![]}];}_0x242874=_[_0x360b('0x4f')]({},_0x242874,_0x33d013[_0x360b('0x50')]);return db[_0x360b('0x3d')]['find'](_0x242874)[_0x360b('0x22')](handleEntityNotFound(_0x35a668,null))[_0x360b('0x22')](respondWithResult(_0x35a668,null))[_0x360b('0x2a')](handleError(_0x35a668,null));};exports[_0x360b('0x56')]=function(_0x49cef1,_0x50c83a){return db[_0x360b('0x3d')][_0x360b('0x56')](_0x49cef1['body'],{})[_0x360b('0x22')](function(_0x4ac6d3){var _0x49ebfa=_0x49cef1[_0x360b('0x57')][_0x360b('0x37')]({'plain':!![]});if(!_0x49ebfa)throw new Error(_0x360b('0x58'));if(_0x49ebfa['role']===_0x360b('0x57')){var _0x57ad85=_0x4ac6d3[_0x360b('0x37')]({'plain':!![]});var _0x23fc53=_0x360b('0x38');return db[_0x360b('0x59')][_0x360b('0x5a')]({'where':{'name':_0x23fc53,'userProfileId':_0x49ebfa[_0x360b('0x5b')]},'raw':!![]})[_0x360b('0x22')](function(_0x2d6877){if(_0x2d6877&&_0x2d6877[_0x360b('0x5c')]===0x0){return db[_0x360b('0x39')][_0x360b('0x56')]({'name':_0x57ad85['name'],'resourceId':_0x57ad85['id'],'type':_0x2d6877['name'],'sectionId':_0x2d6877['id']},{})[_0x360b('0x22')](function(){return _0x4ac6d3;});}else{return _0x4ac6d3;}})[_0x360b('0x2a')](function(_0x376778){logger[_0x360b('0x28')](_0x360b('0x5d'),_0x376778);throw _0x376778;});}return _0x4ac6d3;})[_0x360b('0x22')](respondWithResult(_0x50c83a,0xc9))[_0x360b('0x2a')](handleError(_0x50c83a,null));};exports[_0x360b('0x35')]=function(_0x10c583,_0x4d8aa4){if(_0x10c583[_0x360b('0x5e')]['id']){delete _0x10c583['body']['id'];}return db[_0x360b('0x3d')][_0x360b('0x5a')]({'where':{'id':_0x10c583[_0x360b('0x53')]['id']}})['then'](handleEntityNotFound(_0x4d8aa4,null))[_0x360b('0x22')](saveUpdates(_0x10c583[_0x360b('0x5e')],null))[_0x360b('0x22')](respondWithResult(_0x4d8aa4,null))[_0x360b('0x2a')](handleError(_0x4d8aa4,null));};exports['destroy']=function(_0x5e9390,_0xd2b0a8){return db['ChatQueue'][_0x360b('0x5a')]({'where':{'id':_0x5e9390['params']['id']}})[_0x360b('0x22')](handleEntityNotFound(_0xd2b0a8,null))['then'](removeEntity(_0xd2b0a8,null))['catch'](handleError(_0xd2b0a8,null));};exports['describe']=function(_0x15152c,_0x1a0092){return db[_0x360b('0x3d')][_0x360b('0x5f')]()[_0x360b('0x22')](respondWithResult(_0x1a0092,null))[_0x360b('0x2a')](handleError(_0x1a0092,null));};exports['getMembers']=function(_0x58b25d,_0x3d6b03,_0x1cc15c){var _0x271765={'raw':!![],'where':{}},_0x4bd768={},_0x5167de;return db[_0x360b('0x3d')][_0x360b('0x60')]({'where':{'id':_0x58b25d['params']['id']}})['then'](handleEntityNotFound(_0x3d6b03,null))[_0x360b('0x22')](function(_0xfc668e){if(_0xfc668e){_0x5167de=_0xfc668e['get']({'plain':!![]});_0x4bd768['model']=_[_0x360b('0x54')](db[_0x360b('0x61')][_0x360b('0x3e')]);_0x4bd768[_0x360b('0x44')]=_['keys'](_0x58b25d[_0x360b('0x44')]);_0x4bd768[_0x360b('0x45')]=_[_0x360b('0x46')](_0x4bd768[_0x360b('0x42')],_0x4bd768['query']);_0x271765[_0x360b('0x48')]=_['intersection'](_0x4bd768[_0x360b('0x42')],qs[_0x360b('0x47')](_0x58b25d['query'][_0x360b('0x47')]));_0x271765[_0x360b('0x48')]=_0x271765[_0x360b('0x48')][_0x360b('0x49')]?_0x271765[_0x360b('0x48')]:_0x4bd768[_0x360b('0x42')];if(!_0x58b25d['query']['hasOwnProperty'](_0x360b('0x4b'))){_0x271765[_0x360b('0x31')]=qs[_0x360b('0x31')](_0x58b25d['query'][_0x360b('0x31')]);_0x271765['offset']=qs[_0x360b('0x30')](_0x58b25d[_0x360b('0x44')]['offset']);}_0x271765[_0x360b('0x62')]=qs[_0x360b('0x63')](_0x58b25d[_0x360b('0x44')]['sort']);_0x271765[_0x360b('0x4c')]=qs[_0x360b('0x45')](_[_0x360b('0x4d')](_0x58b25d['query'],_0x4bd768[_0x360b('0x45')]));_0x271765[_0x360b('0x4c')][_0x360b('0x64')]=_0xfc668e['id'];if(_0x58b25d[_0x360b('0x44')]['filter']){_0x271765[_0x360b('0x4c')]=_[_0x360b('0x4f')](_0x271765['where'],{'$or':_[_0x360b('0x43')](_0x271765[_0x360b('0x48')],function(_0x427d6f){var _0x20b8ea={};_0x20b8ea[_0x427d6f]={'$like':'%'+_0x58b25d[_0x360b('0x44')][_0x360b('0x4e')]+'%'};return _0x20b8ea;})});}_0x271765=_['merge']({},_0x271765,_0x58b25d[_0x360b('0x50')]);return db[_0x360b('0x61')][_0x360b('0x65')](_0x271765);}})[_0x360b('0x22')](function(_0x1bd5b1){if(_0x1bd5b1){return db[_0x360b('0x66')][_0x360b('0x67')]({'where':{'id':_[_0x360b('0x43')](_0x1bd5b1,_0x360b('0x68')),'role':'agent'},'attributes':['id',_0x360b('0x3b'),_0x360b('0x69'),'updatedAt','createdAt']});}})['then'](function(_0x1fecb1){if(_0x1fecb1){return{'count':_0x1fecb1[_0x360b('0x2f')],'rows':_['map'](_0x1fecb1[_0x360b('0x52')],function(_0x39efbb){return{'membername':_0x39efbb[_0x360b('0x3b')],'UserId':_0x39efbb['id'],'queue_name':_0x5167de['name'],'ChatQueueId':_0x5167de['id'],'interface':util[_0x360b('0x6a')]('%s/%s',_0x360b('0x6b'),_0x39efbb[_0x360b('0x3b')]),'penalty':0x0,'paused':_0x39efbb[_0x360b('0x69')],'createdAt':_0x39efbb['createdAt'],'updatedAt':_0x39efbb[_0x360b('0x6c')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x360b('0x22')](respondWithFilteredResult(_0x3d6b03,_0x271765))['catch'](handleError(_0x3d6b03,null));};exports['getTeams']=function(_0x581d32,_0x1fb6f7,_0x4653ae){var _0x53776d={};var _0x5ac6b5={};var _0x448427;var _0x4a4be7;return db[_0x360b('0x3d')][_0x360b('0x60')]({'where':{'id':_0x581d32[_0x360b('0x53')]['id']}})[_0x360b('0x22')](handleEntityNotFound(_0x1fb6f7,null))['then'](function(_0x426a59){if(_0x426a59){_0x448427=_0x426a59;_0x5ac6b5[_0x360b('0x42')]=_[_0x360b('0x54')](db[_0x360b('0x6d')][_0x360b('0x3e')]);_0x5ac6b5['query']=_['keys'](_0x581d32[_0x360b('0x44')]);_0x5ac6b5[_0x360b('0x45')]=_['intersection'](_0x5ac6b5['model'],_0x5ac6b5['query']);_0x53776d[_0x360b('0x48')]=_[_0x360b('0x46')](_0x5ac6b5[_0x360b('0x42')],qs[_0x360b('0x47')](_0x581d32['query'][_0x360b('0x47')]));_0x53776d[_0x360b('0x48')]=_0x53776d['attributes'][_0x360b('0x49')]?_0x53776d[_0x360b('0x48')]:_0x5ac6b5[_0x360b('0x42')];_0x53776d[_0x360b('0x62')]=qs[_0x360b('0x63')](_0x581d32[_0x360b('0x44')][_0x360b('0x63')]);_0x53776d[_0x360b('0x4c')]=qs[_0x360b('0x45')](_[_0x360b('0x4d')](_0x581d32[_0x360b('0x44')],_0x5ac6b5[_0x360b('0x45')]));if(_0x581d32[_0x360b('0x44')][_0x360b('0x4e')]){_0x53776d[_0x360b('0x4c')]=_[_0x360b('0x4f')](_0x53776d[_0x360b('0x4c')],{'$or':_[_0x360b('0x43')](_0x53776d[_0x360b('0x48')],function(_0x39c4ab){var _0x75a658={};_0x75a658[_0x39c4ab]={'$like':'%'+_0x581d32['query']['filter']+'%'};return _0x75a658;})});}_0x53776d=_['merge']({},_0x53776d,_0x581d32[_0x360b('0x50')]);return _0x448427['getTeams'](_0x53776d);}})['then'](function(_0x502c90){if(_0x502c90){_0x4a4be7=_0x502c90['length'];if(!_0x581d32[_0x360b('0x44')][_0x360b('0x4a')]('nolimit')){_0x53776d[_0x360b('0x31')]=qs['limit'](_0x581d32[_0x360b('0x44')][_0x360b('0x31')]);_0x53776d[_0x360b('0x30')]=qs[_0x360b('0x30')](_0x581d32[_0x360b('0x44')][_0x360b('0x30')]);}return _0x448427[_0x360b('0x6e')](_0x53776d);}})[_0x360b('0x22')](function(_0x1187bc){if(_0x1187bc){return _0x1187bc?{'count':_0x4a4be7,'rows':_0x1187bc}:null;}})[_0x360b('0x22')](respondWithResult(_0x1fb6f7,null))['catch'](handleError(_0x1fb6f7,null));};exports[_0x360b('0x6f')]=function(_0x229aba,_0x293350,_0x13a2f3){var _0x5aafaa=_0x229aba[_0x360b('0x5e')][_0x360b('0x70')];return db['Team'][_0x360b('0x65')]({'where':{'id':_0x5aafaa},'attributes':['id'],'include':[{'model':db[_0x360b('0x66')],'as':'Agents','attributes':['id',_0x360b('0x3b'),_0x360b('0x71'),'voicePause',_0x360b('0x72')],'raw':!![]}]})['then'](function(_0x3b8285){if(_0x3b8285){var _0x2aa919=_[_0x360b('0x73')](_0x3b8285,function(_0x498307){var _0x598ff0=_0x498307[_0x360b('0x37')]({'plain':!![]});return _0x598ff0[_0x360b('0x74')];});return db[_0x360b('0x3d')][_0x360b('0x5a')]({'where':{'id':_0x229aba['params']['id']}})[_0x360b('0x22')](function(_0xfd5323){return db[_0x360b('0x75')][_0x360b('0x76')](function(_0x585df3){return _0xfd5323[_0x360b('0x6f')](_0x5aafaa,{'transaction':_0x585df3})[_0x360b('0x22')](function(){return BPromise[_0x360b('0x77')](_0x2aa919,function(_0x50787e){return db[_0x360b('0x61')][_0x360b('0x78')]({'where':{'UserId':_0x50787e['id'],'ChatQueueId':_0x229aba[_0x360b('0x53')]['id']},'transaction':_0x585df3});});})[_0x360b('0x22')](function(){_0x2aa919['forEach'](function(_0x186158){socket[_0x360b('0x79')](_0x360b('0x7a'),{'UserId':_0x186158['id'],'ChatQueueId':_0xfd5323['id']});});});});});}})[_0x360b('0x22')](respondWithStatusCode(_0x293350,null))[_0x360b('0x2a')](handleError(_0x293350,null));};exports[_0x360b('0x7b')]=function(_0x539c03,_0x497a64,_0x547149){return db[_0x360b('0x6d')][_0x360b('0x65')]({'where':{'id':_0x539c03[_0x360b('0x44')][_0x360b('0x70')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x360b('0x22')](handleEntityNotFound(_0x497a64,null))[_0x360b('0x22')](function(_0x46a4d8){var _0x10196a=_[_0x360b('0x43')](_0x46a4d8,'id');var _0x8775f8=[];var _0x57b5d6=[];var _0x1fae7b=squel[_0x360b('0x7c')]();_0x1fae7b['field'](_0x360b('0x7d'))[_0x360b('0x7e')](_0x360b('0x7f'),'tq')[_0x360b('0x80')]('user_has_teams','ut',_0x360b('0x81'))[_0x360b('0x4c')](_0x360b('0x82'),_0x539c03[_0x360b('0x53')]['id']);for(var _0x8cf0e=0x0;_0x8cf0e<_0x46a4d8[_0x360b('0x49')];_0x8cf0e+=0x1){let _0x5bdedd=_0x46a4d8[_0x8cf0e];for(var _0x8c7ff4=0x0;_0x8c7ff4<_0x5bdedd['Agents'][_0x360b('0x49')];_0x8c7ff4+=0x1){let _0x2b6ff1=_0x5bdedd[_0x360b('0x74')][_0x8c7ff4];var _0x11b1a4=_0x1fae7b[_0x360b('0x83')]();_0x11b1a4['where'](_0x360b('0x84'),_0x2b6ff1['id']);_0x57b5d6['push'](db[_0x360b('0x75')]['query'](_0x11b1a4[_0x360b('0x85')](),{'type':db[_0x360b('0x75')][_0x360b('0x86')][_0x360b('0x87')]})['then'](function(_0x233939){if(_0x233939['length']===0x1){return _0x2b6ff1['id'];}else{var _0x21cbaf=_['every'](_[_0x360b('0x43')](_0x233939,'TeamId'),function(_0x17be57){return _['includes'](_0x10196a,_0x17be57);});if(_0x21cbaf){return _0x2b6ff1['id'];}}}));}}return BPromise[_0x360b('0x88')](_0x57b5d6)[_0x360b('0x22')](function(_0x3319a9){_0x8775f8=_(_0x8775f8)[_0x360b('0x89')](_0x3319a9)['compact']()[_0x360b('0x8a')]();return db[_0x360b('0x3d')][_0x360b('0x5a')]({'where':{'id':_0x539c03['params']['id']}})[_0x360b('0x22')](function(_0xdad72b){return db['sequelize'][_0x360b('0x76')](function(_0xef71b7){return _0xdad72b[_0x360b('0x7b')](_0x539c03[_0x360b('0x44')]['ids'],{'transaction':_0xef71b7})[_0x360b('0x22')](function(){if(!_[_0x360b('0x8b')](_0x8775f8)){return _0xdad72b['removeAgents'](_0x8775f8,{'transaction':_0xef71b7});}})[_0x360b('0x22')](function(){_0x8775f8[_0x360b('0x8c')](function(_0x2bab89){socket['emit'](_0x360b('0x8d'),{'UserId':_0x2bab89,'ChatQueueId':_0xdad72b['id']});});});});});});})[_0x360b('0x22')](respondWithStatusCode(_0x497a64,null))['catch'](handleError(_0x497a64,null));};exports[_0x360b('0x8e')]=function(_0xb7b322,_0x5a362c,_0x2e9f65){return db[_0x360b('0x3d')][_0x360b('0x5a')]({'where':{'id':_0xb7b322[_0x360b('0x53')]['id']}})[_0x360b('0x22')](handleEntityNotFound(_0x5a362c,null))[_0x360b('0x22')](function(_0x597d51){if(_0x597d51){return _0x597d51[_0x360b('0x8e')](_0xb7b322[_0x360b('0x5e')][_0x360b('0x70')],_[_0x360b('0x8f')](_0xb7b322[_0x360b('0x5e')],[_0x360b('0x70'),'id'])||{})[_0x360b('0x90')](function(_0x3c5361){for(var _0x3b0062=0x0;_0x3b0062<_0xb7b322[_0x360b('0x5e')][_0x360b('0x70')]['length'];_0x3b0062+=0x1){socket[_0x360b('0x79')]('userChatQueue:save',{'UserId':_0xb7b322[_0x360b('0x5e')][_0x360b('0x70')][_0x3b0062],'ChatQueueId':_0xb7b322[_0x360b('0x53')]['id']});}return _0x3c5361;});}})[_0x360b('0x22')](respondWithResult(_0x5a362c,null))[_0x360b('0x2a')](handleError(_0x5a362c,null));};exports[_0x360b('0x91')]=function(_0x24a71a,_0x4b2027,_0x59e3d7){return db['ChatQueue'][_0x360b('0x5a')]({'where':{'id':_0x24a71a[_0x360b('0x53')]['id']}})[_0x360b('0x22')](handleEntityNotFound(_0x4b2027,null))['then'](function(_0x40b8ef){if(_0x40b8ef){return _0x40b8ef[_0x360b('0x91')](_0x24a71a[_0x360b('0x44')][_0x360b('0x70')])[_0x360b('0x22')](function(){if(_[_0x360b('0x92')](_0x24a71a['query']['ids'])){for(var _0x5ad39e=0x0;_0x5ad39e<_0x24a71a[_0x360b('0x44')][_0x360b('0x70')][_0x360b('0x49')];_0x5ad39e+=0x1){socket['emit'](_0x360b('0x8d'),{'UserId':Number(_0x24a71a[_0x360b('0x44')][_0x360b('0x70')][_0x5ad39e]),'ChatQueueId':Number(_0x24a71a[_0x360b('0x53')]['id'])});}}else{socket[_0x360b('0x79')](_0x360b('0x8d'),{'UserId':Number(_0x24a71a[_0x360b('0x44')][_0x360b('0x70')]),'ChatQueueId':Number(_0x24a71a['params']['id'])});}});}})['then'](respondWithStatusCode(_0x4b2027,null))[_0x360b('0x2a')](handleError(_0x4b2027,null));};exports[_0x360b('0x93')]=function(_0x3137dd,_0x49ac9e,_0x32cd07){var _0x3765ed={};var _0x37560b={};var _0x2b939d;var _0x5da300;return db[_0x360b('0x3d')][_0x360b('0x60')]({'where':{'id':_0x3137dd['params']['id']}})[_0x360b('0x22')](handleEntityNotFound(_0x49ac9e,null))['then'](function(_0x45a4a9){if(_0x45a4a9){_0x2b939d=_0x45a4a9;_0x37560b[_0x360b('0x42')]=_[_0x360b('0x54')](db[_0x360b('0x66')][_0x360b('0x3e')]);_0x37560b[_0x360b('0x44')]=_[_0x360b('0x54')](_0x3137dd[_0x360b('0x44')]);_0x37560b[_0x360b('0x45')]=_[_0x360b('0x46')](_0x37560b['model'],_0x37560b[_0x360b('0x44')]);_0x3765ed[_0x360b('0x48')]=_[_0x360b('0x46')](_0x37560b[_0x360b('0x42')],qs[_0x360b('0x47')](_0x3137dd[_0x360b('0x44')][_0x360b('0x47')]));_0x3765ed[_0x360b('0x48')]=_0x3765ed[_0x360b('0x48')]['length']?_0x3765ed[_0x360b('0x48')]:_0x37560b['model'];_0x3765ed['order']=qs['sort'](_0x3137dd['query'][_0x360b('0x63')]);_0x3765ed[_0x360b('0x4c')]=qs['filters'](_['pick'](_0x3137dd[_0x360b('0x44')],_0x37560b[_0x360b('0x45')]));if(_0x3137dd[_0x360b('0x44')]['filter']){_0x3765ed[_0x360b('0x4c')]=_['merge'](_0x3765ed[_0x360b('0x4c')],{'$or':_['map'](_0x3765ed['attributes'],function(_0x422748){var _0x2d64bc={};_0x2d64bc[_0x422748]={'$like':'%'+_0x3137dd['query']['filter']+'%'};return _0x2d64bc;})});}_0x3765ed=_[_0x360b('0x4f')]({},_0x3765ed,_0x3137dd[_0x360b('0x50')]);return _0x2b939d[_0x360b('0x93')](_0x3765ed);}})['then'](function(_0x3f63b3){if(_0x3f63b3){_0x5da300=_0x3f63b3[_0x360b('0x49')];if(!_0x3137dd[_0x360b('0x44')][_0x360b('0x4a')](_0x360b('0x4b'))){_0x3765ed[_0x360b('0x31')]=qs['limit'](_0x3137dd[_0x360b('0x44')][_0x360b('0x31')]);_0x3765ed[_0x360b('0x30')]=qs[_0x360b('0x30')](_0x3137dd[_0x360b('0x44')][_0x360b('0x30')]);}return _0x2b939d[_0x360b('0x93')](_0x3765ed);}})[_0x360b('0x22')](function(_0x40a67e){if(_0x40a67e){return _0x40a67e?{'count':_0x5da300,'rows':_0x40a67e}:null;}})[_0x360b('0x22')](respondWithResult(_0x49ac9e,null))[_0x360b('0x2a')](handleError(_0x49ac9e,null));};