Built motion from commit (unavailable).|2.5.31
[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 _0x109b=['create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','describe','getMembers','findOne','UserChatQueue','rawAttributes','fields','nolimit','order','ChatQueueId','UserId','agent','chatPause','createdAt','format','%s/%s','SIP','updatedAt','Team','getTeams','addTeams','Agents','voicePause','sequelize','transaction','each','findOrCreate','emit','userChatQueue:save','removeTeams','ids','User','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','isEmpty','removeAgents','forEach','userChatQueue:remove','addAgents','omit','spread','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','ioredis','../../config/license/hardware','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./chatQueue.socket','register','jayson/promise','client','http','request','then','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','ChatQueue,\x20%s,\x20%s','info','result','catch','sendStatus','end','status','undefined','limit','offset','count','Content-Range','json','apply','reject','save','update','destroy','ChatQueues','UserProfileResource','stack','name','send','index','map','ChatQueue','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','sort','where','pick','filter','merge','type','VIRTUAL','include','findAll','rows','show','params','includeAll','options','find'];(function(_0x337ca2,_0x2de3ec){var _0x160507=function(_0x1f0407){while(--_0x1f0407){_0x337ca2['push'](_0x337ca2['shift']());}};_0x160507(++_0x2de3ec);}(_0x109b,0x175));var _0xb109=function(_0x5bf20a,_0x32abee){_0x5bf20a=_0x5bf20a-0x0;var _0x3dc5d2=_0x109b[_0x5bf20a];return _0x3dc5d2;};'use strict';var emlformat=require(_0xb109('0x0'));var rimraf=require(_0xb109('0x1'));var zipdir=require(_0xb109('0x2'));var jsonpatch=require(_0xb109('0x3'));var rp=require(_0xb109('0x4'));var moment=require(_0xb109('0x5'));var BPromise=require(_0xb109('0x6'));var Mustache=require('mustache');var util=require(_0xb109('0x7'));var path=require(_0xb109('0x8'));var sox=require(_0xb109('0x9'));var csv=require(_0xb109('0xa'));var ejs=require(_0xb109('0xb'));var fs=require('fs');var fs_extra=require(_0xb109('0xc'));var _=require('lodash');var squel=require(_0xb109('0xd'));var crypto=require(_0xb109('0xe'));var jsforce=require(_0xb109('0xf'));var deskjs=require(_0xb109('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb109('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb109('0x12'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xb109('0x13'));var licenseUtil=require(_0xb109('0x14'));var db=require('../../mysqldb')['db'];config[_0xb109('0x15')]=_[_0xb109('0x16')](config[_0xb109('0x15')],{'host':_0xb109('0x17'),'port':0x18eb});var socket=require(_0xb109('0x18'))(new Redis(config[_0xb109('0x15')]));require(_0xb109('0x19'))[_0xb109('0x1a')](socket);var jayson=require(_0xb109('0x1b'));var client=jayson[_0xb109('0x1c')][_0xb109('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x3eff49,_0x1feefa,_0x27f0af,_0x85080f){return new BPromise(function(_0x19208b,_0x408bec){var _0x2ea5ed=_0x85080f||client;return _0x2ea5ed[_0xb109('0x1e')](_0x3eff49,_0x27f0af)[_0xb109('0x1f')](function(_0xd90820){logger['info']('ChatQueue,\x20%s,\x20%s',_0x1feefa,_0xb109('0x20'));logger[_0xb109('0x21')](_0xb109('0x22'),_0x1feefa,'request\x20sent',JSON[_0xb109('0x23')](_0xd90820));if(_0xd90820[_0xb109('0x24')]){if(_0xd90820['error'][_0xb109('0x25')]===0x1f4){logger[_0xb109('0x24')]('ChatQueue,\x20%s,\x20%s',_0x1feefa,_0xd90820[_0xb109('0x24')][_0xb109('0x26')]);return _0x408bec(_0xd90820[_0xb109('0x24')][_0xb109('0x26')]);}logger[_0xb109('0x24')](_0xb109('0x27'),_0x1feefa,_0xd90820[_0xb109('0x24')][_0xb109('0x26')]);return _0x19208b(_0xd90820['error'][_0xb109('0x26')]);}else{logger[_0xb109('0x28')](_0xb109('0x27'),_0x1feefa,_0xb109('0x20'));_0x19208b(_0xd90820[_0xb109('0x29')][_0xb109('0x26')]);}})[_0xb109('0x2a')](function(_0x4b5ee9){logger[_0xb109('0x24')](_0xb109('0x27'),_0x1feefa,_0x4b5ee9);_0x408bec(_0x4b5ee9);});});}function respondWithStatusCode(_0x4ed63c,_0x1f5366){_0x1f5366=_0x1f5366||0xcc;return function(_0x2c7cf6){if(_0x2c7cf6){return _0x4ed63c[_0xb109('0x2b')](_0x1f5366);}return _0x4ed63c['status'](_0x1f5366)[_0xb109('0x2c')]();};}function respondWithResult(_0x22fe35,_0x15d1dc){_0x15d1dc=_0x15d1dc||0xc8;return function(_0x3af43c){if(_0x3af43c){return _0x22fe35[_0xb109('0x2d')](_0x15d1dc)['json'](_0x3af43c);}};}function respondWithFilteredResult(_0x562b18,_0x2e7fa7){return function(_0x5d9ce2){if(_0x5d9ce2){var _0x23905d=typeof _0x2e7fa7['offset']===_0xb109('0x2e')&&typeof _0x2e7fa7[_0xb109('0x2f')]===_0xb109('0x2e');var _0x3faa26=_0x5d9ce2['count'];var _0x4e4081=_0x23905d?0x0:_0x2e7fa7[_0xb109('0x30')];var _0xe5bc9c=_0x23905d?_0x5d9ce2[_0xb109('0x31')]:_0x2e7fa7[_0xb109('0x30')]+_0x2e7fa7['limit'];var _0x529e2e;if(_0xe5bc9c>=_0x3faa26){_0xe5bc9c=_0x3faa26;_0x529e2e=0xc8;}else{_0x529e2e=0xce;}_0x562b18['status'](_0x529e2e);return _0x562b18['set'](_0xb109('0x32'),_0x4e4081+'-'+_0xe5bc9c+'/'+_0x3faa26)[_0xb109('0x33')](_0x5d9ce2);}return null;};}function patchUpdates(_0x3e5152){return function(_0x2f8e24){try{jsonpatch[_0xb109('0x34')](_0x2f8e24,_0x3e5152,!![]);}catch(_0x4b6c9f){return BPromise[_0xb109('0x35')](_0x4b6c9f);}return _0x2f8e24[_0xb109('0x36')]();};}function saveUpdates(_0x4a19f3,_0x22b1c6){return function(_0x1a346d){if(_0x1a346d){return _0x1a346d[_0xb109('0x37')](_0x4a19f3)[_0xb109('0x1f')](function(_0x450786){return _0x450786;});}return null;};}function removeEntity(_0x40346b,_0x550a41){return function(_0x45574){if(_0x45574){return _0x45574[_0xb109('0x38')]()[_0xb109('0x1f')](function(){var _0x5a1b01=_0x45574['get']({'plain':!![]});var _0x535b=_0xb109('0x39');return db[_0xb109('0x3a')][_0xb109('0x38')]({'where':{'type':_0x535b,'resourceId':_0x5a1b01['id']}})[_0xb109('0x1f')](function(){return _0x45574;});})[_0xb109('0x1f')](function(){_0x40346b[_0xb109('0x2d')](0xcc)[_0xb109('0x2c')]();});}};}function handleEntityNotFound(_0xdaaabb,_0x17bad4){return function(_0x1b0857){if(!_0x1b0857){_0xdaaabb[_0xb109('0x2b')](0x194);}return _0x1b0857;};}function handleError(_0x4a81c1,_0x5dddd5){_0x5dddd5=_0x5dddd5||0x1f4;return function(_0x44f195){logger['error'](_0x44f195[_0xb109('0x3b')]);if(_0x44f195[_0xb109('0x3c')]){delete _0x44f195[_0xb109('0x3c')];}_0x4a81c1[_0xb109('0x2d')](_0x5dddd5)[_0xb109('0x3d')](_0x44f195);};}exports[_0xb109('0x3e')]=function(_0x1e6fbd,_0x3918c9){var _0x20ed0d={},_0xc8d813={},_0x5adde9={'count':0x0,'rows':[]};var _0x4ed04d=_[_0xb109('0x3f')](db[_0xb109('0x40')]['rawAttributes'],function(_0xec8acb){return{'name':_0xec8acb['fieldName'],'type':_0xec8acb['type'][_0xb109('0x41')]};});_0xc8d813[_0xb109('0x42')]=_['map'](_0x4ed04d,_0xb109('0x3c'));_0xc8d813[_0xb109('0x43')]=_[_0xb109('0x44')](_0x1e6fbd[_0xb109('0x43')]);_0xc8d813[_0xb109('0x45')]=_[_0xb109('0x46')](_0xc8d813['model'],_0xc8d813['query']);_0x20ed0d[_0xb109('0x47')]=_[_0xb109('0x46')](_0xc8d813[_0xb109('0x42')],qs['fields'](_0x1e6fbd['query']['fields']));_0x20ed0d['attributes']=_0x20ed0d[_0xb109('0x47')][_0xb109('0x48')]?_0x20ed0d['attributes']:_0xc8d813[_0xb109('0x42')];if(!_0x1e6fbd[_0xb109('0x43')][_0xb109('0x49')]('nolimit')){_0x20ed0d[_0xb109('0x2f')]=qs[_0xb109('0x2f')](_0x1e6fbd[_0xb109('0x43')][_0xb109('0x2f')]);_0x20ed0d[_0xb109('0x30')]=qs[_0xb109('0x30')](_0x1e6fbd['query'][_0xb109('0x30')]);}_0x20ed0d['order']=qs[_0xb109('0x4a')](_0x1e6fbd[_0xb109('0x43')][_0xb109('0x4a')]);_0x20ed0d[_0xb109('0x4b')]=qs[_0xb109('0x45')](_[_0xb109('0x4c')](_0x1e6fbd['query'],_0xc8d813[_0xb109('0x45')]),_0x4ed04d);if(_0x1e6fbd['query'][_0xb109('0x4d')]){_0x20ed0d['where']=_[_0xb109('0x4e')](_0x20ed0d[_0xb109('0x4b')],{'$or':_[_0xb109('0x3f')](_0x4ed04d,function(_0x1d58a4){if(_0x1d58a4[_0xb109('0x4f')]!==_0xb109('0x50')){var _0x26ef5a={};_0x26ef5a[_0x1d58a4[_0xb109('0x3c')]]={'$like':'%'+_0x1e6fbd[_0xb109('0x43')][_0xb109('0x4d')]+'%'};return _0x26ef5a;}})});}_0x20ed0d=_[_0xb109('0x4e')]({},_0x20ed0d,_0x1e6fbd['options']);var _0x3be9e2={'where':_0x20ed0d['where']};return db[_0xb109('0x40')]['count'](_0x3be9e2)[_0xb109('0x1f')](function(_0x3963dd){_0x5adde9[_0xb109('0x31')]=_0x3963dd;if(_0x1e6fbd['query']['includeAll']){_0x20ed0d[_0xb109('0x51')]=[{'all':!![]}];}return db[_0xb109('0x40')][_0xb109('0x52')](_0x20ed0d);})['then'](function(_0x142ae3){_0x5adde9[_0xb109('0x53')]=_0x142ae3;return _0x5adde9;})[_0xb109('0x1f')](respondWithFilteredResult(_0x3918c9,_0x20ed0d))[_0xb109('0x2a')](handleError(_0x3918c9,null));};exports[_0xb109('0x54')]=function(_0x212c94,_0x4b4d82){var _0x1ef719={'raw':!![],'where':{'id':_0x212c94[_0xb109('0x55')]['id']}},_0x26f3c7={};_0x26f3c7[_0xb109('0x42')]=_['keys'](db[_0xb109('0x40')]['rawAttributes']);_0x26f3c7[_0xb109('0x43')]=_[_0xb109('0x44')](_0x212c94[_0xb109('0x43')]);_0x26f3c7['filters']=_['intersection'](_0x26f3c7[_0xb109('0x42')],_0x26f3c7['query']);_0x1ef719[_0xb109('0x47')]=_[_0xb109('0x46')](_0x26f3c7[_0xb109('0x42')],qs['fields'](_0x212c94[_0xb109('0x43')]['fields']));_0x1ef719['attributes']=_0x1ef719[_0xb109('0x47')][_0xb109('0x48')]?_0x1ef719['attributes']:_0x26f3c7[_0xb109('0x42')];if(_0x212c94[_0xb109('0x43')][_0xb109('0x56')]){_0x1ef719[_0xb109('0x51')]=[{'all':!![]}];}_0x1ef719=_['merge']({},_0x1ef719,_0x212c94[_0xb109('0x57')]);return db['ChatQueue'][_0xb109('0x58')](_0x1ef719)[_0xb109('0x1f')](handleEntityNotFound(_0x4b4d82,null))[_0xb109('0x1f')](respondWithResult(_0x4b4d82,null))[_0xb109('0x2a')](handleError(_0x4b4d82,null));};exports['create']=function(_0x53ab18,_0x481121){return db[_0xb109('0x40')][_0xb109('0x59')](_0x53ab18[_0xb109('0x5a')],{})['then'](function(_0x515c98){var _0x4f72ed=_0x53ab18[_0xb109('0x5b')][_0xb109('0x5c')]({'plain':!![]});if(!_0x4f72ed)throw new Error(_0xb109('0x5d'));if(_0x4f72ed['role']===_0xb109('0x5b')){var _0x55a49d=_0x515c98[_0xb109('0x5c')]({'plain':!![]});var _0x15aeb2=_0xb109('0x39');return db['UserProfileSection'][_0xb109('0x58')]({'where':{'name':_0x15aeb2,'userProfileId':_0x4f72ed[_0xb109('0x5e')]},'raw':!![]})[_0xb109('0x1f')](function(_0x384d18){if(_0x384d18&&_0x384d18[_0xb109('0x5f')]===0x0){return db['UserProfileResource']['create']({'name':_0x55a49d[_0xb109('0x3c')],'resourceId':_0x55a49d['id'],'type':_0x384d18[_0xb109('0x3c')],'sectionId':_0x384d18['id']},{})['then'](function(){return _0x515c98;});}else{return _0x515c98;}})[_0xb109('0x2a')](function(_0xaa27c0){logger[_0xb109('0x24')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xaa27c0);throw _0xaa27c0;});}return _0x515c98;})[_0xb109('0x1f')](respondWithResult(_0x481121,0xc9))[_0xb109('0x2a')](handleError(_0x481121,null));};exports[_0xb109('0x37')]=function(_0x1d2a70,_0xdad62a){if(_0x1d2a70[_0xb109('0x5a')]['id']){delete _0x1d2a70[_0xb109('0x5a')]['id'];}return db[_0xb109('0x40')]['find']({'where':{'id':_0x1d2a70[_0xb109('0x55')]['id']}})[_0xb109('0x1f')](handleEntityNotFound(_0xdad62a,null))['then'](saveUpdates(_0x1d2a70[_0xb109('0x5a')],null))[_0xb109('0x1f')](respondWithResult(_0xdad62a,null))[_0xb109('0x2a')](handleError(_0xdad62a,null));};exports[_0xb109('0x38')]=function(_0x4cfc24,_0x5dc10c){return db['ChatQueue'][_0xb109('0x58')]({'where':{'id':_0x4cfc24['params']['id']}})['then'](handleEntityNotFound(_0x5dc10c,null))['then'](removeEntity(_0x5dc10c,null))[_0xb109('0x2a')](handleError(_0x5dc10c,null));};exports[_0xb109('0x60')]=function(_0x9cf5da,_0x3e73c7){return db[_0xb109('0x40')][_0xb109('0x60')]()[_0xb109('0x1f')](respondWithResult(_0x3e73c7,null))['catch'](handleError(_0x3e73c7,null));};exports[_0xb109('0x61')]=function(_0x51d99c,_0x1a879c,_0x5950d8){var _0x3ce811={'raw':!![],'where':{}},_0x3be5c1={},_0x41e68f;return db['ChatQueue'][_0xb109('0x62')]({'where':{'id':_0x51d99c[_0xb109('0x55')]['id']}})['then'](handleEntityNotFound(_0x1a879c,null))[_0xb109('0x1f')](function(_0x536abd){if(_0x536abd){_0x41e68f=_0x536abd[_0xb109('0x5c')]({'plain':!![]});_0x3be5c1[_0xb109('0x42')]=_[_0xb109('0x44')](db[_0xb109('0x63')][_0xb109('0x64')]);_0x3be5c1[_0xb109('0x43')]=_[_0xb109('0x44')](_0x51d99c['query']);_0x3be5c1[_0xb109('0x45')]=_['intersection'](_0x3be5c1[_0xb109('0x42')],_0x3be5c1[_0xb109('0x43')]);_0x3ce811[_0xb109('0x47')]=_[_0xb109('0x46')](_0x3be5c1[_0xb109('0x42')],qs[_0xb109('0x65')](_0x51d99c[_0xb109('0x43')]['fields']));_0x3ce811['attributes']=_0x3ce811[_0xb109('0x47')][_0xb109('0x48')]?_0x3ce811[_0xb109('0x47')]:_0x3be5c1['model'];if(!_0x51d99c[_0xb109('0x43')]['hasOwnProperty'](_0xb109('0x66'))){_0x3ce811['limit']=qs[_0xb109('0x2f')](_0x51d99c['query'][_0xb109('0x2f')]);_0x3ce811[_0xb109('0x30')]=qs[_0xb109('0x30')](_0x51d99c[_0xb109('0x43')]['offset']);}_0x3ce811[_0xb109('0x67')]=qs[_0xb109('0x4a')](_0x51d99c[_0xb109('0x43')]['sort']);_0x3ce811[_0xb109('0x4b')]=qs[_0xb109('0x45')](_[_0xb109('0x4c')](_0x51d99c[_0xb109('0x43')],_0x3be5c1[_0xb109('0x45')]));_0x3ce811[_0xb109('0x4b')][_0xb109('0x68')]=_0x536abd['id'];if(_0x51d99c[_0xb109('0x43')]['filter']){_0x3ce811[_0xb109('0x4b')]=_['merge'](_0x3ce811[_0xb109('0x4b')],{'$or':_[_0xb109('0x3f')](_0x3ce811['attributes'],function(_0x104e78){var _0x569b60={};_0x569b60[_0x104e78]={'$like':'%'+_0x51d99c[_0xb109('0x43')][_0xb109('0x4d')]+'%'};return _0x569b60;})});}_0x3ce811=_['merge']({},_0x3ce811,_0x51d99c['options']);return db['UserChatQueue']['findAll'](_0x3ce811);}})[_0xb109('0x1f')](function(_0x5a898c){if(_0x5a898c){return db['User']['findAndCountAll']({'where':{'id':_[_0xb109('0x3f')](_0x5a898c,_0xb109('0x69')),'role':_0xb109('0x6a')},'attributes':['id',_0xb109('0x3c'),_0xb109('0x6b'),'updatedAt',_0xb109('0x6c')]});}})[_0xb109('0x1f')](function(_0x28c2fa){if(_0x28c2fa){return{'count':_0x28c2fa[_0xb109('0x31')],'rows':_['map'](_0x28c2fa[_0xb109('0x53')],function(_0x8bcac6){return{'membername':_0x8bcac6[_0xb109('0x3c')],'UserId':_0x8bcac6['id'],'queue_name':_0x41e68f[_0xb109('0x3c')],'ChatQueueId':_0x41e68f['id'],'interface':util[_0xb109('0x6d')](_0xb109('0x6e'),_0xb109('0x6f'),_0x8bcac6[_0xb109('0x3c')]),'penalty':0x0,'paused':_0x8bcac6[_0xb109('0x6b')],'createdAt':_0x8bcac6['createdAt'],'updatedAt':_0x8bcac6[_0xb109('0x70')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xb109('0x1f')](respondWithFilteredResult(_0x1a879c,_0x3ce811))[_0xb109('0x2a')](handleError(_0x1a879c,null));};exports['getTeams']=function(_0x4590b3,_0x52b611,_0x3cc4d9){var _0x202cea={};var _0x34eef5={};var _0x43153b;var _0x55b371;return db['ChatQueue'][_0xb109('0x62')]({'where':{'id':_0x4590b3[_0xb109('0x55')]['id']}})[_0xb109('0x1f')](handleEntityNotFound(_0x52b611,null))[_0xb109('0x1f')](function(_0x16f529){if(_0x16f529){_0x43153b=_0x16f529;_0x34eef5[_0xb109('0x42')]=_[_0xb109('0x44')](db[_0xb109('0x71')][_0xb109('0x64')]);_0x34eef5['query']=_['keys'](_0x4590b3[_0xb109('0x43')]);_0x34eef5[_0xb109('0x45')]=_['intersection'](_0x34eef5[_0xb109('0x42')],_0x34eef5['query']);_0x202cea[_0xb109('0x47')]=_[_0xb109('0x46')](_0x34eef5[_0xb109('0x42')],qs[_0xb109('0x65')](_0x4590b3[_0xb109('0x43')][_0xb109('0x65')]));_0x202cea['attributes']=_0x202cea[_0xb109('0x47')][_0xb109('0x48')]?_0x202cea[_0xb109('0x47')]:_0x34eef5['model'];_0x202cea[_0xb109('0x67')]=qs[_0xb109('0x4a')](_0x4590b3['query'][_0xb109('0x4a')]);_0x202cea[_0xb109('0x4b')]=qs[_0xb109('0x45')](_[_0xb109('0x4c')](_0x4590b3[_0xb109('0x43')],_0x34eef5[_0xb109('0x45')]));if(_0x4590b3[_0xb109('0x43')][_0xb109('0x4d')]){_0x202cea[_0xb109('0x4b')]=_[_0xb109('0x4e')](_0x202cea['where'],{'$or':_[_0xb109('0x3f')](_0x202cea[_0xb109('0x47')],function(_0x4779c3){var _0x4ac555={};_0x4ac555[_0x4779c3]={'$like':'%'+_0x4590b3[_0xb109('0x43')]['filter']+'%'};return _0x4ac555;})});}_0x202cea=_[_0xb109('0x4e')]({},_0x202cea,_0x4590b3['options']);return _0x43153b[_0xb109('0x72')](_0x202cea);}})[_0xb109('0x1f')](function(_0x17fee1){if(_0x17fee1){_0x55b371=_0x17fee1[_0xb109('0x48')];if(!_0x4590b3[_0xb109('0x43')][_0xb109('0x49')](_0xb109('0x66'))){_0x202cea['limit']=qs[_0xb109('0x2f')](_0x4590b3[_0xb109('0x43')][_0xb109('0x2f')]);_0x202cea['offset']=qs[_0xb109('0x30')](_0x4590b3['query'][_0xb109('0x30')]);}return _0x43153b[_0xb109('0x72')](_0x202cea);}})[_0xb109('0x1f')](function(_0x1a6bb7){if(_0x1a6bb7){return _0x1a6bb7?{'count':_0x55b371,'rows':_0x1a6bb7}:null;}})[_0xb109('0x1f')](respondWithResult(_0x52b611,null))[_0xb109('0x2a')](handleError(_0x52b611,null));};exports[_0xb109('0x73')]=function(_0x317fb6,_0x30e473,_0x300bd9){var _0x458b59=_0x317fb6[_0xb109('0x5a')]['ids'];return db[_0xb109('0x71')][_0xb109('0x52')]({'where':{'id':_0x458b59},'attributes':['id'],'include':[{'model':db['User'],'as':_0xb109('0x74'),'attributes':['id','name','online',_0xb109('0x75'),'interface'],'raw':!![]}]})[_0xb109('0x1f')](function(_0x39e634){if(_0x39e634){var _0x2b5892=_['flatMap'](_0x39e634,function(_0x28d80e){var _0x5493b2=_0x28d80e[_0xb109('0x5c')]({'plain':!![]});return _0x5493b2['Agents'];});return db[_0xb109('0x40')]['find']({'where':{'id':_0x317fb6[_0xb109('0x55')]['id']}})[_0xb109('0x1f')](function(_0x13d451){return db[_0xb109('0x76')][_0xb109('0x77')](function(_0x59663f){return _0x13d451[_0xb109('0x73')](_0x458b59,{'transaction':_0x59663f})[_0xb109('0x1f')](function(){return BPromise[_0xb109('0x78')](_0x2b5892,function(_0x5493de){return db[_0xb109('0x63')][_0xb109('0x79')]({'where':{'UserId':_0x5493de['id'],'ChatQueueId':_0x317fb6[_0xb109('0x55')]['id']},'transaction':_0x59663f});});})[_0xb109('0x1f')](function(){_0x2b5892['forEach'](function(_0x4e122d){socket[_0xb109('0x7a')](_0xb109('0x7b'),{'UserId':_0x4e122d['id'],'ChatQueueId':_0x13d451['id']});});});});});}})[_0xb109('0x1f')](respondWithStatusCode(_0x30e473,null))[_0xb109('0x2a')](handleError(_0x30e473,null));};exports[_0xb109('0x7c')]=function(_0x19c5af,_0x961ab8,_0x367d09){return db['Team'][_0xb109('0x52')]({'where':{'id':_0x19c5af['query'][_0xb109('0x7d')]},'attributes':['id'],'include':[{'model':db[_0xb109('0x7e')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xb109('0x1f')](handleEntityNotFound(_0x961ab8,null))['then'](function(_0x342d1d){var _0x15a98a=_['map'](_0x342d1d,'id');var _0x45fcd5=[];var _0x7ff6c2=[];var _0x78d3b3=squel['select']();_0x78d3b3['field'](_0xb109('0x7f'))[_0xb109('0x80')](_0xb109('0x81'),'tq')[_0xb109('0x82')](_0xb109('0x83'),'ut',_0xb109('0x84'))[_0xb109('0x4b')](_0xb109('0x85'),_0x19c5af['params']['id']);for(var _0x4b8eda=0x0;_0x4b8eda<_0x342d1d[_0xb109('0x48')];_0x4b8eda+=0x1){let _0x7912ac=_0x342d1d[_0x4b8eda];for(var _0x21e248=0x0;_0x21e248<_0x7912ac['Agents'][_0xb109('0x48')];_0x21e248+=0x1){let _0x22d033=_0x7912ac[_0xb109('0x74')][_0x21e248];var _0x4c081b=_0x78d3b3[_0xb109('0x86')]();_0x4c081b[_0xb109('0x4b')](_0xb109('0x87'),_0x22d033['id']);_0x7ff6c2['push'](db['sequelize'][_0xb109('0x43')](_0x4c081b[_0xb109('0x88')](),{'type':db[_0xb109('0x76')][_0xb109('0x89')][_0xb109('0x8a')]})['then'](function(_0x471545){if(_0x471545['length']===0x1){return _0x22d033['id'];}else{var _0x5d37ce=_[_0xb109('0x8b')](_['map'](_0x471545,_0xb109('0x8c')),function(_0x2c49fb){return _[_0xb109('0x8d')](_0x15a98a,_0x2c49fb);});if(_0x5d37ce){return _0x22d033['id'];}}}));}}return BPromise[_0xb109('0x8e')](_0x7ff6c2)[_0xb109('0x1f')](function(_0xb39ec6){_0x45fcd5=_(_0x45fcd5)[_0xb109('0x8f')](_0xb39ec6)[_0xb109('0x90')]()[_0xb109('0x91')]();return db[_0xb109('0x40')][_0xb109('0x58')]({'where':{'id':_0x19c5af[_0xb109('0x55')]['id']}})['then'](function(_0x5870d2){return db[_0xb109('0x76')][_0xb109('0x77')](function(_0xe289ac){return _0x5870d2['removeTeams'](_0x19c5af[_0xb109('0x43')][_0xb109('0x7d')],{'transaction':_0xe289ac})[_0xb109('0x1f')](function(){if(!_[_0xb109('0x92')](_0x45fcd5)){return _0x5870d2[_0xb109('0x93')](_0x45fcd5,{'transaction':_0xe289ac});}})[_0xb109('0x1f')](function(){_0x45fcd5[_0xb109('0x94')](function(_0x35ff4c){socket['emit'](_0xb109('0x95'),{'UserId':_0x35ff4c,'ChatQueueId':_0x5870d2['id']});});});});});});})[_0xb109('0x1f')](respondWithStatusCode(_0x961ab8,null))[_0xb109('0x2a')](handleError(_0x961ab8,null));};exports[_0xb109('0x96')]=function(_0x1dd148,_0x441f4e,_0x12586d){return db[_0xb109('0x40')]['find']({'where':{'id':_0x1dd148[_0xb109('0x55')]['id']}})[_0xb109('0x1f')](handleEntityNotFound(_0x441f4e,null))[_0xb109('0x1f')](function(_0x2064ea){if(_0x2064ea){return _0x2064ea['addAgents'](_0x1dd148[_0xb109('0x5a')][_0xb109('0x7d')],_[_0xb109('0x97')](_0x1dd148['body'],['ids','id'])||{})[_0xb109('0x98')](function(_0x3aec3e){for(var _0x4793b5=0x0;_0x4793b5<_0x1dd148['body']['ids'][_0xb109('0x48')];_0x4793b5+=0x1){socket[_0xb109('0x7a')]('userChatQueue:save',{'UserId':_0x1dd148[_0xb109('0x5a')][_0xb109('0x7d')][_0x4793b5],'ChatQueueId':_0x1dd148[_0xb109('0x55')]['id']});}return _0x3aec3e;});}})[_0xb109('0x1f')](respondWithResult(_0x441f4e,null))['catch'](handleError(_0x441f4e,null));};exports[_0xb109('0x93')]=function(_0x45286e,_0x3f3a3c,_0x3863b6){return db[_0xb109('0x40')][_0xb109('0x58')]({'where':{'id':_0x45286e[_0xb109('0x55')]['id']}})[_0xb109('0x1f')](handleEntityNotFound(_0x3f3a3c,null))[_0xb109('0x1f')](function(_0x5b1fbe){if(_0x5b1fbe){return _0x5b1fbe[_0xb109('0x93')](_0x45286e[_0xb109('0x43')][_0xb109('0x7d')])['then'](function(){if(_['isArray'](_0x45286e[_0xb109('0x43')]['ids'])){for(var _0xc101cd=0x0;_0xc101cd<_0x45286e[_0xb109('0x43')][_0xb109('0x7d')][_0xb109('0x48')];_0xc101cd+=0x1){socket[_0xb109('0x7a')]('userChatQueue:remove',{'UserId':Number(_0x45286e[_0xb109('0x43')]['ids'][_0xc101cd]),'ChatQueueId':Number(_0x45286e[_0xb109('0x55')]['id'])});}}else{socket[_0xb109('0x7a')](_0xb109('0x95'),{'UserId':Number(_0x45286e[_0xb109('0x43')][_0xb109('0x7d')]),'ChatQueueId':Number(_0x45286e[_0xb109('0x55')]['id'])});}});}})[_0xb109('0x1f')](respondWithStatusCode(_0x3f3a3c,null))[_0xb109('0x2a')](handleError(_0x3f3a3c,null));};exports[_0xb109('0x99')]=function(_0x354175,_0x2362e4,_0x33f691){var _0x3ec68c={};var _0x40b405={};var _0x13daf6;var _0x15d54d;return db[_0xb109('0x40')][_0xb109('0x62')]({'where':{'id':_0x354175[_0xb109('0x55')]['id']}})[_0xb109('0x1f')](handleEntityNotFound(_0x2362e4,null))[_0xb109('0x1f')](function(_0x55ab87){if(_0x55ab87){_0x13daf6=_0x55ab87;_0x40b405['model']=_[_0xb109('0x44')](db['User']['rawAttributes']);_0x40b405[_0xb109('0x43')]=_[_0xb109('0x44')](_0x354175[_0xb109('0x43')]);_0x40b405[_0xb109('0x45')]=_[_0xb109('0x46')](_0x40b405[_0xb109('0x42')],_0x40b405[_0xb109('0x43')]);_0x3ec68c[_0xb109('0x47')]=_['intersection'](_0x40b405[_0xb109('0x42')],qs[_0xb109('0x65')](_0x354175[_0xb109('0x43')][_0xb109('0x65')]));_0x3ec68c[_0xb109('0x47')]=_0x3ec68c[_0xb109('0x47')][_0xb109('0x48')]?_0x3ec68c[_0xb109('0x47')]:_0x40b405[_0xb109('0x42')];_0x3ec68c[_0xb109('0x67')]=qs[_0xb109('0x4a')](_0x354175[_0xb109('0x43')][_0xb109('0x4a')]);_0x3ec68c[_0xb109('0x4b')]=qs[_0xb109('0x45')](_[_0xb109('0x4c')](_0x354175[_0xb109('0x43')],_0x40b405['filters']));if(_0x354175[_0xb109('0x43')][_0xb109('0x4d')]){_0x3ec68c['where']=_[_0xb109('0x4e')](_0x3ec68c[_0xb109('0x4b')],{'$or':_[_0xb109('0x3f')](_0x3ec68c[_0xb109('0x47')],function(_0x1794de){var _0x1a30f8={};_0x1a30f8[_0x1794de]={'$like':'%'+_0x354175[_0xb109('0x43')][_0xb109('0x4d')]+'%'};return _0x1a30f8;})});}_0x3ec68c=_[_0xb109('0x4e')]({},_0x3ec68c,_0x354175[_0xb109('0x57')]);return _0x13daf6[_0xb109('0x99')](_0x3ec68c);}})[_0xb109('0x1f')](function(_0xb3dd77){if(_0xb3dd77){_0x15d54d=_0xb3dd77[_0xb109('0x48')];if(!_0x354175['query'][_0xb109('0x49')](_0xb109('0x66'))){_0x3ec68c[_0xb109('0x2f')]=qs[_0xb109('0x2f')](_0x354175[_0xb109('0x43')]['limit']);_0x3ec68c[_0xb109('0x30')]=qs[_0xb109('0x30')](_0x354175[_0xb109('0x43')]['offset']);}return _0x13daf6['getAgents'](_0x3ec68c);}})[_0xb109('0x1f')](function(_0x13379f){if(_0x13379f){return _0x13379f?{'count':_0x15d54d,'rows':_0x13379f}:null;}})[_0xb109('0x1f')](respondWithResult(_0x2362e4,null))[_0xb109('0x2a')](handleError(_0x2362e4,null));};