ab9d9c45354026b6c8c0863dac681b16a07d5b7b
[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 _0x4684=['autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','findOne','UserChatQueue','order','ChatQueueId','User','UserId','agent','chatPause','updatedAt','createdAt','format','%s/%s','getTeams','Team','hasOwnProperty','addTeams','ids','Agents','online','interface','flatMap','transaction','each','findOrCreate','emit','userChatQueue:save','removeTeams','select','field','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','sequelize','toString','SELECT','every','TeamId','includes','union','value','removeAgents','forEach','userChatQueue:remove','addAgents','spread','isArray','getAgents','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','./chatQueue.socket','register','client','http','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','catch','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','destroy','get','ChatQueues','UserProfileResource','sendStatus','stack','name','send','map','ChatQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','nolimit','sort','pick','where','filter','merge','options','include','findAll','rows','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId'];(function(_0x2a73f4,_0x5c4545){var _0x4cc773=function(_0x891467){while(--_0x891467){_0x2a73f4['push'](_0x2a73f4['shift']());}};_0x4cc773(++_0x5c4545);}(_0x4684,0xd0));var _0x4468=function(_0x14d2f3,_0x4742a1){_0x14d2f3=_0x14d2f3-0x0;var _0xdac8b0=_0x4684[_0x14d2f3];return _0xdac8b0;};'use strict';var emlformat=require(_0x4468('0x0'));var rimraf=require(_0x4468('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4468('0x2'));var moment=require(_0x4468('0x3'));var BPromise=require(_0x4468('0x4'));var Mustache=require(_0x4468('0x5'));var util=require(_0x4468('0x6'));var path=require(_0x4468('0x7'));var sox=require(_0x4468('0x8'));var csv=require(_0x4468('0x9'));var ejs=require(_0x4468('0xa'));var fs=require('fs');var fs_extra=require(_0x4468('0xb'));var _=require(_0x4468('0xc'));var squel=require(_0x4468('0xd'));var crypto=require(_0x4468('0xe'));var jsforce=require(_0x4468('0xf'));var deskjs=require(_0x4468('0x10'));var toCsv=require(_0x4468('0x9'));var querystring=require(_0x4468('0x11'));var Papa=require('papaparse');var Redis=require(_0x4468('0x12'));var authService=require(_0x4468('0x13'));var qs=require(_0x4468('0x14'));var as=require(_0x4468('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4468('0x16'))(_0x4468('0x17'));var utils=require(_0x4468('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x4468('0x19'))['db'];config[_0x4468('0x1a')]=_[_0x4468('0x1b')](config[_0x4468('0x1a')],{'host':_0x4468('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x4468('0x1d'))[_0x4468('0x1e')](socket);var jayson=require('jayson/promise');var client=jayson[_0x4468('0x1f')][_0x4468('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x559fff,_0x3ddd4b,_0x21a6bf,_0x47e3a2){return new BPromise(function(_0x4b59f3,_0x5638b0){var _0x55755e=_0x47e3a2||client;return _0x55755e[_0x4468('0x21')](_0x559fff,_0x21a6bf)[_0x4468('0x22')](function(_0x3be93e){logger[_0x4468('0x23')](_0x4468('0x24'),_0x3ddd4b,_0x4468('0x25'));logger[_0x4468('0x26')]('ChatQueue,\x20%s,\x20%s,\x20%s',_0x3ddd4b,_0x4468('0x25'),JSON[_0x4468('0x27')](_0x3be93e));if(_0x3be93e[_0x4468('0x28')]){if(_0x3be93e[_0x4468('0x28')][_0x4468('0x29')]===0x1f4){logger[_0x4468('0x28')](_0x4468('0x24'),_0x3ddd4b,_0x3be93e[_0x4468('0x28')][_0x4468('0x2a')]);return _0x5638b0(_0x3be93e[_0x4468('0x28')]['message']);}logger['error'](_0x4468('0x24'),_0x3ddd4b,_0x3be93e['error'][_0x4468('0x2a')]);return _0x4b59f3(_0x3be93e[_0x4468('0x28')][_0x4468('0x2a')]);}else{logger['info'](_0x4468('0x24'),_0x3ddd4b,_0x4468('0x25'));_0x4b59f3(_0x3be93e['result'][_0x4468('0x2a')]);}})[_0x4468('0x2b')](function(_0xdec64){logger['error'](_0x4468('0x24'),_0x3ddd4b,_0xdec64);_0x5638b0(_0xdec64);});});}function respondWithStatusCode(_0x4b1aca,_0x33dfa1){_0x33dfa1=_0x33dfa1||0xcc;return function(_0x1c8154){if(_0x1c8154){return _0x4b1aca['sendStatus'](_0x33dfa1);}return _0x4b1aca[_0x4468('0x2c')](_0x33dfa1)[_0x4468('0x2d')]();};}function respondWithResult(_0x1f5cdc,_0x229eb3){_0x229eb3=_0x229eb3||0xc8;return function(_0x542d4e){if(_0x542d4e){return _0x1f5cdc['status'](_0x229eb3)[_0x4468('0x2e')](_0x542d4e);}};}function respondWithFilteredResult(_0x19edff,_0x2f92d7){return function(_0x183d66){if(_0x183d66){var _0x93fd6c=typeof _0x2f92d7[_0x4468('0x2f')]==='undefined'&&typeof _0x2f92d7[_0x4468('0x30')]===_0x4468('0x31');var _0x32af62=_0x183d66[_0x4468('0x32')];var _0x1a3653=_0x93fd6c?0x0:_0x2f92d7[_0x4468('0x2f')];var _0xf3bf17=_0x93fd6c?_0x183d66[_0x4468('0x32')]:_0x2f92d7[_0x4468('0x2f')]+_0x2f92d7['limit'];var _0x1dcc85;if(_0xf3bf17>=_0x32af62){_0xf3bf17=_0x32af62;_0x1dcc85=0xc8;}else{_0x1dcc85=0xce;}_0x19edff['status'](_0x1dcc85);return _0x19edff[_0x4468('0x33')](_0x4468('0x34'),_0x1a3653+'-'+_0xf3bf17+'/'+_0x32af62)[_0x4468('0x2e')](_0x183d66);}return null;};}function patchUpdates(_0x4c6777){return function(_0x796c35){try{jsonpatch[_0x4468('0x35')](_0x796c35,_0x4c6777,!![]);}catch(_0x3f2659){return BPromise[_0x4468('0x36')](_0x3f2659);}return _0x796c35[_0x4468('0x37')]();};}function saveUpdates(_0x188541,_0x3894a1){return function(_0x30e891){if(_0x30e891){return _0x30e891[_0x4468('0x38')](_0x188541)[_0x4468('0x22')](function(_0x21288d){return _0x21288d;});}return null;};}function removeEntity(_0x535c2a,_0x421129){return function(_0x3567b0){if(_0x3567b0){return _0x3567b0[_0x4468('0x39')]()['then'](function(){var _0x6e34bc=_0x3567b0[_0x4468('0x3a')]({'plain':!![]});var _0x5622e5=_0x4468('0x3b');return db[_0x4468('0x3c')][_0x4468('0x39')]({'where':{'type':_0x5622e5,'resourceId':_0x6e34bc['id']}})[_0x4468('0x22')](function(){return _0x3567b0;});})['then'](function(){_0x535c2a['status'](0xcc)[_0x4468('0x2d')]();});}};}function handleEntityNotFound(_0x4a7566,_0x11095e){return function(_0x3b828d){if(!_0x3b828d){_0x4a7566[_0x4468('0x3d')](0x194);}return _0x3b828d;};}function handleError(_0x1f05e9,_0x52ad55){_0x52ad55=_0x52ad55||0x1f4;return function(_0x5ed35a){logger[_0x4468('0x28')](_0x5ed35a[_0x4468('0x3e')]);if(_0x5ed35a['name']){delete _0x5ed35a[_0x4468('0x3f')];}_0x1f05e9[_0x4468('0x2c')](_0x52ad55)[_0x4468('0x40')](_0x5ed35a);};}exports['index']=function(_0x5e46c1,_0x31c8a1){var _0x8796a6={},_0x1fc27f={},_0x2de42b={'count':0x0,'rows':[]};var _0x4c4ad0=_[_0x4468('0x41')](db[_0x4468('0x42')][_0x4468('0x43')],function(_0x20f886){return{'name':_0x20f886[_0x4468('0x44')],'type':_0x20f886[_0x4468('0x45')][_0x4468('0x46')]};});_0x1fc27f[_0x4468('0x47')]=_[_0x4468('0x41')](_0x4c4ad0,_0x4468('0x3f'));_0x1fc27f[_0x4468('0x48')]=_[_0x4468('0x49')](_0x5e46c1[_0x4468('0x48')]);_0x1fc27f[_0x4468('0x4a')]=_['intersection'](_0x1fc27f['model'],_0x1fc27f[_0x4468('0x48')]);_0x8796a6[_0x4468('0x4b')]=_[_0x4468('0x4c')](_0x1fc27f[_0x4468('0x47')],qs[_0x4468('0x4d')](_0x5e46c1[_0x4468('0x48')][_0x4468('0x4d')]));_0x8796a6['attributes']=_0x8796a6[_0x4468('0x4b')][_0x4468('0x4e')]?_0x8796a6[_0x4468('0x4b')]:_0x1fc27f[_0x4468('0x47')];if(!_0x5e46c1[_0x4468('0x48')]['hasOwnProperty'](_0x4468('0x4f'))){_0x8796a6[_0x4468('0x30')]=qs[_0x4468('0x30')](_0x5e46c1['query']['limit']);_0x8796a6[_0x4468('0x2f')]=qs[_0x4468('0x2f')](_0x5e46c1[_0x4468('0x48')][_0x4468('0x2f')]);}_0x8796a6['order']=qs[_0x4468('0x50')](_0x5e46c1[_0x4468('0x48')]['sort']);_0x8796a6['where']=qs[_0x4468('0x4a')](_[_0x4468('0x51')](_0x5e46c1['query'],_0x1fc27f['filters']),_0x4c4ad0);if(_0x5e46c1['query']['filter']){_0x8796a6[_0x4468('0x52')]=_['merge'](_0x8796a6['where'],{'$or':_['map'](_0x4c4ad0,function(_0x470d14){if(_0x470d14['type']!=='VIRTUAL'){var _0x3d028a={};_0x3d028a[_0x470d14[_0x4468('0x3f')]]={'$like':'%'+_0x5e46c1[_0x4468('0x48')][_0x4468('0x53')]+'%'};return _0x3d028a;}})});}_0x8796a6=_[_0x4468('0x54')]({},_0x8796a6,_0x5e46c1[_0x4468('0x55')]);var _0x14525c={'where':_0x8796a6[_0x4468('0x52')]};return db['ChatQueue'][_0x4468('0x32')](_0x14525c)[_0x4468('0x22')](function(_0x1bd059){_0x2de42b['count']=_0x1bd059;if(_0x5e46c1[_0x4468('0x48')]['includeAll']){_0x8796a6[_0x4468('0x56')]=[{'all':!![]}];}return db[_0x4468('0x42')][_0x4468('0x57')](_0x8796a6);})['then'](function(_0x3058c9){_0x2de42b[_0x4468('0x58')]=_0x3058c9;return _0x2de42b;})[_0x4468('0x22')](respondWithFilteredResult(_0x31c8a1,_0x8796a6))['catch'](handleError(_0x31c8a1,null));};exports['show']=function(_0x330f4c,_0x13ffaf){var _0x5c1a31={'raw':!![],'where':{'id':_0x330f4c[_0x4468('0x59')]['id']}},_0x37f932={};_0x37f932[_0x4468('0x47')]=_[_0x4468('0x49')](db[_0x4468('0x42')]['rawAttributes']);_0x37f932[_0x4468('0x48')]=_[_0x4468('0x49')](_0x330f4c[_0x4468('0x48')]);_0x37f932[_0x4468('0x4a')]=_['intersection'](_0x37f932[_0x4468('0x47')],_0x37f932[_0x4468('0x48')]);_0x5c1a31[_0x4468('0x4b')]=_[_0x4468('0x4c')](_0x37f932[_0x4468('0x47')],qs['fields'](_0x330f4c[_0x4468('0x48')]['fields']));_0x5c1a31[_0x4468('0x4b')]=_0x5c1a31[_0x4468('0x4b')][_0x4468('0x4e')]?_0x5c1a31[_0x4468('0x4b')]:_0x37f932['model'];if(_0x330f4c[_0x4468('0x48')]['includeAll']){_0x5c1a31[_0x4468('0x56')]=[{'all':!![]}];}_0x5c1a31=_[_0x4468('0x54')]({},_0x5c1a31,_0x330f4c['options']);return db[_0x4468('0x42')][_0x4468('0x5a')](_0x5c1a31)[_0x4468('0x22')](handleEntityNotFound(_0x13ffaf,null))[_0x4468('0x22')](respondWithResult(_0x13ffaf,null))[_0x4468('0x2b')](handleError(_0x13ffaf,null));};exports[_0x4468('0x5b')]=function(_0x21f3f9,_0x2ea9d8){return db['ChatQueue'][_0x4468('0x5b')](_0x21f3f9['body'],{})[_0x4468('0x22')](function(_0x191078){var _0x2118ae=_0x21f3f9[_0x4468('0x5c')][_0x4468('0x3a')]({'plain':!![]});if(!_0x2118ae)throw new Error(_0x4468('0x5d'));if(_0x2118ae[_0x4468('0x5e')]===_0x4468('0x5c')){var _0x44b993=_0x191078[_0x4468('0x3a')]({'plain':!![]});var _0x2c4362=_0x4468('0x3b');return db['UserProfileSection'][_0x4468('0x5a')]({'where':{'name':_0x2c4362,'userProfileId':_0x2118ae[_0x4468('0x5f')]},'raw':!![]})[_0x4468('0x22')](function(_0x46ab44){if(_0x46ab44&&_0x46ab44[_0x4468('0x60')]===0x0){return db[_0x4468('0x3c')]['create']({'name':_0x44b993[_0x4468('0x3f')],'resourceId':_0x44b993['id'],'type':_0x46ab44[_0x4468('0x3f')],'sectionId':_0x46ab44['id']},{})[_0x4468('0x22')](function(){return _0x191078;});}else{return _0x191078;}})['catch'](function(_0x211d91){logger[_0x4468('0x28')](_0x4468('0x61'),_0x211d91);throw _0x211d91;});}return _0x191078;})[_0x4468('0x22')](respondWithResult(_0x2ea9d8,0xc9))[_0x4468('0x2b')](handleError(_0x2ea9d8,null));};exports[_0x4468('0x38')]=function(_0x5b1d25,_0x42e117){if(_0x5b1d25[_0x4468('0x62')]['id']){delete _0x5b1d25[_0x4468('0x62')]['id'];}return db['ChatQueue']['find']({'where':{'id':_0x5b1d25[_0x4468('0x59')]['id']}})[_0x4468('0x22')](handleEntityNotFound(_0x42e117,null))[_0x4468('0x22')](saveUpdates(_0x5b1d25[_0x4468('0x62')],null))[_0x4468('0x22')](respondWithResult(_0x42e117,null))[_0x4468('0x2b')](handleError(_0x42e117,null));};exports[_0x4468('0x39')]=function(_0xdecd21,_0x1b85f1){return db[_0x4468('0x42')]['find']({'where':{'id':_0xdecd21[_0x4468('0x59')]['id']}})[_0x4468('0x22')](handleEntityNotFound(_0x1b85f1,null))[_0x4468('0x22')](removeEntity(_0x1b85f1,null))[_0x4468('0x2b')](handleError(_0x1b85f1,null));};exports['describe']=function(_0x3ec826,_0x3c1a75){return db['ChatQueue'][_0x4468('0x63')]()['then'](respondWithResult(_0x3c1a75,null))[_0x4468('0x2b')](handleError(_0x3c1a75,null));};exports['getMembers']=function(_0x12f015,_0x2d1636,_0x136585){var _0x4c22c6={'raw':!![],'where':{}},_0xed93c0={},_0x49cd92;return db['ChatQueue'][_0x4468('0x64')]({'where':{'id':_0x12f015[_0x4468('0x59')]['id']}})[_0x4468('0x22')](handleEntityNotFound(_0x2d1636,null))[_0x4468('0x22')](function(_0x176af6){if(_0x176af6){_0x49cd92=_0x176af6['get']({'plain':!![]});_0xed93c0['model']=_[_0x4468('0x49')](db[_0x4468('0x65')]['rawAttributes']);_0xed93c0[_0x4468('0x48')]=_[_0x4468('0x49')](_0x12f015[_0x4468('0x48')]);_0xed93c0[_0x4468('0x4a')]=_[_0x4468('0x4c')](_0xed93c0[_0x4468('0x47')],_0xed93c0['query']);_0x4c22c6[_0x4468('0x4b')]=_['intersection'](_0xed93c0['model'],qs[_0x4468('0x4d')](_0x12f015[_0x4468('0x48')][_0x4468('0x4d')]));_0x4c22c6[_0x4468('0x4b')]=_0x4c22c6[_0x4468('0x4b')][_0x4468('0x4e')]?_0x4c22c6[_0x4468('0x4b')]:_0xed93c0[_0x4468('0x47')];if(!_0x12f015['query']['hasOwnProperty'](_0x4468('0x4f'))){_0x4c22c6['limit']=qs[_0x4468('0x30')](_0x12f015[_0x4468('0x48')][_0x4468('0x30')]);_0x4c22c6[_0x4468('0x2f')]=qs[_0x4468('0x2f')](_0x12f015[_0x4468('0x48')][_0x4468('0x2f')]);}_0x4c22c6[_0x4468('0x66')]=qs[_0x4468('0x50')](_0x12f015[_0x4468('0x48')][_0x4468('0x50')]);_0x4c22c6[_0x4468('0x52')]=qs['filters'](_['pick'](_0x12f015[_0x4468('0x48')],_0xed93c0[_0x4468('0x4a')]));_0x4c22c6[_0x4468('0x52')][_0x4468('0x67')]=_0x176af6['id'];if(_0x12f015[_0x4468('0x48')][_0x4468('0x53')]){_0x4c22c6[_0x4468('0x52')]=_[_0x4468('0x54')](_0x4c22c6[_0x4468('0x52')],{'$or':_[_0x4468('0x41')](_0x4c22c6[_0x4468('0x4b')],function(_0xe5ed8a){var _0x4e6006={};_0x4e6006[_0xe5ed8a]={'$like':'%'+_0x12f015[_0x4468('0x48')]['filter']+'%'};return _0x4e6006;})});}_0x4c22c6=_[_0x4468('0x54')]({},_0x4c22c6,_0x12f015[_0x4468('0x55')]);return db[_0x4468('0x65')][_0x4468('0x57')](_0x4c22c6);}})['then'](function(_0x15581c){if(_0x15581c){return db[_0x4468('0x68')]['findAndCountAll']({'where':{'id':_[_0x4468('0x41')](_0x15581c,_0x4468('0x69')),'role':_0x4468('0x6a')},'attributes':['id','name',_0x4468('0x6b'),_0x4468('0x6c'),_0x4468('0x6d')]});}})['then'](function(_0x155ec7){if(_0x155ec7){return{'count':_0x155ec7[_0x4468('0x32')],'rows':_[_0x4468('0x41')](_0x155ec7[_0x4468('0x58')],function(_0x521487){return{'membername':_0x521487[_0x4468('0x3f')],'UserId':_0x521487['id'],'queue_name':_0x49cd92['name'],'ChatQueueId':_0x49cd92['id'],'interface':util[_0x4468('0x6e')](_0x4468('0x6f'),'SIP',_0x521487[_0x4468('0x3f')]),'penalty':0x0,'paused':_0x521487[_0x4468('0x6b')],'createdAt':_0x521487[_0x4468('0x6d')],'updatedAt':_0x521487['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x4468('0x22')](respondWithFilteredResult(_0x2d1636,_0x4c22c6))['catch'](handleError(_0x2d1636,null));};exports[_0x4468('0x70')]=function(_0x1bb9f0,_0x3d1bba,_0x2767be){var _0x56e75a={};var _0x1b0936={};var _0x2b3e1c;var _0x2f959b;return db[_0x4468('0x42')]['findOne']({'where':{'id':_0x1bb9f0[_0x4468('0x59')]['id']}})[_0x4468('0x22')](handleEntityNotFound(_0x3d1bba,null))[_0x4468('0x22')](function(_0x4e366a){if(_0x4e366a){_0x2b3e1c=_0x4e366a;_0x1b0936['model']=_[_0x4468('0x49')](db[_0x4468('0x71')][_0x4468('0x43')]);_0x1b0936['query']=_[_0x4468('0x49')](_0x1bb9f0[_0x4468('0x48')]);_0x1b0936[_0x4468('0x4a')]=_[_0x4468('0x4c')](_0x1b0936['model'],_0x1b0936[_0x4468('0x48')]);_0x56e75a[_0x4468('0x4b')]=_[_0x4468('0x4c')](_0x1b0936[_0x4468('0x47')],qs['fields'](_0x1bb9f0[_0x4468('0x48')][_0x4468('0x4d')]));_0x56e75a[_0x4468('0x4b')]=_0x56e75a['attributes'][_0x4468('0x4e')]?_0x56e75a[_0x4468('0x4b')]:_0x1b0936['model'];_0x56e75a[_0x4468('0x66')]=qs['sort'](_0x1bb9f0['query'][_0x4468('0x50')]);_0x56e75a[_0x4468('0x52')]=qs[_0x4468('0x4a')](_[_0x4468('0x51')](_0x1bb9f0[_0x4468('0x48')],_0x1b0936[_0x4468('0x4a')]));if(_0x1bb9f0[_0x4468('0x48')][_0x4468('0x53')]){_0x56e75a[_0x4468('0x52')]=_[_0x4468('0x54')](_0x56e75a[_0x4468('0x52')],{'$or':_['map'](_0x56e75a[_0x4468('0x4b')],function(_0xb6e048){var _0x408f4a={};_0x408f4a[_0xb6e048]={'$like':'%'+_0x1bb9f0[_0x4468('0x48')][_0x4468('0x53')]+'%'};return _0x408f4a;})});}_0x56e75a=_['merge']({},_0x56e75a,_0x1bb9f0[_0x4468('0x55')]);return _0x2b3e1c['getTeams'](_0x56e75a);}})[_0x4468('0x22')](function(_0x1bb301){if(_0x1bb301){_0x2f959b=_0x1bb301['length'];if(!_0x1bb9f0['query'][_0x4468('0x72')](_0x4468('0x4f'))){_0x56e75a[_0x4468('0x30')]=qs['limit'](_0x1bb9f0[_0x4468('0x48')][_0x4468('0x30')]);_0x56e75a[_0x4468('0x2f')]=qs['offset'](_0x1bb9f0[_0x4468('0x48')]['offset']);}return _0x2b3e1c[_0x4468('0x70')](_0x56e75a);}})[_0x4468('0x22')](function(_0x54b555){if(_0x54b555){return _0x54b555?{'count':_0x2f959b,'rows':_0x54b555}:null;}})[_0x4468('0x22')](respondWithResult(_0x3d1bba,null))[_0x4468('0x2b')](handleError(_0x3d1bba,null));};exports[_0x4468('0x73')]=function(_0x501e8c,_0x23f45d,_0x22cd43){var _0x124738=_0x501e8c[_0x4468('0x62')][_0x4468('0x74')];return db[_0x4468('0x71')]['findAll']({'where':{'id':_0x124738},'attributes':['id'],'include':[{'model':db[_0x4468('0x68')],'as':_0x4468('0x75'),'attributes':['id',_0x4468('0x3f'),_0x4468('0x76'),'voicePause',_0x4468('0x77')],'raw':!![]}]})[_0x4468('0x22')](function(_0x59d2d8){if(_0x59d2d8){var _0x5907bc=_[_0x4468('0x78')](_0x59d2d8,function(_0x1acef1){var _0x3059bc=_0x1acef1[_0x4468('0x3a')]({'plain':!![]});return _0x3059bc[_0x4468('0x75')];});return db[_0x4468('0x42')][_0x4468('0x5a')]({'where':{'id':_0x501e8c[_0x4468('0x59')]['id']}})['then'](function(_0x297ff8){return db['sequelize'][_0x4468('0x79')](function(_0x160669){return _0x297ff8[_0x4468('0x73')](_0x124738,{'transaction':_0x160669})[_0x4468('0x22')](function(){return BPromise[_0x4468('0x7a')](_0x5907bc,function(_0x34189d){return db[_0x4468('0x65')][_0x4468('0x7b')]({'where':{'UserId':_0x34189d['id'],'ChatQueueId':_0x501e8c[_0x4468('0x59')]['id']},'transaction':_0x160669});});})[_0x4468('0x22')](function(){_0x5907bc['forEach'](function(_0xda5e79){socket[_0x4468('0x7c')](_0x4468('0x7d'),{'UserId':_0xda5e79['id'],'ChatQueueId':_0x297ff8['id']});});});});});}})[_0x4468('0x22')](respondWithStatusCode(_0x23f45d,null))['catch'](handleError(_0x23f45d,null));};exports[_0x4468('0x7e')]=function(_0xbdecd7,_0x237dd4,_0x465533){return db[_0x4468('0x71')]['findAll']({'where':{'id':_0xbdecd7['query']['ids']},'attributes':['id'],'include':[{'model':db[_0x4468('0x68')],'as':_0x4468('0x75'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x237dd4,null))[_0x4468('0x22')](function(_0x5962e5){var _0x50f5d8=_['map'](_0x5962e5,'id');var _0x4f2d93=[];var _0x47fe8f=[];var _0x11881c=squel[_0x4468('0x7f')]();_0x11881c[_0x4468('0x80')]('tq.TeamId')[_0x4468('0x81')](_0x4468('0x82'),'tq')[_0x4468('0x83')](_0x4468('0x84'),'ut',_0x4468('0x85'))['where'](_0x4468('0x86'),_0xbdecd7[_0x4468('0x59')]['id']);for(var _0x2bab40=0x0;_0x2bab40<_0x5962e5[_0x4468('0x4e')];_0x2bab40+=0x1){let _0x1faebb=_0x5962e5[_0x2bab40];for(var _0xd468be=0x0;_0xd468be<_0x1faebb[_0x4468('0x75')][_0x4468('0x4e')];_0xd468be+=0x1){let _0x114a14=_0x1faebb[_0x4468('0x75')][_0xd468be];var _0x31fbbd=_0x11881c['clone']();_0x31fbbd[_0x4468('0x52')](_0x4468('0x87'),_0x114a14['id']);_0x47fe8f[_0x4468('0x88')](db[_0x4468('0x89')][_0x4468('0x48')](_0x31fbbd[_0x4468('0x8a')](),{'type':db[_0x4468('0x89')]['QueryTypes'][_0x4468('0x8b')]})[_0x4468('0x22')](function(_0x16595b){if(_0x16595b[_0x4468('0x4e')]===0x1){return _0x114a14['id'];}else{var _0x507241=_[_0x4468('0x8c')](_[_0x4468('0x41')](_0x16595b,_0x4468('0x8d')),function(_0x153a28){return _[_0x4468('0x8e')](_0x50f5d8,_0x153a28);});if(_0x507241){return _0x114a14['id'];}}}));}}return BPromise['all'](_0x47fe8f)[_0x4468('0x22')](function(_0x84d82c){_0x4f2d93=_(_0x4f2d93)[_0x4468('0x8f')](_0x84d82c)['compact']()[_0x4468('0x90')]();return db[_0x4468('0x42')][_0x4468('0x5a')]({'where':{'id':_0xbdecd7[_0x4468('0x59')]['id']}})[_0x4468('0x22')](function(_0x3c2d2d){return db[_0x4468('0x89')][_0x4468('0x79')](function(_0x59a6e3){return _0x3c2d2d[_0x4468('0x7e')](_0xbdecd7[_0x4468('0x48')][_0x4468('0x74')],{'transaction':_0x59a6e3})[_0x4468('0x22')](function(){if(!_['isEmpty'](_0x4f2d93)){return _0x3c2d2d[_0x4468('0x91')](_0x4f2d93,{'transaction':_0x59a6e3});}})[_0x4468('0x22')](function(){_0x4f2d93[_0x4468('0x92')](function(_0x26d388){socket['emit'](_0x4468('0x93'),{'UserId':_0x26d388,'ChatQueueId':_0x3c2d2d['id']});});});});});});})[_0x4468('0x22')](respondWithStatusCode(_0x237dd4,null))[_0x4468('0x2b')](handleError(_0x237dd4,null));};exports['addAgents']=function(_0x36b525,_0x1a20c6,_0x12d602){return db[_0x4468('0x42')][_0x4468('0x5a')]({'where':{'id':_0x36b525[_0x4468('0x59')]['id']}})[_0x4468('0x22')](handleEntityNotFound(_0x1a20c6,null))[_0x4468('0x22')](function(_0x100816){if(_0x100816){return _0x100816[_0x4468('0x94')](_0x36b525[_0x4468('0x62')]['ids'],_['omit'](_0x36b525[_0x4468('0x62')],['ids','id'])||{})[_0x4468('0x95')](function(_0x283a16){for(var _0x1f4bac=0x0;_0x1f4bac<_0x36b525[_0x4468('0x62')]['ids'][_0x4468('0x4e')];_0x1f4bac+=0x1){socket['emit'](_0x4468('0x7d'),{'UserId':Number(_0x36b525[_0x4468('0x62')][_0x4468('0x74')][_0x1f4bac]),'ChatQueueId':Number(_0x36b525['params']['id'])});}return _0x283a16;});}})[_0x4468('0x22')](respondWithResult(_0x1a20c6,null))[_0x4468('0x2b')](handleError(_0x1a20c6,null));};exports[_0x4468('0x91')]=function(_0x22a1cf,_0x471f32,_0x5b6cd5){return db[_0x4468('0x42')][_0x4468('0x5a')]({'where':{'id':_0x22a1cf[_0x4468('0x59')]['id']}})[_0x4468('0x22')](handleEntityNotFound(_0x471f32,null))[_0x4468('0x22')](function(_0x1688c6){if(_0x1688c6){return _0x1688c6[_0x4468('0x91')](_0x22a1cf[_0x4468('0x48')][_0x4468('0x74')])[_0x4468('0x22')](function(){if(_[_0x4468('0x96')](_0x22a1cf[_0x4468('0x48')][_0x4468('0x74')])){for(var _0x4eb7ae=0x0;_0x4eb7ae<_0x22a1cf[_0x4468('0x48')][_0x4468('0x74')]['length'];_0x4eb7ae+=0x1){socket[_0x4468('0x7c')](_0x4468('0x93'),{'UserId':Number(_0x22a1cf[_0x4468('0x48')][_0x4468('0x74')][_0x4eb7ae]),'ChatQueueId':Number(_0x22a1cf[_0x4468('0x59')]['id'])});}}else{socket[_0x4468('0x7c')](_0x4468('0x93'),{'UserId':Number(_0x22a1cf[_0x4468('0x48')][_0x4468('0x74')]),'ChatQueueId':Number(_0x22a1cf[_0x4468('0x59')]['id'])});}});}})['then'](respondWithStatusCode(_0x471f32,null))['catch'](handleError(_0x471f32,null));};exports['getAgents']=function(_0x372989,_0x7efa5d,_0x3dfc87){var _0x155c6a={};var _0x1df251={};var _0x3d4fe2;var _0x5e31bd;return db[_0x4468('0x42')][_0x4468('0x64')]({'where':{'id':_0x372989[_0x4468('0x59')]['id']}})[_0x4468('0x22')](handleEntityNotFound(_0x7efa5d,null))[_0x4468('0x22')](function(_0x47a5af){if(_0x47a5af){_0x3d4fe2=_0x47a5af;_0x1df251['model']=_['keys'](db[_0x4468('0x68')][_0x4468('0x43')]);_0x1df251[_0x4468('0x48')]=_[_0x4468('0x49')](_0x372989[_0x4468('0x48')]);_0x1df251[_0x4468('0x4a')]=_[_0x4468('0x4c')](_0x1df251[_0x4468('0x47')],_0x1df251[_0x4468('0x48')]);_0x155c6a['attributes']=_[_0x4468('0x4c')](_0x1df251['model'],qs['fields'](_0x372989['query'][_0x4468('0x4d')]));_0x155c6a[_0x4468('0x4b')]=_0x155c6a['attributes'][_0x4468('0x4e')]?_0x155c6a[_0x4468('0x4b')]:_0x1df251[_0x4468('0x47')];_0x155c6a['order']=qs[_0x4468('0x50')](_0x372989['query']['sort']);_0x155c6a[_0x4468('0x52')]=qs[_0x4468('0x4a')](_[_0x4468('0x51')](_0x372989[_0x4468('0x48')],_0x1df251[_0x4468('0x4a')]));if(_0x372989[_0x4468('0x48')][_0x4468('0x53')]){_0x155c6a[_0x4468('0x52')]=_['merge'](_0x155c6a['where'],{'$or':_[_0x4468('0x41')](_0x155c6a[_0x4468('0x4b')],function(_0x3c1985){var _0x1c2f2b={};_0x1c2f2b[_0x3c1985]={'$like':'%'+_0x372989[_0x4468('0x48')][_0x4468('0x53')]+'%'};return _0x1c2f2b;})});}_0x155c6a=_[_0x4468('0x54')]({},_0x155c6a,_0x372989[_0x4468('0x55')]);return _0x3d4fe2[_0x4468('0x97')](_0x155c6a);}})[_0x4468('0x22')](function(_0x4bc18f){if(_0x4bc18f){_0x5e31bd=_0x4bc18f['length'];if(!_0x372989[_0x4468('0x48')]['hasOwnProperty'](_0x4468('0x4f'))){_0x155c6a[_0x4468('0x30')]=qs[_0x4468('0x30')](_0x372989[_0x4468('0x48')][_0x4468('0x30')]);_0x155c6a[_0x4468('0x2f')]=qs['offset'](_0x372989[_0x4468('0x48')][_0x4468('0x2f')]);}return _0x3d4fe2[_0x4468('0x97')](_0x155c6a);}})[_0x4468('0x22')](function(_0x26418a){if(_0x26418a){return _0x26418a?{'count':_0x5e31bd,'rows':_0x26418a}:null;}})['then'](respondWithResult(_0x7efa5d,null))[_0x4468('0x2b')](handleError(_0x7efa5d,null));};