Built motion from commit 14588770.|2.5.38
[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 _0xc790=['userChatQueue:remove','addAgents','omit','removeAgents','isArray','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatQueue.socket','register','client','http','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','undefined','limit','count','offset','set','Content-Range','json','reject','save','update','destroy','get','ChatQueues','UserProfileResource','name','send','map','ChatQueue','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','merge','VIRTUAL','filter','include','findAll','rows','params','options','find','create','body','role','user','UserProfileSection','userProfileId','autoAssociation','describe','getMembers','findOne','UserChatQueue','hasOwnProperty','order','ChatQueueId','User','findAndCountAll','UserId','agent','chatPause','updatedAt','createdAt','%s/%s','SIP','getTeams','ids','Team','Agents','online','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','userChatQueue:save','select','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','every','includes','union','compact','removeTeams'];(function(_0x4e5a6c,_0x493d08){var _0x6b6265=function(_0x31ebcd){while(--_0x31ebcd){_0x4e5a6c['push'](_0x4e5a6c['shift']());}};_0x6b6265(++_0x493d08);}(_0xc790,0x132));var _0x0c79=function(_0xbd08b4,_0x4790ed){_0xbd08b4=_0xbd08b4-0x0;var _0x314f1e=_0xc790[_0xbd08b4];return _0x314f1e;};'use strict';var emlformat=require(_0x0c79('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0c79('0x1'));var jsonpatch=require(_0x0c79('0x2'));var rp=require(_0x0c79('0x3'));var moment=require(_0x0c79('0x4'));var BPromise=require(_0x0c79('0x5'));var Mustache=require(_0x0c79('0x6'));var util=require(_0x0c79('0x7'));var path=require(_0x0c79('0x8'));var sox=require('sox');var csv=require(_0x0c79('0x9'));var ejs=require(_0x0c79('0xa'));var fs=require('fs');var fs_extra=require(_0x0c79('0xb'));var _=require('lodash');var squel=require(_0x0c79('0xc'));var crypto=require('crypto');var jsforce=require(_0x0c79('0xd'));var deskjs=require(_0x0c79('0xe'));var toCsv=require(_0x0c79('0x9'));var querystring=require('querystring');var Papa=require(_0x0c79('0xf'));var Redis=require(_0x0c79('0x10'));var authService=require(_0x0c79('0x11'));var qs=require(_0x0c79('0x12'));var as=require(_0x0c79('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0c79('0x14'))(_0x0c79('0x15'));var utils=require(_0x0c79('0x16'));var config=require(_0x0c79('0x17'));var licenseUtil=require(_0x0c79('0x18'));var db=require(_0x0c79('0x19'))['db'];config[_0x0c79('0x1a')]=_[_0x0c79('0x1b')](config[_0x0c79('0x1a')],{'host':_0x0c79('0x1c'),'port':0x18eb});var socket=require(_0x0c79('0x1d'))(new Redis(config['redis']));require(_0x0c79('0x1e'))[_0x0c79('0x1f')](socket);var jayson=require('jayson/promise');var client=jayson[_0x0c79('0x20')][_0x0c79('0x21')]({'port':0x232a});function respondWithRpcPromise(_0x2faf48,_0x1b1216,_0x311ee6,_0x39170e){return new BPromise(function(_0x3044a2,_0x5d7df8){var _0x1ec2c9=_0x39170e||client;return _0x1ec2c9['request'](_0x2faf48,_0x311ee6)[_0x0c79('0x22')](function(_0x21722b){logger[_0x0c79('0x23')](_0x0c79('0x24'),_0x1b1216,_0x0c79('0x25'));logger[_0x0c79('0x26')](_0x0c79('0x27'),_0x1b1216,'request\x20sent',JSON[_0x0c79('0x28')](_0x21722b));if(_0x21722b[_0x0c79('0x29')]){if(_0x21722b[_0x0c79('0x29')][_0x0c79('0x2a')]===0x1f4){logger[_0x0c79('0x29')]('ChatQueue,\x20%s,\x20%s',_0x1b1216,_0x21722b[_0x0c79('0x29')]['message']);return _0x5d7df8(_0x21722b[_0x0c79('0x29')][_0x0c79('0x2b')]);}logger['error'](_0x0c79('0x24'),_0x1b1216,_0x21722b[_0x0c79('0x29')][_0x0c79('0x2b')]);return _0x3044a2(_0x21722b[_0x0c79('0x29')]['message']);}else{logger['info'](_0x0c79('0x24'),_0x1b1216,_0x0c79('0x25'));_0x3044a2(_0x21722b[_0x0c79('0x2c')][_0x0c79('0x2b')]);}})[_0x0c79('0x2d')](function(_0x421e1f){logger[_0x0c79('0x29')](_0x0c79('0x24'),_0x1b1216,_0x421e1f);_0x5d7df8(_0x421e1f);});});}function respondWithStatusCode(_0x29ade4,_0x2ea61b){_0x2ea61b=_0x2ea61b||0xcc;return function(_0x46138d){if(_0x46138d){return _0x29ade4[_0x0c79('0x2e')](_0x2ea61b);}return _0x29ade4[_0x0c79('0x2f')](_0x2ea61b)[_0x0c79('0x30')]();};}function respondWithResult(_0x15e0d2,_0x4cc858){_0x4cc858=_0x4cc858||0xc8;return function(_0x143d32){if(_0x143d32){return _0x15e0d2['status'](_0x4cc858)['json'](_0x143d32);}};}function respondWithFilteredResult(_0x56ebd7,_0x1ed5c8){return function(_0x2290e2){if(_0x2290e2){var _0x3df3d4=typeof _0x1ed5c8['offset']===_0x0c79('0x31')&&typeof _0x1ed5c8[_0x0c79('0x32')]===_0x0c79('0x31');var _0x182707=_0x2290e2[_0x0c79('0x33')];var _0x23bb06=_0x3df3d4?0x0:_0x1ed5c8[_0x0c79('0x34')];var _0x47fcf3=_0x3df3d4?_0x2290e2[_0x0c79('0x33')]:_0x1ed5c8['offset']+_0x1ed5c8[_0x0c79('0x32')];var _0x1c71bd;if(_0x47fcf3>=_0x182707){_0x47fcf3=_0x182707;_0x1c71bd=0xc8;}else{_0x1c71bd=0xce;}_0x56ebd7[_0x0c79('0x2f')](_0x1c71bd);return _0x56ebd7[_0x0c79('0x35')](_0x0c79('0x36'),_0x23bb06+'-'+_0x47fcf3+'/'+_0x182707)[_0x0c79('0x37')](_0x2290e2);}return null;};}function patchUpdates(_0x96030d){return function(_0x2d91a7){try{jsonpatch['apply'](_0x2d91a7,_0x96030d,!![]);}catch(_0x5ea021){return BPromise[_0x0c79('0x38')](_0x5ea021);}return _0x2d91a7[_0x0c79('0x39')]();};}function saveUpdates(_0x564c2a,_0x346236){return function(_0x1a383a){if(_0x1a383a){return _0x1a383a[_0x0c79('0x3a')](_0x564c2a)[_0x0c79('0x22')](function(_0x1b11e8){return _0x1b11e8;});}return null;};}function removeEntity(_0x2ade96,_0x1b4050){return function(_0x57a5ef){if(_0x57a5ef){return _0x57a5ef[_0x0c79('0x3b')]()[_0x0c79('0x22')](function(){var _0x5e0318=_0x57a5ef[_0x0c79('0x3c')]({'plain':!![]});var _0x1bdddb=_0x0c79('0x3d');return db[_0x0c79('0x3e')][_0x0c79('0x3b')]({'where':{'type':_0x1bdddb,'resourceId':_0x5e0318['id']}})['then'](function(){return _0x57a5ef;});})[_0x0c79('0x22')](function(){_0x2ade96['status'](0xcc)[_0x0c79('0x30')]();});}};}function handleEntityNotFound(_0x3ad59f,_0x3361aa){return function(_0xd3fc52){if(!_0xd3fc52){_0x3ad59f[_0x0c79('0x2e')](0x194);}return _0xd3fc52;};}function handleError(_0x2cbc64,_0x130655){_0x130655=_0x130655||0x1f4;return function(_0x43c6cd){logger[_0x0c79('0x29')](_0x43c6cd['stack']);if(_0x43c6cd[_0x0c79('0x3f')]){delete _0x43c6cd[_0x0c79('0x3f')];}_0x2cbc64[_0x0c79('0x2f')](_0x130655)[_0x0c79('0x40')](_0x43c6cd);};}exports['index']=function(_0x2fc726,_0x1be219){var _0x30825c={},_0xc9d705={},_0x17e9f2={'count':0x0,'rows':[]};var _0x4ca47e=_[_0x0c79('0x41')](db[_0x0c79('0x42')][_0x0c79('0x43')],function(_0x59cf55){return{'name':_0x59cf55[_0x0c79('0x44')],'type':_0x59cf55['type'][_0x0c79('0x45')]};});_0xc9d705[_0x0c79('0x46')]=_[_0x0c79('0x41')](_0x4ca47e,_0x0c79('0x3f'));_0xc9d705[_0x0c79('0x47')]=_[_0x0c79('0x48')](_0x2fc726[_0x0c79('0x47')]);_0xc9d705[_0x0c79('0x49')]=_[_0x0c79('0x4a')](_0xc9d705['model'],_0xc9d705[_0x0c79('0x47')]);_0x30825c['attributes']=_['intersection'](_0xc9d705[_0x0c79('0x46')],qs[_0x0c79('0x4b')](_0x2fc726[_0x0c79('0x47')]['fields']));_0x30825c[_0x0c79('0x4c')]=_0x30825c['attributes'][_0x0c79('0x4d')]?_0x30825c[_0x0c79('0x4c')]:_0xc9d705['model'];if(!_0x2fc726[_0x0c79('0x47')]['hasOwnProperty'](_0x0c79('0x4e'))){_0x30825c[_0x0c79('0x32')]=qs[_0x0c79('0x32')](_0x2fc726[_0x0c79('0x47')][_0x0c79('0x32')]);_0x30825c[_0x0c79('0x34')]=qs['offset'](_0x2fc726['query'][_0x0c79('0x34')]);}_0x30825c['order']=qs[_0x0c79('0x4f')](_0x2fc726[_0x0c79('0x47')]['sort']);_0x30825c[_0x0c79('0x50')]=qs[_0x0c79('0x49')](_[_0x0c79('0x51')](_0x2fc726[_0x0c79('0x47')],_0xc9d705[_0x0c79('0x49')]),_0x4ca47e);if(_0x2fc726[_0x0c79('0x47')]['filter']){_0x30825c[_0x0c79('0x50')]=_[_0x0c79('0x52')](_0x30825c[_0x0c79('0x50')],{'$or':_[_0x0c79('0x41')](_0x4ca47e,function(_0x28bc6d){if(_0x28bc6d['type']!==_0x0c79('0x53')){var _0x43b700={};_0x43b700[_0x28bc6d[_0x0c79('0x3f')]]={'$like':'%'+_0x2fc726[_0x0c79('0x47')][_0x0c79('0x54')]+'%'};return _0x43b700;}})});}_0x30825c=_[_0x0c79('0x52')]({},_0x30825c,_0x2fc726['options']);var _0x590fcc={'where':_0x30825c[_0x0c79('0x50')]};return db['ChatQueue'][_0x0c79('0x33')](_0x590fcc)['then'](function(_0x47d554){_0x17e9f2[_0x0c79('0x33')]=_0x47d554;if(_0x2fc726[_0x0c79('0x47')]['includeAll']){_0x30825c[_0x0c79('0x55')]=[{'all':!![]}];}return db[_0x0c79('0x42')][_0x0c79('0x56')](_0x30825c);})['then'](function(_0x1e45b5){_0x17e9f2[_0x0c79('0x57')]=_0x1e45b5;return _0x17e9f2;})[_0x0c79('0x22')](respondWithFilteredResult(_0x1be219,_0x30825c))[_0x0c79('0x2d')](handleError(_0x1be219,null));};exports['show']=function(_0x345b02,_0x434e18){var _0x5a3d79={'raw':!![],'where':{'id':_0x345b02[_0x0c79('0x58')]['id']}},_0x35d64d={};_0x35d64d[_0x0c79('0x46')]=_[_0x0c79('0x48')](db[_0x0c79('0x42')][_0x0c79('0x43')]);_0x35d64d[_0x0c79('0x47')]=_[_0x0c79('0x48')](_0x345b02[_0x0c79('0x47')]);_0x35d64d['filters']=_[_0x0c79('0x4a')](_0x35d64d['model'],_0x35d64d[_0x0c79('0x47')]);_0x5a3d79[_0x0c79('0x4c')]=_['intersection'](_0x35d64d[_0x0c79('0x46')],qs[_0x0c79('0x4b')](_0x345b02[_0x0c79('0x47')][_0x0c79('0x4b')]));_0x5a3d79['attributes']=_0x5a3d79[_0x0c79('0x4c')][_0x0c79('0x4d')]?_0x5a3d79[_0x0c79('0x4c')]:_0x35d64d[_0x0c79('0x46')];if(_0x345b02[_0x0c79('0x47')]['includeAll']){_0x5a3d79[_0x0c79('0x55')]=[{'all':!![]}];}_0x5a3d79=_[_0x0c79('0x52')]({},_0x5a3d79,_0x345b02[_0x0c79('0x59')]);return db[_0x0c79('0x42')][_0x0c79('0x5a')](_0x5a3d79)['then'](handleEntityNotFound(_0x434e18,null))[_0x0c79('0x22')](respondWithResult(_0x434e18,null))[_0x0c79('0x2d')](handleError(_0x434e18,null));};exports[_0x0c79('0x5b')]=function(_0x4d918c,_0x4006a9){return db[_0x0c79('0x42')][_0x0c79('0x5b')](_0x4d918c[_0x0c79('0x5c')],{})['then'](function(_0x4fdfd7){var _0x519679=_0x4d918c['user'][_0x0c79('0x3c')]({'plain':!![]});if(!_0x519679)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x519679[_0x0c79('0x5d')]===_0x0c79('0x5e')){var _0xca1e4c=_0x4fdfd7[_0x0c79('0x3c')]({'plain':!![]});var _0x1abc92=_0x0c79('0x3d');return db[_0x0c79('0x5f')][_0x0c79('0x5a')]({'where':{'name':_0x1abc92,'userProfileId':_0x519679[_0x0c79('0x60')]},'raw':!![]})[_0x0c79('0x22')](function(_0x1d6d7a){if(_0x1d6d7a&&_0x1d6d7a[_0x0c79('0x61')]===0x0){return db['UserProfileResource']['create']({'name':_0xca1e4c[_0x0c79('0x3f')],'resourceId':_0xca1e4c['id'],'type':_0x1d6d7a[_0x0c79('0x3f')],'sectionId':_0x1d6d7a['id']},{})[_0x0c79('0x22')](function(){return _0x4fdfd7;});}else{return _0x4fdfd7;}})[_0x0c79('0x2d')](function(_0x3cb6a6){logger[_0x0c79('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3cb6a6);throw _0x3cb6a6;});}return _0x4fdfd7;})[_0x0c79('0x22')](respondWithResult(_0x4006a9,0xc9))[_0x0c79('0x2d')](handleError(_0x4006a9,null));};exports[_0x0c79('0x3a')]=function(_0x57a1e1,_0x49df07){if(_0x57a1e1['body']['id']){delete _0x57a1e1[_0x0c79('0x5c')]['id'];}return db[_0x0c79('0x42')][_0x0c79('0x5a')]({'where':{'id':_0x57a1e1[_0x0c79('0x58')]['id']}})[_0x0c79('0x22')](handleEntityNotFound(_0x49df07,null))[_0x0c79('0x22')](saveUpdates(_0x57a1e1[_0x0c79('0x5c')],null))[_0x0c79('0x22')](respondWithResult(_0x49df07,null))[_0x0c79('0x2d')](handleError(_0x49df07,null));};exports['destroy']=function(_0x3048bf,_0x46ba64){return db['ChatQueue']['find']({'where':{'id':_0x3048bf['params']['id']}})[_0x0c79('0x22')](handleEntityNotFound(_0x46ba64,null))[_0x0c79('0x22')](removeEntity(_0x46ba64,null))[_0x0c79('0x2d')](handleError(_0x46ba64,null));};exports[_0x0c79('0x62')]=function(_0x10297c,_0x3f1cad){return db['ChatQueue'][_0x0c79('0x62')]()[_0x0c79('0x22')](respondWithResult(_0x3f1cad,null))[_0x0c79('0x2d')](handleError(_0x3f1cad,null));};exports[_0x0c79('0x63')]=function(_0x1134a6,_0x5d7682,_0x483315){var _0x507de2={'raw':!![],'where':{}},_0x388604={},_0x16ac0b;return db[_0x0c79('0x42')][_0x0c79('0x64')]({'where':{'id':_0x1134a6[_0x0c79('0x58')]['id']}})[_0x0c79('0x22')](handleEntityNotFound(_0x5d7682,null))[_0x0c79('0x22')](function(_0x39439e){if(_0x39439e){_0x16ac0b=_0x39439e[_0x0c79('0x3c')]({'plain':!![]});_0x388604[_0x0c79('0x46')]=_['keys'](db[_0x0c79('0x65')][_0x0c79('0x43')]);_0x388604[_0x0c79('0x47')]=_[_0x0c79('0x48')](_0x1134a6[_0x0c79('0x47')]);_0x388604[_0x0c79('0x49')]=_['intersection'](_0x388604[_0x0c79('0x46')],_0x388604[_0x0c79('0x47')]);_0x507de2[_0x0c79('0x4c')]=_['intersection'](_0x388604['model'],qs[_0x0c79('0x4b')](_0x1134a6[_0x0c79('0x47')][_0x0c79('0x4b')]));_0x507de2[_0x0c79('0x4c')]=_0x507de2[_0x0c79('0x4c')]['length']?_0x507de2['attributes']:_0x388604[_0x0c79('0x46')];if(!_0x1134a6['query'][_0x0c79('0x66')](_0x0c79('0x4e'))){_0x507de2['limit']=qs['limit'](_0x1134a6[_0x0c79('0x47')][_0x0c79('0x32')]);_0x507de2[_0x0c79('0x34')]=qs[_0x0c79('0x34')](_0x1134a6['query']['offset']);}_0x507de2[_0x0c79('0x67')]=qs[_0x0c79('0x4f')](_0x1134a6[_0x0c79('0x47')][_0x0c79('0x4f')]);_0x507de2[_0x0c79('0x50')]=qs['filters'](_[_0x0c79('0x51')](_0x1134a6['query'],_0x388604[_0x0c79('0x49')]));_0x507de2[_0x0c79('0x50')][_0x0c79('0x68')]=_0x39439e['id'];if(_0x1134a6['query'][_0x0c79('0x54')]){_0x507de2['where']=_[_0x0c79('0x52')](_0x507de2[_0x0c79('0x50')],{'$or':_[_0x0c79('0x41')](_0x507de2[_0x0c79('0x4c')],function(_0x17519f){var _0x1b5bcb={};_0x1b5bcb[_0x17519f]={'$like':'%'+_0x1134a6[_0x0c79('0x47')][_0x0c79('0x54')]+'%'};return _0x1b5bcb;})});}_0x507de2=_[_0x0c79('0x52')]({},_0x507de2,_0x1134a6[_0x0c79('0x59')]);return db['UserChatQueue'][_0x0c79('0x56')](_0x507de2);}})[_0x0c79('0x22')](function(_0x9b128a){if(_0x9b128a){return db[_0x0c79('0x69')][_0x0c79('0x6a')]({'where':{'id':_[_0x0c79('0x41')](_0x9b128a,_0x0c79('0x6b')),'role':_0x0c79('0x6c')},'attributes':['id',_0x0c79('0x3f'),_0x0c79('0x6d'),_0x0c79('0x6e'),_0x0c79('0x6f')]});}})['then'](function(_0x2681f5){if(_0x2681f5){return{'count':_0x2681f5['count'],'rows':_[_0x0c79('0x41')](_0x2681f5['rows'],function(_0xe009ac){return{'membername':_0xe009ac[_0x0c79('0x3f')],'UserId':_0xe009ac['id'],'queue_name':_0x16ac0b[_0x0c79('0x3f')],'ChatQueueId':_0x16ac0b['id'],'interface':util['format'](_0x0c79('0x70'),_0x0c79('0x71'),_0xe009ac[_0x0c79('0x3f')]),'penalty':0x0,'paused':_0xe009ac['chatPause'],'createdAt':_0xe009ac['createdAt'],'updatedAt':_0xe009ac[_0x0c79('0x6e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x0c79('0x22')](respondWithFilteredResult(_0x5d7682,_0x507de2))[_0x0c79('0x2d')](handleError(_0x5d7682,null));};exports[_0x0c79('0x72')]=function(_0x214ce2,_0x55c65f,_0x243e7c){var _0x571bee={};var _0x37f3be={};var _0x445451;var _0x58a3a2;return db[_0x0c79('0x42')]['findOne']({'where':{'id':_0x214ce2[_0x0c79('0x58')]['id']}})[_0x0c79('0x22')](handleEntityNotFound(_0x55c65f,null))[_0x0c79('0x22')](function(_0x463d0c){if(_0x463d0c){_0x445451=_0x463d0c;_0x37f3be[_0x0c79('0x46')]=_['keys'](db['Team']['rawAttributes']);_0x37f3be[_0x0c79('0x47')]=_[_0x0c79('0x48')](_0x214ce2[_0x0c79('0x47')]);_0x37f3be['filters']=_['intersection'](_0x37f3be['model'],_0x37f3be[_0x0c79('0x47')]);_0x571bee[_0x0c79('0x4c')]=_['intersection'](_0x37f3be['model'],qs[_0x0c79('0x4b')](_0x214ce2['query']['fields']));_0x571bee['attributes']=_0x571bee[_0x0c79('0x4c')]['length']?_0x571bee[_0x0c79('0x4c')]:_0x37f3be[_0x0c79('0x46')];_0x571bee[_0x0c79('0x67')]=qs[_0x0c79('0x4f')](_0x214ce2[_0x0c79('0x47')]['sort']);_0x571bee[_0x0c79('0x50')]=qs[_0x0c79('0x49')](_[_0x0c79('0x51')](_0x214ce2['query'],_0x37f3be['filters']));if(_0x214ce2['query'][_0x0c79('0x54')]){_0x571bee['where']=_[_0x0c79('0x52')](_0x571bee['where'],{'$or':_[_0x0c79('0x41')](_0x571bee['attributes'],function(_0x5b1e61){var _0x57ddf2={};_0x57ddf2[_0x5b1e61]={'$like':'%'+_0x214ce2[_0x0c79('0x47')][_0x0c79('0x54')]+'%'};return _0x57ddf2;})});}_0x571bee=_[_0x0c79('0x52')]({},_0x571bee,_0x214ce2[_0x0c79('0x59')]);return _0x445451['getTeams'](_0x571bee);}})[_0x0c79('0x22')](function(_0x10a9d1){if(_0x10a9d1){_0x58a3a2=_0x10a9d1[_0x0c79('0x4d')];if(!_0x214ce2[_0x0c79('0x47')][_0x0c79('0x66')](_0x0c79('0x4e'))){_0x571bee['limit']=qs[_0x0c79('0x32')](_0x214ce2[_0x0c79('0x47')][_0x0c79('0x32')]);_0x571bee['offset']=qs[_0x0c79('0x34')](_0x214ce2['query'][_0x0c79('0x34')]);}return _0x445451[_0x0c79('0x72')](_0x571bee);}})[_0x0c79('0x22')](function(_0x23fae0){if(_0x23fae0){return _0x23fae0?{'count':_0x58a3a2,'rows':_0x23fae0}:null;}})[_0x0c79('0x22')](respondWithResult(_0x55c65f,null))['catch'](handleError(_0x55c65f,null));};exports['addTeams']=function(_0x45dc5c,_0x1aeb92,_0x38e7e4){var _0x3a21e8=_0x45dc5c['body'][_0x0c79('0x73')];return db[_0x0c79('0x74')][_0x0c79('0x56')]({'where':{'id':_0x3a21e8},'attributes':['id'],'include':[{'model':db[_0x0c79('0x69')],'as':_0x0c79('0x75'),'attributes':['id',_0x0c79('0x3f'),_0x0c79('0x76'),'voicePause',_0x0c79('0x77')],'raw':!![]}]})['then'](function(_0x1cc1fb){if(_0x1cc1fb){var _0x4b069b=_[_0x0c79('0x78')](_0x1cc1fb,function(_0x1e2e62){var _0x5eb0fa=_0x1e2e62[_0x0c79('0x3c')]({'plain':!![]});return _0x5eb0fa[_0x0c79('0x75')];});return db[_0x0c79('0x42')][_0x0c79('0x5a')]({'where':{'id':_0x45dc5c['params']['id']}})[_0x0c79('0x22')](function(_0x3bd859){return db[_0x0c79('0x79')][_0x0c79('0x7a')](function(_0x14ab85){return _0x3bd859['addTeams'](_0x3a21e8,{'transaction':_0x14ab85})[_0x0c79('0x22')](function(){return BPromise[_0x0c79('0x7b')](_0x4b069b,function(_0x4b72d2){return db[_0x0c79('0x65')][_0x0c79('0x7c')]({'where':{'UserId':_0x4b72d2['id'],'ChatQueueId':_0x45dc5c['params']['id']},'transaction':_0x14ab85});});})['then'](function(){_0x4b069b[_0x0c79('0x7d')](function(_0x46c2f0){socket[_0x0c79('0x7e')](_0x0c79('0x7f'),{'UserId':_0x46c2f0['id'],'ChatQueueId':_0x3bd859['id']});});});});});}})[_0x0c79('0x22')](respondWithStatusCode(_0x1aeb92,null))[_0x0c79('0x2d')](handleError(_0x1aeb92,null));};exports['removeTeams']=function(_0x13307b,_0x4358b0,_0x27f30c){return db['Team'][_0x0c79('0x56')]({'where':{'id':_0x13307b[_0x0c79('0x47')][_0x0c79('0x73')]},'attributes':['id'],'include':[{'model':db[_0x0c79('0x69')],'as':_0x0c79('0x75'),'attributes':['id'],'raw':!![]}]})[_0x0c79('0x22')](handleEntityNotFound(_0x4358b0,null))[_0x0c79('0x22')](function(_0x513156){var _0x5db569=_[_0x0c79('0x41')](_0x513156,'id');var _0x336396=[];var _0x977645=[];var _0x3fee06=squel[_0x0c79('0x80')]();_0x3fee06['field'](_0x0c79('0x81'))[_0x0c79('0x82')](_0x0c79('0x83'),'tq')[_0x0c79('0x84')](_0x0c79('0x85'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x0c79('0x50')](_0x0c79('0x86'),_0x13307b['params']['id']);for(var _0x1ddf0e=0x0;_0x1ddf0e<_0x513156[_0x0c79('0x4d')];_0x1ddf0e+=0x1){let _0x312cc8=_0x513156[_0x1ddf0e];for(var _0x44f28d=0x0;_0x44f28d<_0x312cc8['Agents'][_0x0c79('0x4d')];_0x44f28d+=0x1){let _0x3e00dc=_0x312cc8[_0x0c79('0x75')][_0x44f28d];var _0x161623=_0x3fee06[_0x0c79('0x87')]();_0x161623[_0x0c79('0x50')](_0x0c79('0x88'),_0x3e00dc['id']);_0x977645['push'](db[_0x0c79('0x79')][_0x0c79('0x47')](_0x161623[_0x0c79('0x89')](),{'type':db[_0x0c79('0x79')][_0x0c79('0x8a')]['SELECT']})[_0x0c79('0x22')](function(_0x511aed){if(_0x511aed[_0x0c79('0x4d')]===0x1){return _0x3e00dc['id'];}else{var _0x1b342d=_[_0x0c79('0x8b')](_[_0x0c79('0x41')](_0x511aed,'TeamId'),function(_0x1bc5fd){return _[_0x0c79('0x8c')](_0x5db569,_0x1bc5fd);});if(_0x1b342d){return _0x3e00dc['id'];}}}));}}return BPromise['all'](_0x977645)[_0x0c79('0x22')](function(_0x4b1dfc){_0x336396=_(_0x336396)[_0x0c79('0x8d')](_0x4b1dfc)[_0x0c79('0x8e')]()['value']();return db[_0x0c79('0x42')][_0x0c79('0x5a')]({'where':{'id':_0x13307b[_0x0c79('0x58')]['id']}})[_0x0c79('0x22')](function(_0x29cbef){return db['sequelize'][_0x0c79('0x7a')](function(_0x43847b){return _0x29cbef[_0x0c79('0x8f')](_0x13307b['query'][_0x0c79('0x73')],{'transaction':_0x43847b})[_0x0c79('0x22')](function(){if(!_['isEmpty'](_0x336396)){return _0x29cbef['removeAgents'](_0x336396,{'transaction':_0x43847b});}})[_0x0c79('0x22')](function(){_0x336396[_0x0c79('0x7d')](function(_0x36b8e1){socket[_0x0c79('0x7e')](_0x0c79('0x90'),{'UserId':_0x36b8e1,'ChatQueueId':_0x29cbef['id']});});});});});});})[_0x0c79('0x22')](respondWithStatusCode(_0x4358b0,null))[_0x0c79('0x2d')](handleError(_0x4358b0,null));};exports[_0x0c79('0x91')]=function(_0x151bd7,_0x24350e,_0x2b4089){return db[_0x0c79('0x42')]['find']({'where':{'id':_0x151bd7[_0x0c79('0x58')]['id']}})[_0x0c79('0x22')](handleEntityNotFound(_0x24350e,null))['then'](function(_0x43bdb1){if(_0x43bdb1){return _0x43bdb1[_0x0c79('0x91')](_0x151bd7[_0x0c79('0x5c')][_0x0c79('0x73')],_[_0x0c79('0x92')](_0x151bd7[_0x0c79('0x5c')],[_0x0c79('0x73'),'id'])||{})['spread'](function(_0x375e26){for(var _0x42a54f=0x0;_0x42a54f<_0x151bd7[_0x0c79('0x5c')][_0x0c79('0x73')][_0x0c79('0x4d')];_0x42a54f+=0x1){socket[_0x0c79('0x7e')]('userChatQueue:save',{'UserId':Number(_0x151bd7['body']['ids'][_0x42a54f]),'ChatQueueId':Number(_0x151bd7[_0x0c79('0x58')]['id'])});}return _0x375e26;});}})[_0x0c79('0x22')](respondWithResult(_0x24350e,null))[_0x0c79('0x2d')](handleError(_0x24350e,null));};exports['removeAgents']=function(_0x40fdc1,_0x13dbbc,_0x362e76){return db[_0x0c79('0x42')][_0x0c79('0x5a')]({'where':{'id':_0x40fdc1[_0x0c79('0x58')]['id']}})[_0x0c79('0x22')](handleEntityNotFound(_0x13dbbc,null))[_0x0c79('0x22')](function(_0x210495){if(_0x210495){return _0x210495[_0x0c79('0x93')](_0x40fdc1[_0x0c79('0x47')][_0x0c79('0x73')])['then'](function(){if(_[_0x0c79('0x94')](_0x40fdc1[_0x0c79('0x47')][_0x0c79('0x73')])){for(var _0x3312b4=0x0;_0x3312b4<_0x40fdc1['query'][_0x0c79('0x73')][_0x0c79('0x4d')];_0x3312b4+=0x1){socket[_0x0c79('0x7e')](_0x0c79('0x90'),{'UserId':Number(_0x40fdc1[_0x0c79('0x47')][_0x0c79('0x73')][_0x3312b4]),'ChatQueueId':Number(_0x40fdc1[_0x0c79('0x58')]['id'])});}}else{socket['emit'](_0x0c79('0x90'),{'UserId':Number(_0x40fdc1[_0x0c79('0x47')]['ids']),'ChatQueueId':Number(_0x40fdc1[_0x0c79('0x58')]['id'])});}});}})['then'](respondWithStatusCode(_0x13dbbc,null))[_0x0c79('0x2d')](handleError(_0x13dbbc,null));};exports[_0x0c79('0x95')]=function(_0x469e1f,_0x2d6635,_0x4de6d4){var _0x27ea8b={};var _0x351021={};var _0x3867ca;var _0x1ddcce;return db['ChatQueue'][_0x0c79('0x64')]({'where':{'id':_0x469e1f[_0x0c79('0x58')]['id']}})['then'](handleEntityNotFound(_0x2d6635,null))[_0x0c79('0x22')](function(_0x307055){if(_0x307055){_0x3867ca=_0x307055;_0x351021[_0x0c79('0x46')]=_[_0x0c79('0x48')](db[_0x0c79('0x69')]['rawAttributes']);_0x351021[_0x0c79('0x47')]=_['keys'](_0x469e1f['query']);_0x351021[_0x0c79('0x49')]=_[_0x0c79('0x4a')](_0x351021[_0x0c79('0x46')],_0x351021['query']);_0x27ea8b[_0x0c79('0x4c')]=_['intersection'](_0x351021[_0x0c79('0x46')],qs['fields'](_0x469e1f[_0x0c79('0x47')][_0x0c79('0x4b')]));_0x27ea8b[_0x0c79('0x4c')]=_0x27ea8b[_0x0c79('0x4c')][_0x0c79('0x4d')]?_0x27ea8b[_0x0c79('0x4c')]:_0x351021['model'];_0x27ea8b[_0x0c79('0x67')]=qs[_0x0c79('0x4f')](_0x469e1f[_0x0c79('0x47')]['sort']);_0x27ea8b[_0x0c79('0x50')]=qs['filters'](_[_0x0c79('0x51')](_0x469e1f[_0x0c79('0x47')],_0x351021[_0x0c79('0x49')]));if(_0x469e1f[_0x0c79('0x47')][_0x0c79('0x54')]){_0x27ea8b[_0x0c79('0x50')]=_['merge'](_0x27ea8b[_0x0c79('0x50')],{'$or':_[_0x0c79('0x41')](_0x27ea8b[_0x0c79('0x4c')],function(_0x35be6a){var _0x2f7e0b={};_0x2f7e0b[_0x35be6a]={'$like':'%'+_0x469e1f[_0x0c79('0x47')]['filter']+'%'};return _0x2f7e0b;})});}_0x27ea8b=_[_0x0c79('0x52')]({},_0x27ea8b,_0x469e1f[_0x0c79('0x59')]);return _0x3867ca[_0x0c79('0x95')](_0x27ea8b);}})[_0x0c79('0x22')](function(_0x40a354){if(_0x40a354){_0x1ddcce=_0x40a354[_0x0c79('0x4d')];if(!_0x469e1f[_0x0c79('0x47')][_0x0c79('0x66')]('nolimit')){_0x27ea8b[_0x0c79('0x32')]=qs[_0x0c79('0x32')](_0x469e1f[_0x0c79('0x47')][_0x0c79('0x32')]);_0x27ea8b[_0x0c79('0x34')]=qs[_0x0c79('0x34')](_0x469e1f[_0x0c79('0x47')]['offset']);}return _0x3867ca[_0x0c79('0x95')](_0x27ea8b);}})[_0x0c79('0x22')](function(_0x267407){if(_0x267407){return _0x267407?{'count':_0x1ddcce,'rows':_0x267407}:null;}})[_0x0c79('0x22')](respondWithResult(_0x2d6635,null))[_0x0c79('0x2d')](handleError(_0x2d6635,null));};