422169caa6a4874209ca8a5aba6d74d117ec893d
[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 _0x29d9=['getAgents','eml-format','rimraf','zip-dir','bluebird','util','path','sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatQueue.socket','register','jayson/promise','client','http','request','then','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','error','code','ChatQueue,\x20%s,\x20%s','message','result','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','save','update','destroy','get','ChatQueues','stack','name','send','index','map','ChatQueue','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','keys','includeAll','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','describe','findOne','hasOwnProperty','UserChatQueue','User','findAndCountAll','chatPause','format','%s/%s','SIP','createdAt','updatedAt','Team','getTeams','ids','Agents','voicePause','interface','flatMap','sequelize','addTeams','each','forEach','emit','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','every','TeamId','includes','union','compact','value','transaction','removeAgents','userChatQueue:remove','addAgents','spread','isArray'];(function(_0x5206fc,_0x2eec61){var _0x12acf6=function(_0x21c5aa){while(--_0x21c5aa){_0x5206fc['push'](_0x5206fc['shift']());}};_0x12acf6(++_0x2eec61);}(_0x29d9,0x97));var _0x929d=function(_0x57140b,_0xec482d){_0x57140b=_0x57140b-0x0;var _0x31cf97=_0x29d9[_0x57140b];return _0x31cf97;};'use strict';var emlformat=require(_0x929d('0x0'));var rimraf=require(_0x929d('0x1'));var zipdir=require(_0x929d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x929d('0x3'));var Mustache=require('mustache');var util=require(_0x929d('0x4'));var path=require(_0x929d('0x5'));var sox=require(_0x929d('0x6'));var csv=require('to-csv');var ejs=require(_0x929d('0x7'));var fs=require('fs');var fs_extra=require(_0x929d('0x8'));var _=require(_0x929d('0x9'));var squel=require('squel');var crypto=require(_0x929d('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x929d('0xb'));var toCsv=require(_0x929d('0xc'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x929d('0xd'));var authService=require(_0x929d('0xe'));var qs=require(_0x929d('0xf'));var as=require(_0x929d('0x10'));var hardwareService=require(_0x929d('0x11'));var logger=require(_0x929d('0x12'))('api');var utils=require(_0x929d('0x13'));var config=require(_0x929d('0x14'));var licenseUtil=require(_0x929d('0x15'));var db=require(_0x929d('0x16'))['db'];config[_0x929d('0x17')]=_['defaults'](config[_0x929d('0x17')],{'host':_0x929d('0x18'),'port':0x18eb});var socket=require(_0x929d('0x19'))(new Redis(config['redis']));require(_0x929d('0x1a'))[_0x929d('0x1b')](socket);var jayson=require(_0x929d('0x1c'));var client=jayson[_0x929d('0x1d')][_0x929d('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x5ae11b,_0x6d936c,_0x359ea0,_0x2c3ace){return new BPromise(function(_0x476f3a,_0xae187a){var _0x41d206=_0x2c3ace||client;return _0x41d206[_0x929d('0x1f')](_0x5ae11b,_0x359ea0)[_0x929d('0x20')](function(_0x1d4e92){logger['info']('ChatQueue,\x20%s,\x20%s',_0x6d936c,_0x929d('0x21'));logger[_0x929d('0x22')](_0x929d('0x23'),_0x6d936c,'request\x20sent',JSON['stringify'](_0x1d4e92));if(_0x1d4e92['error']){if(_0x1d4e92[_0x929d('0x24')][_0x929d('0x25')]===0x1f4){logger[_0x929d('0x24')](_0x929d('0x26'),_0x6d936c,_0x1d4e92[_0x929d('0x24')]['message']);return _0xae187a(_0x1d4e92[_0x929d('0x24')]['message']);}logger['error']('ChatQueue,\x20%s,\x20%s',_0x6d936c,_0x1d4e92['error']['message']);return _0x476f3a(_0x1d4e92['error'][_0x929d('0x27')]);}else{logger['info'](_0x929d('0x26'),_0x6d936c,'request\x20sent');_0x476f3a(_0x1d4e92[_0x929d('0x28')][_0x929d('0x27')]);}})['catch'](function(_0x3e5c47){logger[_0x929d('0x24')]('ChatQueue,\x20%s,\x20%s',_0x6d936c,_0x3e5c47);_0xae187a(_0x3e5c47);});});}function respondWithStatusCode(_0x58a584,_0x9f11a5){_0x9f11a5=_0x9f11a5||0xcc;return function(_0x49307f){if(_0x49307f){return _0x58a584[_0x929d('0x29')](_0x9f11a5);}return _0x58a584[_0x929d('0x2a')](_0x9f11a5)[_0x929d('0x2b')]();};}function respondWithResult(_0x5f4498,_0x120817){_0x120817=_0x120817||0xc8;return function(_0x374e8a){if(_0x374e8a){return _0x5f4498[_0x929d('0x2a')](_0x120817)[_0x929d('0x2c')](_0x374e8a);}};}function respondWithFilteredResult(_0x5e3f57,_0x56b7f2){return function(_0xaab893){if(_0xaab893){var _0x20cee8=typeof _0x56b7f2[_0x929d('0x2d')]===_0x929d('0x2e')&&typeof _0x56b7f2[_0x929d('0x2f')]===_0x929d('0x2e');var _0x5ecf17=_0xaab893[_0x929d('0x30')];var _0x3dc551=_0x20cee8?0x0:_0x56b7f2['offset'];var _0x4aef1b=_0x20cee8?_0xaab893[_0x929d('0x30')]:_0x56b7f2[_0x929d('0x2d')]+_0x56b7f2[_0x929d('0x2f')];var _0x1409d3;if(_0x4aef1b>=_0x5ecf17){_0x4aef1b=_0x5ecf17;_0x1409d3=0xc8;}else{_0x1409d3=0xce;}_0x5e3f57[_0x929d('0x2a')](_0x1409d3);return _0x5e3f57[_0x929d('0x31')](_0x929d('0x32'),_0x3dc551+'-'+_0x4aef1b+'/'+_0x5ecf17)[_0x929d('0x2c')](_0xaab893);}return null;};}function patchUpdates(_0x5940a0){return function(_0xb00b67){try{jsonpatch['apply'](_0xb00b67,_0x5940a0,!![]);}catch(_0x46d3ed){return BPromise['reject'](_0x46d3ed);}return _0xb00b67[_0x929d('0x33')]();};}function saveUpdates(_0x5e97ec,_0x352cfd){return function(_0x86d833){if(_0x86d833){return _0x86d833[_0x929d('0x34')](_0x5e97ec)[_0x929d('0x20')](function(_0x3e4b2b){return _0x3e4b2b;});}return null;};}function removeEntity(_0x4a0e1b,_0x44c0bb){return function(_0x948ad6){if(_0x948ad6){return _0x948ad6[_0x929d('0x35')]()['then'](function(){var _0x5649ad=_0x948ad6[_0x929d('0x36')]({'plain':!![]});var _0x296ae3=_0x929d('0x37');return db['UserProfileResource'][_0x929d('0x35')]({'where':{'type':_0x296ae3,'resourceId':_0x5649ad['id']}})[_0x929d('0x20')](function(){return _0x948ad6;});})[_0x929d('0x20')](function(){_0x4a0e1b[_0x929d('0x2a')](0xcc)[_0x929d('0x2b')]();});}};}function handleEntityNotFound(_0x264fa1,_0xc6eb1f){return function(_0x16429e){if(!_0x16429e){_0x264fa1[_0x929d('0x29')](0x194);}return _0x16429e;};}function handleError(_0x388202,_0x5865a6){_0x5865a6=_0x5865a6||0x1f4;return function(_0x1fbc9a){logger[_0x929d('0x24')](_0x1fbc9a[_0x929d('0x38')]);if(_0x1fbc9a[_0x929d('0x39')]){delete _0x1fbc9a[_0x929d('0x39')];}_0x388202[_0x929d('0x2a')](_0x5865a6)[_0x929d('0x3a')](_0x1fbc9a);};}exports[_0x929d('0x3b')]=function(_0x5edf8b,_0x3ac2d5){var _0x50c85c={},_0x6a6fca={},_0x57f095={'count':0x0,'rows':[]};var _0x4f0190=_[_0x929d('0x3c')](db[_0x929d('0x3d')][_0x929d('0x3e')],function(_0x3b04e3){return{'name':_0x3b04e3[_0x929d('0x3f')],'type':_0x3b04e3[_0x929d('0x40')][_0x929d('0x41')]};});_0x6a6fca['model']=_[_0x929d('0x3c')](_0x4f0190,_0x929d('0x39'));_0x6a6fca['query']=_['keys'](_0x5edf8b[_0x929d('0x42')]);_0x6a6fca[_0x929d('0x43')]=_[_0x929d('0x44')](_0x6a6fca[_0x929d('0x45')],_0x6a6fca['query']);_0x50c85c[_0x929d('0x46')]=_[_0x929d('0x44')](_0x6a6fca[_0x929d('0x45')],qs[_0x929d('0x47')](_0x5edf8b[_0x929d('0x42')][_0x929d('0x47')]));_0x50c85c['attributes']=_0x50c85c['attributes'][_0x929d('0x48')]?_0x50c85c[_0x929d('0x46')]:_0x6a6fca['model'];if(!_0x5edf8b[_0x929d('0x42')]['hasOwnProperty'](_0x929d('0x49'))){_0x50c85c[_0x929d('0x2f')]=qs['limit'](_0x5edf8b['query'][_0x929d('0x2f')]);_0x50c85c['offset']=qs[_0x929d('0x2d')](_0x5edf8b[_0x929d('0x42')][_0x929d('0x2d')]);}_0x50c85c[_0x929d('0x4a')]=qs[_0x929d('0x4b')](_0x5edf8b[_0x929d('0x42')][_0x929d('0x4b')]);_0x50c85c[_0x929d('0x4c')]=qs[_0x929d('0x43')](_[_0x929d('0x4d')](_0x5edf8b['query'],_0x6a6fca[_0x929d('0x43')]),_0x4f0190);if(_0x5edf8b[_0x929d('0x42')][_0x929d('0x4e')]){_0x50c85c[_0x929d('0x4c')]=_[_0x929d('0x4f')](_0x50c85c['where'],{'$or':_[_0x929d('0x3c')](_0x4f0190,function(_0x1b48ef){if(_0x1b48ef[_0x929d('0x40')]!==_0x929d('0x50')){var _0x40b3cf={};_0x40b3cf[_0x1b48ef[_0x929d('0x39')]]={'$like':'%'+_0x5edf8b['query'][_0x929d('0x4e')]+'%'};return _0x40b3cf;}})});}_0x50c85c=_[_0x929d('0x4f')]({},_0x50c85c,_0x5edf8b[_0x929d('0x51')]);var _0x4678b6={'where':_0x50c85c['where']};return db[_0x929d('0x3d')][_0x929d('0x30')](_0x4678b6)['then'](function(_0x37fb87){_0x57f095['count']=_0x37fb87;if(_0x5edf8b['query']['includeAll']){_0x50c85c[_0x929d('0x52')]=[{'all':!![]}];}return db[_0x929d('0x3d')][_0x929d('0x53')](_0x50c85c);})[_0x929d('0x20')](function(_0x2f8195){_0x57f095[_0x929d('0x54')]=_0x2f8195;return _0x57f095;})['then'](respondWithFilteredResult(_0x3ac2d5,_0x50c85c))[_0x929d('0x55')](handleError(_0x3ac2d5,null));};exports[_0x929d('0x56')]=function(_0x13c3e1,_0x124ce5){var _0xced04d={'raw':!![],'where':{'id':_0x13c3e1['params']['id']}},_0x53162e={};_0x53162e[_0x929d('0x45')]=_['keys'](db[_0x929d('0x3d')][_0x929d('0x3e')]);_0x53162e['query']=_[_0x929d('0x57')](_0x13c3e1[_0x929d('0x42')]);_0x53162e[_0x929d('0x43')]=_[_0x929d('0x44')](_0x53162e[_0x929d('0x45')],_0x53162e[_0x929d('0x42')]);_0xced04d[_0x929d('0x46')]=_['intersection'](_0x53162e[_0x929d('0x45')],qs[_0x929d('0x47')](_0x13c3e1[_0x929d('0x42')][_0x929d('0x47')]));_0xced04d[_0x929d('0x46')]=_0xced04d[_0x929d('0x46')][_0x929d('0x48')]?_0xced04d[_0x929d('0x46')]:_0x53162e[_0x929d('0x45')];if(_0x13c3e1[_0x929d('0x42')][_0x929d('0x58')]){_0xced04d[_0x929d('0x52')]=[{'all':!![]}];}_0xced04d=_[_0x929d('0x4f')]({},_0xced04d,_0x13c3e1[_0x929d('0x51')]);return db[_0x929d('0x3d')][_0x929d('0x59')](_0xced04d)[_0x929d('0x20')](handleEntityNotFound(_0x124ce5,null))['then'](respondWithResult(_0x124ce5,null))['catch'](handleError(_0x124ce5,null));};exports[_0x929d('0x5a')]=function(_0x2be488,_0x3630da){return db[_0x929d('0x3d')][_0x929d('0x5a')](_0x2be488['body'],{})['then'](function(_0x48c0ee){var _0x148ff0=_0x2be488['user'][_0x929d('0x36')]({'plain':!![]});if(!_0x148ff0)throw new Error(_0x929d('0x5b'));if(_0x148ff0[_0x929d('0x5c')]===_0x929d('0x5d')){var _0x38a11d=_0x48c0ee['get']({'plain':!![]});var _0x2448ee='ChatQueues';return db['UserProfileSection'][_0x929d('0x59')]({'where':{'name':_0x2448ee,'userProfileId':_0x148ff0[_0x929d('0x5e')]},'raw':!![]})[_0x929d('0x20')](function(_0x40f3eb){if(_0x40f3eb&&_0x40f3eb['autoAssociation']===0x0){return db[_0x929d('0x5f')][_0x929d('0x5a')]({'name':_0x38a11d[_0x929d('0x39')],'resourceId':_0x38a11d['id'],'type':_0x40f3eb[_0x929d('0x39')],'sectionId':_0x40f3eb['id']},{})[_0x929d('0x20')](function(){return _0x48c0ee;});}else{return _0x48c0ee;}})['catch'](function(_0x490dae){logger[_0x929d('0x24')](_0x929d('0x60'),_0x490dae);throw _0x490dae;});}return _0x48c0ee;})[_0x929d('0x20')](respondWithResult(_0x3630da,0xc9))[_0x929d('0x55')](handleError(_0x3630da,null));};exports[_0x929d('0x34')]=function(_0x71911d,_0x38486e){if(_0x71911d[_0x929d('0x61')]['id']){delete _0x71911d['body']['id'];}return db['ChatQueue'][_0x929d('0x59')]({'where':{'id':_0x71911d['params']['id']}})['then'](handleEntityNotFound(_0x38486e,null))[_0x929d('0x20')](saveUpdates(_0x71911d['body'],null))[_0x929d('0x20')](respondWithResult(_0x38486e,null))[_0x929d('0x55')](handleError(_0x38486e,null));};exports[_0x929d('0x35')]=function(_0x5cc4b6,_0x3e08d3){return db[_0x929d('0x3d')]['find']({'where':{'id':_0x5cc4b6[_0x929d('0x62')]['id']}})['then'](handleEntityNotFound(_0x3e08d3,null))[_0x929d('0x20')](removeEntity(_0x3e08d3,null))[_0x929d('0x55')](handleError(_0x3e08d3,null));};exports['describe']=function(_0x1a6e87,_0x4f8ad6){return db[_0x929d('0x3d')][_0x929d('0x63')]()[_0x929d('0x20')](respondWithResult(_0x4f8ad6,null))[_0x929d('0x55')](handleError(_0x4f8ad6,null));};exports['getMembers']=function(_0x27b628,_0x28eb26,_0x46709b){var _0x2ef4ac={'raw':!![],'where':{}},_0x1e24f8={},_0x2017a0;return db[_0x929d('0x3d')][_0x929d('0x64')]({'where':{'id':_0x27b628[_0x929d('0x62')]['id']}})[_0x929d('0x20')](handleEntityNotFound(_0x28eb26,null))['then'](function(_0x2d3763){if(_0x2d3763){_0x2017a0=_0x2d3763[_0x929d('0x36')]({'plain':!![]});_0x1e24f8[_0x929d('0x45')]=_['keys'](db['UserChatQueue'][_0x929d('0x3e')]);_0x1e24f8[_0x929d('0x42')]=_[_0x929d('0x57')](_0x27b628[_0x929d('0x42')]);_0x1e24f8[_0x929d('0x43')]=_[_0x929d('0x44')](_0x1e24f8['model'],_0x1e24f8[_0x929d('0x42')]);_0x2ef4ac[_0x929d('0x46')]=_[_0x929d('0x44')](_0x1e24f8[_0x929d('0x45')],qs[_0x929d('0x47')](_0x27b628[_0x929d('0x42')][_0x929d('0x47')]));_0x2ef4ac[_0x929d('0x46')]=_0x2ef4ac[_0x929d('0x46')][_0x929d('0x48')]?_0x2ef4ac[_0x929d('0x46')]:_0x1e24f8['model'];if(!_0x27b628['query'][_0x929d('0x65')]('nolimit')){_0x2ef4ac[_0x929d('0x2f')]=qs[_0x929d('0x2f')](_0x27b628[_0x929d('0x42')][_0x929d('0x2f')]);_0x2ef4ac[_0x929d('0x2d')]=qs['offset'](_0x27b628[_0x929d('0x42')][_0x929d('0x2d')]);}_0x2ef4ac[_0x929d('0x4a')]=qs[_0x929d('0x4b')](_0x27b628[_0x929d('0x42')][_0x929d('0x4b')]);_0x2ef4ac[_0x929d('0x4c')]=qs[_0x929d('0x43')](_['pick'](_0x27b628['query'],_0x1e24f8['filters']));_0x2ef4ac[_0x929d('0x4c')]['ChatQueueId']=_0x2d3763['id'];if(_0x27b628[_0x929d('0x42')][_0x929d('0x4e')]){_0x2ef4ac['where']=_[_0x929d('0x4f')](_0x2ef4ac[_0x929d('0x4c')],{'$or':_[_0x929d('0x3c')](_0x2ef4ac['attributes'],function(_0x2a9767){var _0x52e800={};_0x52e800[_0x2a9767]={'$like':'%'+_0x27b628[_0x929d('0x42')][_0x929d('0x4e')]+'%'};return _0x52e800;})});}_0x2ef4ac=_[_0x929d('0x4f')]({},_0x2ef4ac,_0x27b628[_0x929d('0x51')]);return db[_0x929d('0x66')][_0x929d('0x53')](_0x2ef4ac);}})[_0x929d('0x20')](function(_0x3a1199){if(_0x3a1199){return db[_0x929d('0x67')][_0x929d('0x68')]({'where':{'id':_[_0x929d('0x3c')](_0x3a1199,'UserId'),'role':'agent'},'attributes':['id',_0x929d('0x39'),_0x929d('0x69'),'updatedAt','createdAt']});}})[_0x929d('0x20')](function(_0x231ab8){if(_0x231ab8){return{'count':_0x231ab8[_0x929d('0x30')],'rows':_[_0x929d('0x3c')](_0x231ab8['rows'],function(_0x3404ce){return{'membername':_0x3404ce[_0x929d('0x39')],'UserId':_0x3404ce['id'],'queue_name':_0x2017a0['name'],'ChatQueueId':_0x2017a0['id'],'interface':util[_0x929d('0x6a')](_0x929d('0x6b'),_0x929d('0x6c'),_0x3404ce['name']),'penalty':0x0,'paused':_0x3404ce[_0x929d('0x69')],'createdAt':_0x3404ce[_0x929d('0x6d')],'updatedAt':_0x3404ce[_0x929d('0x6e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x929d('0x20')](respondWithFilteredResult(_0x28eb26,_0x2ef4ac))[_0x929d('0x55')](handleError(_0x28eb26,null));};exports['getTeams']=function(_0x1ff751,_0x2c3039,_0x32cd22){var _0x175005={};var _0x415868={};var _0x192d1d;var _0x349880;return db[_0x929d('0x3d')][_0x929d('0x64')]({'where':{'id':_0x1ff751[_0x929d('0x62')]['id']}})[_0x929d('0x20')](handleEntityNotFound(_0x2c3039,null))[_0x929d('0x20')](function(_0x2430f5){if(_0x2430f5){_0x192d1d=_0x2430f5;_0x415868[_0x929d('0x45')]=_['keys'](db[_0x929d('0x6f')][_0x929d('0x3e')]);_0x415868['query']=_[_0x929d('0x57')](_0x1ff751[_0x929d('0x42')]);_0x415868['filters']=_[_0x929d('0x44')](_0x415868[_0x929d('0x45')],_0x415868[_0x929d('0x42')]);_0x175005[_0x929d('0x46')]=_[_0x929d('0x44')](_0x415868[_0x929d('0x45')],qs[_0x929d('0x47')](_0x1ff751[_0x929d('0x42')][_0x929d('0x47')]));_0x175005[_0x929d('0x46')]=_0x175005[_0x929d('0x46')][_0x929d('0x48')]?_0x175005['attributes']:_0x415868[_0x929d('0x45')];_0x175005[_0x929d('0x4a')]=qs[_0x929d('0x4b')](_0x1ff751[_0x929d('0x42')]['sort']);_0x175005[_0x929d('0x4c')]=qs[_0x929d('0x43')](_['pick'](_0x1ff751[_0x929d('0x42')],_0x415868[_0x929d('0x43')]));if(_0x1ff751[_0x929d('0x42')][_0x929d('0x4e')]){_0x175005[_0x929d('0x4c')]=_['merge'](_0x175005[_0x929d('0x4c')],{'$or':_[_0x929d('0x3c')](_0x175005[_0x929d('0x46')],function(_0x292cda){var _0x40f259={};_0x40f259[_0x292cda]={'$like':'%'+_0x1ff751[_0x929d('0x42')]['filter']+'%'};return _0x40f259;})});}_0x175005=_[_0x929d('0x4f')]({},_0x175005,_0x1ff751[_0x929d('0x51')]);return _0x192d1d[_0x929d('0x70')](_0x175005);}})[_0x929d('0x20')](function(_0x4491a8){if(_0x4491a8){_0x349880=_0x4491a8['length'];if(!_0x1ff751[_0x929d('0x42')][_0x929d('0x65')]('nolimit')){_0x175005['limit']=qs[_0x929d('0x2f')](_0x1ff751[_0x929d('0x42')][_0x929d('0x2f')]);_0x175005[_0x929d('0x2d')]=qs[_0x929d('0x2d')](_0x1ff751[_0x929d('0x42')][_0x929d('0x2d')]);}return _0x192d1d['getTeams'](_0x175005);}})[_0x929d('0x20')](function(_0x243482){if(_0x243482){return _0x243482?{'count':_0x349880,'rows':_0x243482}:null;}})[_0x929d('0x20')](respondWithResult(_0x2c3039,null))[_0x929d('0x55')](handleError(_0x2c3039,null));};exports['addTeams']=function(_0x452393,_0x50d822,_0x554f05){var _0x18f8f9=_0x452393[_0x929d('0x61')][_0x929d('0x71')];return db[_0x929d('0x6f')][_0x929d('0x53')]({'where':{'id':_0x18f8f9},'attributes':['id'],'include':[{'model':db[_0x929d('0x67')],'as':_0x929d('0x72'),'attributes':['id',_0x929d('0x39'),'online',_0x929d('0x73'),_0x929d('0x74')],'raw':!![]}]})[_0x929d('0x20')](function(_0x337601){if(_0x337601){var _0x1d0ec=_[_0x929d('0x75')](_0x337601,function(_0xaf837b){var _0x20efde=_0xaf837b['get']({'plain':!![]});return _0x20efde[_0x929d('0x72')];});return db['ChatQueue'][_0x929d('0x59')]({'where':{'id':_0x452393[_0x929d('0x62')]['id']}})[_0x929d('0x20')](function(_0x55198f){return db[_0x929d('0x76')]['transaction'](function(_0x48b4d2){return _0x55198f[_0x929d('0x77')](_0x18f8f9,{'transaction':_0x48b4d2})[_0x929d('0x20')](function(){return BPromise[_0x929d('0x78')](_0x1d0ec,function(_0x18faa6){return db[_0x929d('0x66')]['findOrCreate']({'where':{'UserId':_0x18faa6['id'],'ChatQueueId':_0x452393['params']['id']},'transaction':_0x48b4d2});});})[_0x929d('0x20')](function(){_0x1d0ec[_0x929d('0x79')](function(_0x43eb73){socket[_0x929d('0x7a')](_0x929d('0x7b'),{'UserId':_0x43eb73['id'],'ChatQueueId':_0x55198f['id']});});});});});}})['then'](respondWithStatusCode(_0x50d822,null))['catch'](handleError(_0x50d822,null));};exports[_0x929d('0x7c')]=function(_0x539b34,_0x46d990,_0xdd4493){return db[_0x929d('0x6f')][_0x929d('0x53')]({'where':{'id':_0x539b34[_0x929d('0x42')][_0x929d('0x71')]},'attributes':['id'],'include':[{'model':db[_0x929d('0x67')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x929d('0x20')](handleEntityNotFound(_0x46d990,null))['then'](function(_0x58fac9){var _0x28956a=_[_0x929d('0x3c')](_0x58fac9,'id');var _0x3324c5=[];var _0x28af7c=[];var _0x399c20=squel[_0x929d('0x7d')]();_0x399c20[_0x929d('0x7e')](_0x929d('0x7f'))[_0x929d('0x80')]('team_has_chat_queues','tq')[_0x929d('0x81')](_0x929d('0x82'),'ut',_0x929d('0x83'))[_0x929d('0x4c')](_0x929d('0x84'),_0x539b34[_0x929d('0x62')]['id']);for(var _0x3e65e5=0x0;_0x3e65e5<_0x58fac9['length'];_0x3e65e5+=0x1){let _0x5155bf=_0x58fac9[_0x3e65e5];for(var _0x4cb19e=0x0;_0x4cb19e<_0x5155bf[_0x929d('0x72')][_0x929d('0x48')];_0x4cb19e+=0x1){let _0x56d8ed=_0x5155bf['Agents'][_0x4cb19e];var _0x1cf0ae=_0x399c20[_0x929d('0x85')]();_0x1cf0ae['where'](_0x929d('0x86'),_0x56d8ed['id']);_0x28af7c['push'](db['sequelize']['query'](_0x1cf0ae[_0x929d('0x87')](),{'type':db[_0x929d('0x76')][_0x929d('0x88')]['SELECT']})['then'](function(_0x3dda5e){if(_0x3dda5e[_0x929d('0x48')]===0x1){return _0x56d8ed['id'];}else{var _0x419164=_[_0x929d('0x89')](_[_0x929d('0x3c')](_0x3dda5e,_0x929d('0x8a')),function(_0x13d289){return _[_0x929d('0x8b')](_0x28956a,_0x13d289);});if(_0x419164){return _0x56d8ed['id'];}}}));}}return BPromise['all'](_0x28af7c)[_0x929d('0x20')](function(_0x4e1d42){_0x3324c5=_(_0x3324c5)[_0x929d('0x8c')](_0x4e1d42)[_0x929d('0x8d')]()[_0x929d('0x8e')]();return db[_0x929d('0x3d')][_0x929d('0x59')]({'where':{'id':_0x539b34[_0x929d('0x62')]['id']}})[_0x929d('0x20')](function(_0x2da6b4){return db[_0x929d('0x76')][_0x929d('0x8f')](function(_0x237bbe){return _0x2da6b4[_0x929d('0x7c')](_0x539b34[_0x929d('0x42')][_0x929d('0x71')],{'transaction':_0x237bbe})[_0x929d('0x20')](function(){if(!_['isEmpty'](_0x3324c5)){return _0x2da6b4[_0x929d('0x90')](_0x3324c5,{'transaction':_0x237bbe});}})[_0x929d('0x20')](function(){_0x3324c5[_0x929d('0x79')](function(_0x2b0d8b){socket['emit'](_0x929d('0x91'),{'UserId':_0x2b0d8b,'ChatQueueId':_0x2da6b4['id']});});});});});});})[_0x929d('0x20')](respondWithStatusCode(_0x46d990,null))[_0x929d('0x55')](handleError(_0x46d990,null));};exports[_0x929d('0x92')]=function(_0x10be8c,_0x5ca497,_0x1a38a9){return db['ChatQueue'][_0x929d('0x59')]({'where':{'id':_0x10be8c[_0x929d('0x62')]['id']}})[_0x929d('0x20')](handleEntityNotFound(_0x5ca497,null))[_0x929d('0x20')](function(_0x1eeb39){if(_0x1eeb39){return _0x1eeb39[_0x929d('0x92')](_0x10be8c['body'][_0x929d('0x71')],_['omit'](_0x10be8c[_0x929d('0x61')],[_0x929d('0x71'),'id'])||{})[_0x929d('0x93')](function(_0x1cb4da){for(var _0x59cf1f=0x0;_0x59cf1f<_0x10be8c['body'][_0x929d('0x71')][_0x929d('0x48')];_0x59cf1f+=0x1){socket[_0x929d('0x7a')](_0x929d('0x7b'),{'UserId':Number(_0x10be8c['body'][_0x929d('0x71')][_0x59cf1f]),'ChatQueueId':Number(_0x10be8c[_0x929d('0x62')]['id'])});}return _0x1cb4da;});}})[_0x929d('0x20')](respondWithResult(_0x5ca497,null))[_0x929d('0x55')](handleError(_0x5ca497,null));};exports['removeAgents']=function(_0xa81a6b,_0x5cc71b,_0x3780f2){return db['ChatQueue'][_0x929d('0x59')]({'where':{'id':_0xa81a6b[_0x929d('0x62')]['id']}})[_0x929d('0x20')](handleEntityNotFound(_0x5cc71b,null))[_0x929d('0x20')](function(_0xe5dd6){if(_0xe5dd6){return _0xe5dd6['removeAgents'](_0xa81a6b['query'][_0x929d('0x71')])['then'](function(){if(_[_0x929d('0x94')](_0xa81a6b['query'][_0x929d('0x71')])){for(var _0x494795=0x0;_0x494795<_0xa81a6b['query'][_0x929d('0x71')][_0x929d('0x48')];_0x494795+=0x1){socket['emit'](_0x929d('0x91'),{'UserId':Number(_0xa81a6b['query'][_0x929d('0x71')][_0x494795]),'ChatQueueId':Number(_0xa81a6b[_0x929d('0x62')]['id'])});}}else{socket[_0x929d('0x7a')]('userChatQueue:remove',{'UserId':Number(_0xa81a6b[_0x929d('0x42')][_0x929d('0x71')]),'ChatQueueId':Number(_0xa81a6b['params']['id'])});}});}})[_0x929d('0x20')](respondWithStatusCode(_0x5cc71b,null))[_0x929d('0x55')](handleError(_0x5cc71b,null));};exports[_0x929d('0x95')]=function(_0x37e823,_0x16069e,_0x23fee0){var _0x2cb7cf={};var _0x2bd387={};var _0x41b286;var _0x317fc6;return db[_0x929d('0x3d')][_0x929d('0x64')]({'where':{'id':_0x37e823[_0x929d('0x62')]['id']}})['then'](handleEntityNotFound(_0x16069e,null))['then'](function(_0x2c65cb){if(_0x2c65cb){_0x41b286=_0x2c65cb;_0x2bd387[_0x929d('0x45')]=_[_0x929d('0x57')](db[_0x929d('0x67')]['rawAttributes']);_0x2bd387[_0x929d('0x42')]=_[_0x929d('0x57')](_0x37e823['query']);_0x2bd387[_0x929d('0x43')]=_[_0x929d('0x44')](_0x2bd387[_0x929d('0x45')],_0x2bd387[_0x929d('0x42')]);_0x2cb7cf[_0x929d('0x46')]=_[_0x929d('0x44')](_0x2bd387[_0x929d('0x45')],qs['fields'](_0x37e823['query'][_0x929d('0x47')]));_0x2cb7cf[_0x929d('0x46')]=_0x2cb7cf['attributes']['length']?_0x2cb7cf[_0x929d('0x46')]:_0x2bd387[_0x929d('0x45')];_0x2cb7cf[_0x929d('0x4a')]=qs[_0x929d('0x4b')](_0x37e823['query']['sort']);_0x2cb7cf[_0x929d('0x4c')]=qs[_0x929d('0x43')](_['pick'](_0x37e823[_0x929d('0x42')],_0x2bd387[_0x929d('0x43')]));if(_0x37e823[_0x929d('0x42')]['filter']){_0x2cb7cf['where']=_[_0x929d('0x4f')](_0x2cb7cf[_0x929d('0x4c')],{'$or':_['map'](_0x2cb7cf['attributes'],function(_0x3c096f){var _0x2dbddc={};_0x2dbddc[_0x3c096f]={'$like':'%'+_0x37e823[_0x929d('0x42')]['filter']+'%'};return _0x2dbddc;})});}_0x2cb7cf=_[_0x929d('0x4f')]({},_0x2cb7cf,_0x37e823[_0x929d('0x51')]);return _0x41b286['getAgents'](_0x2cb7cf);}})[_0x929d('0x20')](function(_0x7a6eb3){if(_0x7a6eb3){_0x317fc6=_0x7a6eb3[_0x929d('0x48')];if(!_0x37e823[_0x929d('0x42')][_0x929d('0x65')]('nolimit')){_0x2cb7cf[_0x929d('0x2f')]=qs[_0x929d('0x2f')](_0x37e823[_0x929d('0x42')][_0x929d('0x2f')]);_0x2cb7cf[_0x929d('0x2d')]=qs['offset'](_0x37e823[_0x929d('0x42')][_0x929d('0x2d')]);}return _0x41b286['getAgents'](_0x2cb7cf);}})['then'](function(_0x3fb78c){if(_0x3fb78c){return _0x3fb78c?{'count':_0x317fc6,'rows':_0x3fb78c}:null;}})[_0x929d('0x20')](respondWithResult(_0x16069e,null))[_0x929d('0x55')](handleError(_0x16069e,null));};