Built motion from commit (unavailable).|2.5.22
[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 _0x7e80=['query','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','count','includeAll','include','findAll','rows','show','params','keys','rawAttributes','length','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','ChatQueueId','agent','chatPause','createdAt','format','%s/%s','getTeams','Team','addTeams','ids','User','Agents','online','voicePause','interface','sequelize','transaction','each','UserChatQueue','findOrCreate','emit','userChatQueue:save','removeTeams','field','tq.TeamId','from','join','user_has_teams','ChatQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','includes','all','union','compact','value','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','isArray','getAgents','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','./chatQueue.socket','register','request','then','ChatQueue,\x20%s,\x20%s','request\x20sent','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','offset','limit','set','apply','reject','save','update','destroy','stack','name','send','index','map','ChatQueue','fieldName','type','key','model','filters','intersection'];(function(_0x248be3,_0x203e1f){var _0x255f8f=function(_0x5449f5){while(--_0x5449f5){_0x248be3['push'](_0x248be3['shift']());}};_0x255f8f(++_0x203e1f);}(_0x7e80,0x183));var _0x07e8=function(_0x58de4a,_0x564dbc){_0x58de4a=_0x58de4a-0x0;var _0x178820=_0x7e80[_0x58de4a];return _0x178820;};'use strict';var pdf=require(_0x07e8('0x0'));var emlformat=require(_0x07e8('0x1'));var rimraf=require(_0x07e8('0x2'));var zipdir=require(_0x07e8('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x07e8('0x4'));var BPromise=require(_0x07e8('0x5'));var Mustache=require(_0x07e8('0x6'));var util=require(_0x07e8('0x7'));var path=require(_0x07e8('0x8'));var sox=require(_0x07e8('0x9'));var csv=require(_0x07e8('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x07e8('0xb'));var squel=require(_0x07e8('0xc'));var crypto=require(_0x07e8('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x07e8('0xe'));var toCsv=require(_0x07e8('0xa'));var querystring=require('querystring');var Papa=require(_0x07e8('0xf'));var Redis=require(_0x07e8('0x10'));var authService=require(_0x07e8('0x11'));var qs=require(_0x07e8('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x07e8('0x13'));var logger=require(_0x07e8('0x14'))(_0x07e8('0x15'));var utils=require(_0x07e8('0x16'));var config=require(_0x07e8('0x17'));var licenseUtil=require(_0x07e8('0x18'));var db=require(_0x07e8('0x19'))['db'];config[_0x07e8('0x1a')]=_[_0x07e8('0x1b')](config[_0x07e8('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x07e8('0x1a')]));require(_0x07e8('0x1c'))[_0x07e8('0x1d')](socket);var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x2d06ec,_0x227667,_0x1a9ef6,_0x16a24b){return new BPromise(function(_0x550922,_0x3b3392){var _0x5f2ebf=_0x16a24b||client;return _0x5f2ebf[_0x07e8('0x1e')](_0x2d06ec,_0x1a9ef6)[_0x07e8('0x1f')](function(_0x56f1ba){logger['info'](_0x07e8('0x20'),_0x227667,_0x07e8('0x21'));logger['debug'](_0x07e8('0x22'),_0x227667,_0x07e8('0x21'),JSON[_0x07e8('0x23')](_0x56f1ba));if(_0x56f1ba['error']){if(_0x56f1ba[_0x07e8('0x24')][_0x07e8('0x25')]===0x1f4){logger['error'](_0x07e8('0x20'),_0x227667,_0x56f1ba[_0x07e8('0x24')][_0x07e8('0x26')]);return _0x3b3392(_0x56f1ba[_0x07e8('0x24')][_0x07e8('0x26')]);}logger['error'](_0x07e8('0x20'),_0x227667,_0x56f1ba[_0x07e8('0x24')]['message']);return _0x550922(_0x56f1ba[_0x07e8('0x24')]['message']);}else{logger[_0x07e8('0x27')](_0x07e8('0x20'),_0x227667,_0x07e8('0x21'));_0x550922(_0x56f1ba[_0x07e8('0x28')]['message']);}})[_0x07e8('0x29')](function(_0x5bc0db){logger['error'](_0x07e8('0x20'),_0x227667,_0x5bc0db);_0x3b3392(_0x5bc0db);});});}function respondWithStatusCode(_0x43e609,_0x46d8ff){_0x46d8ff=_0x46d8ff||0xcc;return function(_0xe25a50){if(_0xe25a50){return _0x43e609[_0x07e8('0x2a')](_0x46d8ff);}return _0x43e609[_0x07e8('0x2b')](_0x46d8ff)[_0x07e8('0x2c')]();};}function respondWithResult(_0x427a38,_0x3e2738){_0x3e2738=_0x3e2738||0xc8;return function(_0x1a8198){if(_0x1a8198){return _0x427a38[_0x07e8('0x2b')](_0x3e2738)[_0x07e8('0x2d')](_0x1a8198);}};}function respondWithFilteredResult(_0x4a9110,_0x297902){return function(_0x4405f4){if(_0x4405f4){var _0x4f0f59=_0x4405f4['count'],_0x3b3f29=_0x297902['offset'],_0x2cb0f0=_0x297902[_0x07e8('0x2e')]+_0x297902[_0x07e8('0x2f')],_0x54a938;if(_0x2cb0f0>=_0x4f0f59){_0x2cb0f0=_0x4f0f59;_0x54a938=0xc8;}else{_0x54a938=0xce;}_0x4a9110['status'](_0x54a938);return _0x4a9110[_0x07e8('0x30')]('Content-Range',_0x3b3f29+'-'+_0x2cb0f0+'/'+_0x4f0f59)[_0x07e8('0x2d')](_0x4405f4);}return null;};}function patchUpdates(_0x49de00){return function(_0x21586a){try{jsonpatch[_0x07e8('0x31')](_0x21586a,_0x49de00,!![]);}catch(_0x145dff){return BPromise[_0x07e8('0x32')](_0x145dff);}return _0x21586a[_0x07e8('0x33')]();};}function saveUpdates(_0x553fb2,_0x472679){return function(_0x1ccdfa){if(_0x1ccdfa){return _0x1ccdfa[_0x07e8('0x34')](_0x553fb2)[_0x07e8('0x1f')](function(_0x4bbc3f){return _0x4bbc3f;});}return null;};}function removeEntity(_0x252eae,_0x149cce){return function(_0x5ee421){if(_0x5ee421){return _0x5ee421[_0x07e8('0x35')]()[_0x07e8('0x1f')](function(){var _0x54cfac=_0x5ee421['get']({'plain':!![]});var _0x552a69='ChatQueues';return db['UserProfileResource'][_0x07e8('0x35')]({'where':{'type':_0x552a69,'resourceId':_0x54cfac['id']}})[_0x07e8('0x1f')](function(){return _0x5ee421;});})[_0x07e8('0x1f')](function(){_0x252eae[_0x07e8('0x2b')](0xcc)[_0x07e8('0x2c')]();});}};}function handleEntityNotFound(_0x1ae5d8,_0x5ae103){return function(_0x590640){if(!_0x590640){_0x1ae5d8[_0x07e8('0x2a')](0x194);}return _0x590640;};}function handleError(_0x58a76a,_0x22060a){_0x22060a=_0x22060a||0x1f4;return function(_0x427cd3){logger['error'](_0x427cd3[_0x07e8('0x36')]);if(_0x427cd3[_0x07e8('0x37')]){delete _0x427cd3[_0x07e8('0x37')];}_0x58a76a[_0x07e8('0x2b')](_0x22060a)[_0x07e8('0x38')](_0x427cd3);};}exports[_0x07e8('0x39')]=function(_0x393a64,_0x23cc5e){var _0x438015={},_0x2ac4dc={},_0x8e71f={'count':0x0,'rows':[]};var _0x111c26=_[_0x07e8('0x3a')](db[_0x07e8('0x3b')]['rawAttributes'],function(_0xf43ece){return{'name':_0xf43ece[_0x07e8('0x3c')],'type':_0xf43ece[_0x07e8('0x3d')][_0x07e8('0x3e')]};});_0x2ac4dc[_0x07e8('0x3f')]=_['map'](_0x111c26,'name');_0x2ac4dc['query']=_['keys'](_0x393a64['query']);_0x2ac4dc[_0x07e8('0x40')]=_[_0x07e8('0x41')](_0x2ac4dc[_0x07e8('0x3f')],_0x2ac4dc[_0x07e8('0x42')]);_0x438015[_0x07e8('0x43')]=_[_0x07e8('0x41')](_0x2ac4dc[_0x07e8('0x3f')],qs[_0x07e8('0x44')](_0x393a64[_0x07e8('0x42')]['fields']));_0x438015[_0x07e8('0x43')]=_0x438015['attributes']['length']?_0x438015[_0x07e8('0x43')]:_0x2ac4dc['model'];if(!_0x393a64['query'][_0x07e8('0x45')](_0x07e8('0x46'))){_0x438015[_0x07e8('0x2f')]=qs[_0x07e8('0x2f')](_0x393a64[_0x07e8('0x42')][_0x07e8('0x2f')]);_0x438015[_0x07e8('0x2e')]=qs['offset'](_0x393a64[_0x07e8('0x42')]['offset']);}_0x438015[_0x07e8('0x47')]=qs[_0x07e8('0x48')](_0x393a64[_0x07e8('0x42')][_0x07e8('0x48')]);_0x438015[_0x07e8('0x49')]=qs['filters'](_[_0x07e8('0x4a')](_0x393a64[_0x07e8('0x42')],_0x2ac4dc[_0x07e8('0x40')]),_0x111c26);if(_0x393a64[_0x07e8('0x42')][_0x07e8('0x4b')]){_0x438015[_0x07e8('0x49')]=_['merge'](_0x438015['where'],{'$or':_[_0x07e8('0x3a')](_0x111c26,function(_0xd25db8){if(_0xd25db8[_0x07e8('0x3d')]!==_0x07e8('0x4c')){var _0x4018ac={};_0x4018ac[_0xd25db8['name']]={'$like':'%'+_0x393a64['query'][_0x07e8('0x4b')]+'%'};return _0x4018ac;}})});}_0x438015=_[_0x07e8('0x4d')]({},_0x438015,_0x393a64[_0x07e8('0x4e')]);var _0x616d42={'where':_0x438015[_0x07e8('0x49')]};return db[_0x07e8('0x3b')][_0x07e8('0x4f')](_0x616d42)[_0x07e8('0x1f')](function(_0x4cb355){_0x8e71f[_0x07e8('0x4f')]=_0x4cb355;if(_0x393a64[_0x07e8('0x42')][_0x07e8('0x50')]){_0x438015[_0x07e8('0x51')]=[{'all':!![]}];}return db[_0x07e8('0x3b')][_0x07e8('0x52')](_0x438015);})[_0x07e8('0x1f')](function(_0x5caaac){_0x8e71f[_0x07e8('0x53')]=_0x5caaac;return _0x8e71f;})[_0x07e8('0x1f')](respondWithFilteredResult(_0x23cc5e,_0x438015))['catch'](handleError(_0x23cc5e,null));};exports[_0x07e8('0x54')]=function(_0x52894d,_0x3ba16f){var _0x5a53eb={'raw':!![],'where':{'id':_0x52894d[_0x07e8('0x55')]['id']}},_0x477d0b={};_0x477d0b[_0x07e8('0x3f')]=_[_0x07e8('0x56')](db[_0x07e8('0x3b')][_0x07e8('0x57')]);_0x477d0b['query']=_['keys'](_0x52894d[_0x07e8('0x42')]);_0x477d0b[_0x07e8('0x40')]=_[_0x07e8('0x41')](_0x477d0b[_0x07e8('0x3f')],_0x477d0b[_0x07e8('0x42')]);_0x5a53eb[_0x07e8('0x43')]=_[_0x07e8('0x41')](_0x477d0b['model'],qs[_0x07e8('0x44')](_0x52894d['query'][_0x07e8('0x44')]));_0x5a53eb['attributes']=_0x5a53eb[_0x07e8('0x43')][_0x07e8('0x58')]?_0x5a53eb[_0x07e8('0x43')]:_0x477d0b[_0x07e8('0x3f')];if(_0x52894d[_0x07e8('0x42')][_0x07e8('0x50')]){_0x5a53eb[_0x07e8('0x51')]=[{'all':!![]}];}_0x5a53eb=_[_0x07e8('0x4d')]({},_0x5a53eb,_0x52894d[_0x07e8('0x4e')]);return db[_0x07e8('0x3b')][_0x07e8('0x59')](_0x5a53eb)['then'](handleEntityNotFound(_0x3ba16f,null))['then'](respondWithResult(_0x3ba16f,null))['catch'](handleError(_0x3ba16f,null));};exports['create']=function(_0x503ca3,_0x12f470){return db[_0x07e8('0x3b')][_0x07e8('0x5a')](_0x503ca3[_0x07e8('0x5b')],{})['then'](function(_0x99106){var _0x30ebf5=_0x503ca3[_0x07e8('0x5c')][_0x07e8('0x5d')]({'plain':!![]});if(!_0x30ebf5)throw new Error(_0x07e8('0x5e'));if(_0x30ebf5[_0x07e8('0x5f')]===_0x07e8('0x5c')){var _0x9aa086=_0x99106[_0x07e8('0x5d')]({'plain':!![]});var _0x34c1cc='ChatQueues';return db[_0x07e8('0x60')]['find']({'where':{'name':_0x34c1cc,'userProfileId':_0x30ebf5[_0x07e8('0x61')]},'raw':!![]})['then'](function(_0x558a8a){if(_0x558a8a&&_0x558a8a[_0x07e8('0x62')]===0x0){return db[_0x07e8('0x63')][_0x07e8('0x5a')]({'name':_0x9aa086[_0x07e8('0x37')],'resourceId':_0x9aa086['id'],'type':_0x558a8a[_0x07e8('0x37')],'sectionId':_0x558a8a['id']},{})[_0x07e8('0x1f')](function(){return _0x99106;});}else{return _0x99106;}})['catch'](function(_0x2b51a3){logger[_0x07e8('0x24')](_0x07e8('0x64'),_0x2b51a3);throw _0x2b51a3;});}return _0x99106;})[_0x07e8('0x1f')](respondWithResult(_0x12f470,0xc9))['catch'](handleError(_0x12f470,null));};exports[_0x07e8('0x34')]=function(_0x19a5d6,_0x1244ac){if(_0x19a5d6[_0x07e8('0x5b')]['id']){delete _0x19a5d6[_0x07e8('0x5b')]['id'];}return db['ChatQueue'][_0x07e8('0x59')]({'where':{'id':_0x19a5d6[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](handleEntityNotFound(_0x1244ac,null))['then'](saveUpdates(_0x19a5d6[_0x07e8('0x5b')],null))[_0x07e8('0x1f')](respondWithResult(_0x1244ac,null))[_0x07e8('0x29')](handleError(_0x1244ac,null));};exports[_0x07e8('0x35')]=function(_0x4461fc,_0x17d52b){return db[_0x07e8('0x3b')][_0x07e8('0x59')]({'where':{'id':_0x4461fc[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](handleEntityNotFound(_0x17d52b,null))[_0x07e8('0x1f')](removeEntity(_0x17d52b,null))[_0x07e8('0x29')](handleError(_0x17d52b,null));};exports['describe']=function(_0x30b946,_0x20915b){return db[_0x07e8('0x3b')][_0x07e8('0x65')]()[_0x07e8('0x1f')](respondWithResult(_0x20915b,null))[_0x07e8('0x29')](handleError(_0x20915b,null));};exports[_0x07e8('0x66')]=function(_0x5079b1,_0x26731c,_0x458edd){var _0xda889d={'raw':!![],'where':{}},_0x280546={},_0x26eda9;return db[_0x07e8('0x3b')][_0x07e8('0x67')]({'where':{'id':_0x5079b1[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](handleEntityNotFound(_0x26731c,null))[_0x07e8('0x1f')](function(_0x568392){if(_0x568392){_0x26eda9=_0x568392[_0x07e8('0x5d')]({'plain':!![]});_0x280546[_0x07e8('0x3f')]=_[_0x07e8('0x56')](db['UserChatQueue'][_0x07e8('0x57')]);_0x280546[_0x07e8('0x42')]=_[_0x07e8('0x56')](_0x5079b1[_0x07e8('0x42')]);_0x280546[_0x07e8('0x40')]=_[_0x07e8('0x41')](_0x280546['model'],_0x280546[_0x07e8('0x42')]);_0xda889d[_0x07e8('0x43')]=_[_0x07e8('0x41')](_0x280546[_0x07e8('0x3f')],qs[_0x07e8('0x44')](_0x5079b1[_0x07e8('0x42')]['fields']));_0xda889d[_0x07e8('0x43')]=_0xda889d[_0x07e8('0x43')]['length']?_0xda889d[_0x07e8('0x43')]:_0x280546[_0x07e8('0x3f')];if(!_0x5079b1['query'][_0x07e8('0x45')](_0x07e8('0x46'))){_0xda889d[_0x07e8('0x2f')]=qs['limit'](_0x5079b1[_0x07e8('0x42')][_0x07e8('0x2f')]);_0xda889d[_0x07e8('0x2e')]=qs['offset'](_0x5079b1[_0x07e8('0x42')][_0x07e8('0x2e')]);}_0xda889d['order']=qs[_0x07e8('0x48')](_0x5079b1[_0x07e8('0x42')][_0x07e8('0x48')]);_0xda889d['where']=qs[_0x07e8('0x40')](_[_0x07e8('0x4a')](_0x5079b1[_0x07e8('0x42')],_0x280546['filters']));_0xda889d[_0x07e8('0x49')][_0x07e8('0x68')]=_0x568392['id'];if(_0x5079b1[_0x07e8('0x42')]['filter']){_0xda889d['where']=_['merge'](_0xda889d['where'],{'$or':_['map'](_0xda889d['attributes'],function(_0x43b155){var _0x1f8108={};_0x1f8108[_0x43b155]={'$like':'%'+_0x5079b1['query'][_0x07e8('0x4b')]+'%'};return _0x1f8108;})});}_0xda889d=_[_0x07e8('0x4d')]({},_0xda889d,_0x5079b1[_0x07e8('0x4e')]);return db['UserChatQueue'][_0x07e8('0x52')](_0xda889d);}})['then'](function(_0xef6a3e){if(_0xef6a3e){return db['User']['findAndCountAll']({'where':{'id':_['map'](_0xef6a3e,'UserId'),'role':_0x07e8('0x69')},'attributes':['id',_0x07e8('0x37'),_0x07e8('0x6a'),'updatedAt',_0x07e8('0x6b')]});}})[_0x07e8('0x1f')](function(_0x378381){if(_0x378381){return{'count':_0x378381[_0x07e8('0x4f')],'rows':_[_0x07e8('0x3a')](_0x378381[_0x07e8('0x53')],function(_0x36bfcd){return{'membername':_0x36bfcd[_0x07e8('0x37')],'UserId':_0x36bfcd['id'],'queue_name':_0x26eda9[_0x07e8('0x37')],'ChatQueueId':_0x26eda9['id'],'interface':util[_0x07e8('0x6c')](_0x07e8('0x6d'),'SIP',_0x36bfcd[_0x07e8('0x37')]),'penalty':0x0,'paused':_0x36bfcd[_0x07e8('0x6a')],'createdAt':_0x36bfcd[_0x07e8('0x6b')],'updatedAt':_0x36bfcd['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x26731c,_0xda889d))[_0x07e8('0x29')](handleError(_0x26731c,null));};exports[_0x07e8('0x6e')]=function(_0x310b1b,_0x1fa845,_0x3fe3dd){var _0x1e95b1={};var _0x14f7c1={};var _0x30f888;var _0x13b310;return db['ChatQueue'][_0x07e8('0x67')]({'where':{'id':_0x310b1b['params']['id']}})[_0x07e8('0x1f')](handleEntityNotFound(_0x1fa845,null))['then'](function(_0x512632){if(_0x512632){_0x30f888=_0x512632;_0x14f7c1[_0x07e8('0x3f')]=_[_0x07e8('0x56')](db[_0x07e8('0x6f')][_0x07e8('0x57')]);_0x14f7c1['query']=_[_0x07e8('0x56')](_0x310b1b[_0x07e8('0x42')]);_0x14f7c1['filters']=_['intersection'](_0x14f7c1[_0x07e8('0x3f')],_0x14f7c1[_0x07e8('0x42')]);_0x1e95b1[_0x07e8('0x43')]=_[_0x07e8('0x41')](_0x14f7c1[_0x07e8('0x3f')],qs[_0x07e8('0x44')](_0x310b1b[_0x07e8('0x42')]['fields']));_0x1e95b1[_0x07e8('0x43')]=_0x1e95b1[_0x07e8('0x43')][_0x07e8('0x58')]?_0x1e95b1[_0x07e8('0x43')]:_0x14f7c1['model'];_0x1e95b1[_0x07e8('0x47')]=qs[_0x07e8('0x48')](_0x310b1b[_0x07e8('0x42')][_0x07e8('0x48')]);_0x1e95b1['where']=qs[_0x07e8('0x40')](_[_0x07e8('0x4a')](_0x310b1b['query'],_0x14f7c1[_0x07e8('0x40')]));if(_0x310b1b['query'][_0x07e8('0x4b')]){_0x1e95b1[_0x07e8('0x49')]=_[_0x07e8('0x4d')](_0x1e95b1[_0x07e8('0x49')],{'$or':_['map'](_0x1e95b1['attributes'],function(_0x5864e8){var _0x5f050e={};_0x5f050e[_0x5864e8]={'$like':'%'+_0x310b1b[_0x07e8('0x42')][_0x07e8('0x4b')]+'%'};return _0x5f050e;})});}_0x1e95b1=_[_0x07e8('0x4d')]({},_0x1e95b1,_0x310b1b['options']);return _0x30f888[_0x07e8('0x6e')](_0x1e95b1);}})[_0x07e8('0x1f')](function(_0x2e8edb){if(_0x2e8edb){_0x13b310=_0x2e8edb[_0x07e8('0x58')];if(!_0x310b1b['query'][_0x07e8('0x45')](_0x07e8('0x46'))){_0x1e95b1[_0x07e8('0x2f')]=qs[_0x07e8('0x2f')](_0x310b1b['query'][_0x07e8('0x2f')]);_0x1e95b1[_0x07e8('0x2e')]=qs[_0x07e8('0x2e')](_0x310b1b[_0x07e8('0x42')]['offset']);}return _0x30f888[_0x07e8('0x6e')](_0x1e95b1);}})['then'](function(_0x40a095){if(_0x40a095){return _0x40a095?{'count':_0x13b310,'rows':_0x40a095}:null;}})[_0x07e8('0x1f')](respondWithResult(_0x1fa845,null))[_0x07e8('0x29')](handleError(_0x1fa845,null));};exports[_0x07e8('0x70')]=function(_0x5cf61e,_0x1d61be,_0xed40ce){var _0x3ea304=_0x5cf61e[_0x07e8('0x5b')][_0x07e8('0x71')];return db[_0x07e8('0x6f')][_0x07e8('0x52')]({'where':{'id':_0x3ea304},'attributes':['id'],'include':[{'model':db[_0x07e8('0x72')],'as':_0x07e8('0x73'),'attributes':['id',_0x07e8('0x37'),_0x07e8('0x74'),_0x07e8('0x75'),_0x07e8('0x76')],'raw':!![]}]})[_0x07e8('0x1f')](function(_0x53093c){if(_0x53093c){var _0x33c7c8=_['flatMap'](_0x53093c,function(_0x1e470b){var _0x286d25=_0x1e470b[_0x07e8('0x5d')]({'plain':!![]});return _0x286d25['Agents'];});return db['ChatQueue'][_0x07e8('0x59')]({'where':{'id':_0x5cf61e[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](function(_0x3a6c4b){return db[_0x07e8('0x77')][_0x07e8('0x78')](function(_0xcdcda0){return _0x3a6c4b[_0x07e8('0x70')](_0x3ea304,{'transaction':_0xcdcda0})['then'](function(){return BPromise[_0x07e8('0x79')](_0x33c7c8,function(_0x2c2737){return db[_0x07e8('0x7a')][_0x07e8('0x7b')]({'where':{'UserId':_0x2c2737['id'],'ChatQueueId':_0x5cf61e[_0x07e8('0x55')]['id']},'transaction':_0xcdcda0});});})[_0x07e8('0x1f')](function(){_0x33c7c8['forEach'](function(_0x67a3e6){socket[_0x07e8('0x7c')](_0x07e8('0x7d'),{'UserId':_0x67a3e6['id'],'ChatQueueId':_0x3a6c4b['id']});});});});});}})[_0x07e8('0x1f')](respondWithStatusCode(_0x1d61be,null))[_0x07e8('0x29')](handleError(_0x1d61be,null));};exports[_0x07e8('0x7e')]=function(_0xc65281,_0x22f9c2,_0x100088){return db['Team'][_0x07e8('0x52')]({'where':{'id':_0xc65281[_0x07e8('0x42')][_0x07e8('0x71')]},'attributes':['id'],'include':[{'model':db[_0x07e8('0x72')],'as':_0x07e8('0x73'),'attributes':['id'],'raw':!![]}]})[_0x07e8('0x1f')](handleEntityNotFound(_0x22f9c2,null))[_0x07e8('0x1f')](function(_0x5905f9){var _0x1156e7=_[_0x07e8('0x3a')](_0x5905f9,'id');var _0x41a181=[];var _0xe0fe79=[];var _0x39a45d=squel['select']();_0x39a45d[_0x07e8('0x7f')](_0x07e8('0x80'))[_0x07e8('0x81')]('team_has_chat_queues','tq')[_0x07e8('0x82')](_0x07e8('0x83'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x07e8('0x49')](_0x07e8('0x84'),_0xc65281[_0x07e8('0x55')]['id']);for(var _0x370463=0x0;_0x370463<_0x5905f9['length'];_0x370463+=0x1){let _0x47274c=_0x5905f9[_0x370463];for(var _0xba8cea=0x0;_0xba8cea<_0x47274c[_0x07e8('0x73')]['length'];_0xba8cea+=0x1){let _0x2b2106=_0x47274c['Agents'][_0xba8cea];var _0x56f1ed=_0x39a45d['clone']();_0x56f1ed['where'](_0x07e8('0x85'),_0x2b2106['id']);_0xe0fe79[_0x07e8('0x86')](db['sequelize'][_0x07e8('0x42')](_0x56f1ed[_0x07e8('0x87')](),{'type':db[_0x07e8('0x77')][_0x07e8('0x88')][_0x07e8('0x89')]})[_0x07e8('0x1f')](function(_0x30769a){if(_0x30769a[_0x07e8('0x58')]===0x1){return _0x2b2106['id'];}else{var _0x5e8e75=_[_0x07e8('0x8a')](_[_0x07e8('0x3a')](_0x30769a,'TeamId'),function(_0x43f24a){return _[_0x07e8('0x8b')](_0x1156e7,_0x43f24a);});if(_0x5e8e75){return _0x2b2106['id'];}}}));}}return BPromise[_0x07e8('0x8c')](_0xe0fe79)[_0x07e8('0x1f')](function(_0x2ec90d){_0x41a181=_(_0x41a181)[_0x07e8('0x8d')](_0x2ec90d)[_0x07e8('0x8e')]()[_0x07e8('0x8f')]();return db[_0x07e8('0x3b')]['find']({'where':{'id':_0xc65281[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](function(_0x3b907b){return db[_0x07e8('0x77')][_0x07e8('0x78')](function(_0x2c0e84){return _0x3b907b[_0x07e8('0x7e')](_0xc65281[_0x07e8('0x42')]['ids'],{'transaction':_0x2c0e84})[_0x07e8('0x1f')](function(){if(!_[_0x07e8('0x90')](_0x41a181)){return _0x3b907b[_0x07e8('0x91')](_0x41a181,{'transaction':_0x2c0e84});}})['then'](function(){_0x41a181['forEach'](function(_0x307f55){socket[_0x07e8('0x7c')](_0x07e8('0x92'),{'UserId':_0x307f55,'ChatQueueId':_0x3b907b['id']});});});});});});})[_0x07e8('0x1f')](respondWithStatusCode(_0x22f9c2,null))[_0x07e8('0x29')](handleError(_0x22f9c2,null));};exports[_0x07e8('0x93')]=function(_0x48186f,_0x3b57b5,_0x569581){return db[_0x07e8('0x3b')]['find']({'where':{'id':_0x48186f[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](handleEntityNotFound(_0x3b57b5,null))[_0x07e8('0x1f')](function(_0x467d3c){if(_0x467d3c){return _0x467d3c[_0x07e8('0x93')](_0x48186f[_0x07e8('0x5b')]['ids'],_[_0x07e8('0x94')](_0x48186f['body'],[_0x07e8('0x71'),'id'])||{})['spread'](function(_0x51d9a9){for(var _0x2e7498=0x0;_0x2e7498<_0x48186f['body'][_0x07e8('0x71')][_0x07e8('0x58')];_0x2e7498+=0x1){socket[_0x07e8('0x7c')](_0x07e8('0x7d'),{'UserId':_0x48186f[_0x07e8('0x5b')][_0x07e8('0x71')][_0x2e7498],'ChatQueueId':_0x48186f[_0x07e8('0x55')]['id']});}return _0x51d9a9;});}})[_0x07e8('0x1f')](respondWithResult(_0x3b57b5,null))[_0x07e8('0x29')](handleError(_0x3b57b5,null));};exports[_0x07e8('0x91')]=function(_0x262473,_0x1ec343,_0x38c3b8){return db[_0x07e8('0x3b')][_0x07e8('0x59')]({'where':{'id':_0x262473[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](handleEntityNotFound(_0x1ec343,null))['then'](function(_0xda13ac){if(_0xda13ac){return _0xda13ac[_0x07e8('0x91')](_0x262473[_0x07e8('0x42')][_0x07e8('0x71')])[_0x07e8('0x1f')](function(){if(_[_0x07e8('0x95')](_0x262473[_0x07e8('0x42')]['ids'])){for(var _0x52db77=0x0;_0x52db77<_0x262473[_0x07e8('0x42')][_0x07e8('0x71')]['length'];_0x52db77+=0x1){socket[_0x07e8('0x7c')](_0x07e8('0x92'),{'UserId':Number(_0x262473[_0x07e8('0x42')]['ids'][_0x52db77]),'ChatQueueId':Number(_0x262473[_0x07e8('0x55')]['id'])});}}else{socket[_0x07e8('0x7c')](_0x07e8('0x92'),{'UserId':Number(_0x262473[_0x07e8('0x42')]['ids']),'ChatQueueId':Number(_0x262473[_0x07e8('0x55')]['id'])});}});}})[_0x07e8('0x1f')](respondWithStatusCode(_0x1ec343,null))[_0x07e8('0x29')](handleError(_0x1ec343,null));};exports[_0x07e8('0x96')]=function(_0x20cf5f,_0x4424ea,_0x3f5098){var _0x32b041={};var _0x44b2c1={};var _0xcf6a0e;var _0x55339b;return db[_0x07e8('0x3b')][_0x07e8('0x67')]({'where':{'id':_0x20cf5f[_0x07e8('0x55')]['id']}})[_0x07e8('0x1f')](handleEntityNotFound(_0x4424ea,null))[_0x07e8('0x1f')](function(_0x547c3b){if(_0x547c3b){_0xcf6a0e=_0x547c3b;_0x44b2c1['model']=_[_0x07e8('0x56')](db['User'][_0x07e8('0x57')]);_0x44b2c1['query']=_[_0x07e8('0x56')](_0x20cf5f['query']);_0x44b2c1[_0x07e8('0x40')]=_[_0x07e8('0x41')](_0x44b2c1[_0x07e8('0x3f')],_0x44b2c1[_0x07e8('0x42')]);_0x32b041[_0x07e8('0x43')]=_[_0x07e8('0x41')](_0x44b2c1[_0x07e8('0x3f')],qs[_0x07e8('0x44')](_0x20cf5f[_0x07e8('0x42')][_0x07e8('0x44')]));_0x32b041['attributes']=_0x32b041[_0x07e8('0x43')][_0x07e8('0x58')]?_0x32b041[_0x07e8('0x43')]:_0x44b2c1['model'];_0x32b041[_0x07e8('0x47')]=qs[_0x07e8('0x48')](_0x20cf5f['query'][_0x07e8('0x48')]);_0x32b041[_0x07e8('0x49')]=qs[_0x07e8('0x40')](_[_0x07e8('0x4a')](_0x20cf5f[_0x07e8('0x42')],_0x44b2c1['filters']));if(_0x20cf5f[_0x07e8('0x42')][_0x07e8('0x4b')]){_0x32b041[_0x07e8('0x49')]=_[_0x07e8('0x4d')](_0x32b041['where'],{'$or':_[_0x07e8('0x3a')](_0x32b041['attributes'],function(_0x1a791c){var _0x41ca29={};_0x41ca29[_0x1a791c]={'$like':'%'+_0x20cf5f['query']['filter']+'%'};return _0x41ca29;})});}_0x32b041=_['merge']({},_0x32b041,_0x20cf5f['options']);return _0xcf6a0e[_0x07e8('0x96')](_0x32b041);}})[_0x07e8('0x1f')](function(_0x1b1cea){if(_0x1b1cea){_0x55339b=_0x1b1cea[_0x07e8('0x58')];if(!_0x20cf5f['query'][_0x07e8('0x45')]('nolimit')){_0x32b041[_0x07e8('0x2f')]=qs[_0x07e8('0x2f')](_0x20cf5f[_0x07e8('0x42')][_0x07e8('0x2f')]);_0x32b041['offset']=qs[_0x07e8('0x2e')](_0x20cf5f[_0x07e8('0x42')][_0x07e8('0x2e')]);}return _0xcf6a0e[_0x07e8('0x96')](_0x32b041);}})[_0x07e8('0x1f')](function(_0xf59dca){if(_0xf59dca){return _0xf59dca?{'count':_0x55339b,'rows':_0xf59dca}:null;}})[_0x07e8('0x1f')](respondWithResult(_0x4424ea,null))[_0x07e8('0x29')](handleError(_0x4424ea,null));};