ec0863ed38ac0777fdee50816b5fb90f81dadc0f
[motion2.git] / server / api / openchannelQueue / openchannelQueue.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 _0x63bb=['undefined','count','offset','Content-Range','apply','reject','save','OpenchannelQueues','UserProfileResource','destroy','then','end','sendStatus','stack','name','send','render','merge','body','contact','message','agent','interaction','account','index','map','OpenchannelQueue','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','options','includeAll','include','catch','rawAttributes','length','find','user','get','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','getMembers','UserOpenchannelQueue','findAll','findAndCountAll','UserId','updatedAt','createdAt','rows','format','%s/%s','SIP','openchannelPause','getTeams','findOne','Team','nolimit','addTeams','ids','User','voicePause','Agents','sequelize','transaction','each','emit','userOpenchannelQueue:save','removeTeams','tq.TeamId','from','team_has_openchannel_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','toString','QueryTypes','SELECT','every','TeamId','all','union','compact','value','removeAgents','forEach','userOpenchannelQueue:remove','addAgents','spread','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','socket.io-emitter','./openchannelQueue.socket','register','status','json','limit'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x63bb,0xf8));var _0xb63b=function(_0x5951e8,_0x42b9a7){_0x5951e8=_0x5951e8-0x0;var _0x20a1f5=_0x63bb[_0x5951e8];return _0x20a1f5;};'use strict';var emlformat=require(_0xb63b('0x0'));var rimraf=require(_0xb63b('0x1'));var zipdir=require(_0xb63b('0x2'));var jsonpatch=require(_0xb63b('0x3'));var rp=require(_0xb63b('0x4'));var moment=require(_0xb63b('0x5'));var BPromise=require(_0xb63b('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xb63b('0x7'));var sox=require(_0xb63b('0x8'));var csv=require(_0xb63b('0x9'));var ejs=require(_0xb63b('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb63b('0xb'));var squel=require(_0xb63b('0xc'));var crypto=require(_0xb63b('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xb63b('0xe'));var toCsv=require(_0xb63b('0x9'));var querystring=require('querystring');var Papa=require(_0xb63b('0xf'));var Redis=require(_0xb63b('0x10'));var authService=require(_0xb63b('0x11'));var qs=require(_0xb63b('0x12'));var as=require(_0xb63b('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb63b('0x14'))(_0xb63b('0x15'));var utils=require(_0xb63b('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb63b('0x17'))['db'];config[_0xb63b('0x18')]=_[_0xb63b('0x19')](config[_0xb63b('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xb63b('0x1a'))(new Redis(config[_0xb63b('0x18')]));require(_0xb63b('0x1b'))[_0xb63b('0x1c')](socket);function respondWithStatusCode(_0x2d0e2a,_0x2a9f72){_0x2a9f72=_0x2a9f72||0xcc;return function(_0x40fd5e){if(_0x40fd5e){return _0x2d0e2a['sendStatus'](_0x2a9f72);}return _0x2d0e2a[_0xb63b('0x1d')](_0x2a9f72)['end']();};}function respondWithResult(_0x21ac0e,_0x44ae16){_0x44ae16=_0x44ae16||0xc8;return function(_0x108d3a){if(_0x108d3a){return _0x21ac0e[_0xb63b('0x1d')](_0x44ae16)[_0xb63b('0x1e')](_0x108d3a);}};}function respondWithFilteredResult(_0x59718f,_0x1c864a){return function(_0x322426){if(_0x322426){var _0x53ce69=typeof _0x1c864a['offset']==='undefined'&&typeof _0x1c864a[_0xb63b('0x1f')]===_0xb63b('0x20');var _0x39b7b7=_0x322426[_0xb63b('0x21')];var _0x4f4527=_0x53ce69?0x0:_0x1c864a[_0xb63b('0x22')];var _0x1735fa=_0x53ce69?_0x322426[_0xb63b('0x21')]:_0x1c864a[_0xb63b('0x22')]+_0x1c864a['limit'];var _0x482cb8;if(_0x1735fa>=_0x39b7b7){_0x1735fa=_0x39b7b7;_0x482cb8=0xc8;}else{_0x482cb8=0xce;}_0x59718f[_0xb63b('0x1d')](_0x482cb8);return _0x59718f['set'](_0xb63b('0x23'),_0x4f4527+'-'+_0x1735fa+'/'+_0x39b7b7)[_0xb63b('0x1e')](_0x322426);}return null;};}function patchUpdates(_0x37a57f){return function(_0x1678b6){try{jsonpatch[_0xb63b('0x24')](_0x1678b6,_0x37a57f,!![]);}catch(_0x2cc35c){return BPromise[_0xb63b('0x25')](_0x2cc35c);}return _0x1678b6[_0xb63b('0x26')]();};}function saveUpdates(_0x5aedd2,_0x215898){return function(_0x5e19eb){if(_0x5e19eb){return _0x5e19eb['update'](_0x5aedd2)['then'](function(_0x89c2ed){return _0x89c2ed;});}return null;};}function removeEntity(_0x3e8121,_0x4f8b1d){return function(_0x387966){if(_0x387966){return _0x387966['destroy']()['then'](function(){var _0x512053=_0x387966['get']({'plain':!![]});var _0x5c396a=_0xb63b('0x27');return db[_0xb63b('0x28')][_0xb63b('0x29')]({'where':{'type':_0x5c396a,'resourceId':_0x512053['id']}})[_0xb63b('0x2a')](function(){return _0x387966;});})[_0xb63b('0x2a')](function(){_0x3e8121['status'](0xcc)[_0xb63b('0x2b')]();});}};}function handleEntityNotFound(_0x1fd64d,_0x4ddcf0){return function(_0x239e4c){if(!_0x239e4c){_0x1fd64d[_0xb63b('0x2c')](0x194);}return _0x239e4c;};}function handleError(_0x20e797,_0x25a7c9){_0x25a7c9=_0x25a7c9||0x1f4;return function(_0x3757a6){logger['error'](_0x3757a6[_0xb63b('0x2d')]);if(_0x3757a6['name']){delete _0x3757a6[_0xb63b('0x2e')];}_0x20e797[_0xb63b('0x1d')](_0x25a7c9)[_0xb63b('0x2f')](_0x3757a6);};}function getMustacheRender(_0x49cd65,_0x1b573a){return Mustache[_0xb63b('0x30')](_0x49cd65,_[_0xb63b('0x31')](_0x1b573a[_0xb63b('0x32')],{'contact':_0x1b573a[_0xb63b('0x33')],'message':_0x1b573a[_0xb63b('0x34')],'agent':_0x1b573a[_0xb63b('0x35')],'interaction':_0x1b573a[_0xb63b('0x36')],'account':_0x1b573a[_0xb63b('0x37')]}))||'';}exports[_0xb63b('0x38')]=function(_0x393556,_0x46ce32){var _0x2c3afa={},_0x2f8a09={},_0x28954a={'count':0x0,'rows':[]};var _0xa04281=_[_0xb63b('0x39')](db[_0xb63b('0x3a')]['rawAttributes'],function(_0xe546a3){return{'name':_0xe546a3[_0xb63b('0x3b')],'type':_0xe546a3['type'][_0xb63b('0x3c')]};});_0x2f8a09[_0xb63b('0x3d')]=_['map'](_0xa04281,_0xb63b('0x2e'));_0x2f8a09[_0xb63b('0x3e')]=_[_0xb63b('0x3f')](_0x393556['query']);_0x2f8a09[_0xb63b('0x40')]=_[_0xb63b('0x41')](_0x2f8a09['model'],_0x2f8a09['query']);_0x2c3afa[_0xb63b('0x42')]=_[_0xb63b('0x41')](_0x2f8a09[_0xb63b('0x3d')],qs[_0xb63b('0x43')](_0x393556[_0xb63b('0x3e')][_0xb63b('0x43')]));_0x2c3afa[_0xb63b('0x42')]=_0x2c3afa[_0xb63b('0x42')]['length']?_0x2c3afa[_0xb63b('0x42')]:_0x2f8a09['model'];if(!_0x393556[_0xb63b('0x3e')][_0xb63b('0x44')]('nolimit')){_0x2c3afa['limit']=qs[_0xb63b('0x1f')](_0x393556[_0xb63b('0x3e')][_0xb63b('0x1f')]);_0x2c3afa[_0xb63b('0x22')]=qs[_0xb63b('0x22')](_0x393556[_0xb63b('0x3e')][_0xb63b('0x22')]);}_0x2c3afa[_0xb63b('0x45')]=qs[_0xb63b('0x46')](_0x393556[_0xb63b('0x3e')][_0xb63b('0x46')]);_0x2c3afa[_0xb63b('0x47')]=qs[_0xb63b('0x40')](_[_0xb63b('0x48')](_0x393556[_0xb63b('0x3e')],_0x2f8a09[_0xb63b('0x40')]),_0xa04281);if(_0x393556[_0xb63b('0x3e')][_0xb63b('0x49')]){_0x2c3afa[_0xb63b('0x47')]=_[_0xb63b('0x31')](_0x2c3afa[_0xb63b('0x47')],{'$or':_[_0xb63b('0x39')](_0xa04281,function(_0x5c20ab){if(_0x5c20ab['type']!=='VIRTUAL'){var _0x4ade9f={};_0x4ade9f[_0x5c20ab[_0xb63b('0x2e')]]={'$like':'%'+_0x393556[_0xb63b('0x3e')][_0xb63b('0x49')]+'%'};return _0x4ade9f;}})});}_0x2c3afa=_[_0xb63b('0x31')]({},_0x2c3afa,_0x393556[_0xb63b('0x4a')]);var _0x15c8b8={'where':_0x2c3afa[_0xb63b('0x47')]};return db[_0xb63b('0x3a')]['count'](_0x15c8b8)[_0xb63b('0x2a')](function(_0x2e7591){_0x28954a[_0xb63b('0x21')]=_0x2e7591;if(_0x393556[_0xb63b('0x3e')][_0xb63b('0x4b')]){_0x2c3afa[_0xb63b('0x4c')]=[{'all':!![]}];}return db[_0xb63b('0x3a')]['findAll'](_0x2c3afa);})['then'](function(_0x41c5c3){_0x28954a['rows']=_0x41c5c3;return _0x28954a;})[_0xb63b('0x2a')](respondWithFilteredResult(_0x46ce32,_0x2c3afa))[_0xb63b('0x4d')](handleError(_0x46ce32,null));};exports['show']=function(_0x205fae,_0x224931){var _0x2093de={'raw':!![],'where':{'id':_0x205fae['params']['id']}},_0x2ee090={};_0x2ee090[_0xb63b('0x3d')]=_[_0xb63b('0x3f')](db[_0xb63b('0x3a')][_0xb63b('0x4e')]);_0x2ee090[_0xb63b('0x3e')]=_[_0xb63b('0x3f')](_0x205fae['query']);_0x2ee090[_0xb63b('0x40')]=_[_0xb63b('0x41')](_0x2ee090[_0xb63b('0x3d')],_0x2ee090[_0xb63b('0x3e')]);_0x2093de['attributes']=_[_0xb63b('0x41')](_0x2ee090[_0xb63b('0x3d')],qs['fields'](_0x205fae[_0xb63b('0x3e')][_0xb63b('0x43')]));_0x2093de[_0xb63b('0x42')]=_0x2093de[_0xb63b('0x42')][_0xb63b('0x4f')]?_0x2093de[_0xb63b('0x42')]:_0x2ee090[_0xb63b('0x3d')];if(_0x205fae['query'][_0xb63b('0x4b')]){_0x2093de['include']=[{'all':!![]}];}_0x2093de=_['merge']({},_0x2093de,_0x205fae[_0xb63b('0x4a')]);return db['OpenchannelQueue'][_0xb63b('0x50')](_0x2093de)[_0xb63b('0x2a')](handleEntityNotFound(_0x224931,null))[_0xb63b('0x2a')](respondWithResult(_0x224931,null))['catch'](handleError(_0x224931,null));};exports['create']=function(_0x520ff2,_0x3fa092){return db[_0xb63b('0x3a')]['create'](_0x520ff2[_0xb63b('0x32')],{})[_0xb63b('0x2a')](function(_0x4a4727){var _0x185020=_0x520ff2[_0xb63b('0x51')][_0xb63b('0x52')]({'plain':!![]});if(!_0x185020)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x185020['role']===_0xb63b('0x51')){var _0x2b4420=_0x4a4727[_0xb63b('0x52')]({'plain':!![]});var _0x336749=_0xb63b('0x27');return db[_0xb63b('0x53')]['find']({'where':{'name':_0x336749,'userProfileId':_0x185020['userProfileId']},'raw':!![]})['then'](function(_0x3d3b13){if(_0x3d3b13&&_0x3d3b13[_0xb63b('0x54')]===0x0){return db[_0xb63b('0x28')]['create']({'name':_0x2b4420['name'],'resourceId':_0x2b4420['id'],'type':_0x3d3b13['name'],'sectionId':_0x3d3b13['id']},{})['then'](function(){return _0x4a4727;});}else{return _0x4a4727;}})[_0xb63b('0x4d')](function(_0x15767b){logger[_0xb63b('0x55')](_0xb63b('0x56'),_0x15767b);throw _0x15767b;});}return _0x4a4727;})['then'](respondWithResult(_0x3fa092,0xc9))[_0xb63b('0x4d')](handleError(_0x3fa092,null));};exports[_0xb63b('0x57')]=function(_0x4b4adc,_0x117730){if(_0x4b4adc[_0xb63b('0x32')]['id']){delete _0x4b4adc[_0xb63b('0x32')]['id'];}return db[_0xb63b('0x3a')]['find']({'where':{'id':_0x4b4adc[_0xb63b('0x58')]['id']}})['then'](handleEntityNotFound(_0x117730,null))[_0xb63b('0x2a')](saveUpdates(_0x4b4adc[_0xb63b('0x32')],null))['then'](respondWithResult(_0x117730,null))[_0xb63b('0x4d')](handleError(_0x117730,null));};exports[_0xb63b('0x29')]=function(_0x1d43a2,_0x859f67){return db['OpenchannelQueue'][_0xb63b('0x50')]({'where':{'id':_0x1d43a2[_0xb63b('0x58')]['id']}})[_0xb63b('0x2a')](handleEntityNotFound(_0x859f67,null))[_0xb63b('0x2a')](removeEntity(_0x859f67,null))[_0xb63b('0x4d')](handleError(_0x859f67,null));};exports[_0xb63b('0x59')]=function(_0x4e5f53,_0x2b44a0){return db[_0xb63b('0x3a')][_0xb63b('0x59')]()['then'](respondWithResult(_0x2b44a0,null))['catch'](handleError(_0x2b44a0,null));};exports[_0xb63b('0x5a')]=function(_0x579d69,_0x245479,_0x256e6c){var _0x2c9b84={'raw':!![],'where':{}},_0xa6746={},_0x1843a4;return db[_0xb63b('0x3a')]['findOne']({'where':{'id':_0x579d69[_0xb63b('0x58')]['id']}})['then'](handleEntityNotFound(_0x245479,null))[_0xb63b('0x2a')](function(_0x3e97e3){if(_0x3e97e3){_0x1843a4=_0x3e97e3['get']({'plain':!![]});_0xa6746['model']=_[_0xb63b('0x3f')](db[_0xb63b('0x5b')][_0xb63b('0x4e')]);_0xa6746[_0xb63b('0x3e')]=_[_0xb63b('0x3f')](_0x579d69[_0xb63b('0x3e')]);_0xa6746['filters']=_[_0xb63b('0x41')](_0xa6746[_0xb63b('0x3d')],_0xa6746['query']);_0x2c9b84[_0xb63b('0x42')]=_['intersection'](_0xa6746['model'],qs[_0xb63b('0x43')](_0x579d69[_0xb63b('0x3e')][_0xb63b('0x43')]));_0x2c9b84[_0xb63b('0x42')]=_0x2c9b84[_0xb63b('0x42')][_0xb63b('0x4f')]?_0x2c9b84[_0xb63b('0x42')]:_0xa6746[_0xb63b('0x3d')];if(!_0x579d69[_0xb63b('0x3e')][_0xb63b('0x44')]('nolimit')){_0x2c9b84[_0xb63b('0x1f')]=qs[_0xb63b('0x1f')](_0x579d69[_0xb63b('0x3e')][_0xb63b('0x1f')]);_0x2c9b84[_0xb63b('0x22')]=qs[_0xb63b('0x22')](_0x579d69[_0xb63b('0x3e')][_0xb63b('0x22')]);}_0x2c9b84[_0xb63b('0x45')]=qs[_0xb63b('0x46')](_0x579d69[_0xb63b('0x3e')][_0xb63b('0x46')]);_0x2c9b84[_0xb63b('0x47')]=qs[_0xb63b('0x40')](_[_0xb63b('0x48')](_0x579d69[_0xb63b('0x3e')],_0xa6746['filters']));_0x2c9b84[_0xb63b('0x47')]['OpenchannelQueueId']=_0x3e97e3['id'];if(_0x579d69[_0xb63b('0x3e')][_0xb63b('0x49')]){_0x2c9b84[_0xb63b('0x47')]=_[_0xb63b('0x31')](_0x2c9b84[_0xb63b('0x47')],{'$or':_[_0xb63b('0x39')](_0x2c9b84[_0xb63b('0x42')],function(_0x3a055f){var _0x5eef9a={};_0x5eef9a[_0x3a055f]={'$like':'%'+_0x579d69[_0xb63b('0x3e')][_0xb63b('0x49')]+'%'};return _0x5eef9a;})});}_0x2c9b84=_[_0xb63b('0x31')]({},_0x2c9b84,_0x579d69['options']);return db[_0xb63b('0x5b')][_0xb63b('0x5c')](_0x2c9b84);}})[_0xb63b('0x2a')](function(_0xf0a8ae){if(_0xf0a8ae){return db['User'][_0xb63b('0x5d')]({'where':{'id':_[_0xb63b('0x39')](_0xf0a8ae,_0xb63b('0x5e')),'role':_0xb63b('0x35')},'attributes':['id',_0xb63b('0x2e'),'openchannelPause',_0xb63b('0x5f'),_0xb63b('0x60')]});}})[_0xb63b('0x2a')](function(_0x27ec9f){if(_0x27ec9f){return{'count':_0x27ec9f[_0xb63b('0x21')],'rows':_[_0xb63b('0x39')](_0x27ec9f[_0xb63b('0x61')],function(_0x28301c){return{'membername':_0x28301c[_0xb63b('0x2e')],'UserId':_0x28301c['id'],'queue_name':_0x1843a4['name'],'OpenchannelQueueId':_0x1843a4['id'],'interface':util[_0xb63b('0x62')](_0xb63b('0x63'),_0xb63b('0x64'),_0x28301c[_0xb63b('0x2e')]),'penalty':0x0,'paused':_0x28301c[_0xb63b('0x65')],'createdAt':_0x28301c[_0xb63b('0x60')],'updatedAt':_0x28301c[_0xb63b('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xb63b('0x2a')](respondWithFilteredResult(_0x245479,_0x2c9b84))[_0xb63b('0x4d')](handleError(_0x245479,null));};exports[_0xb63b('0x66')]=function(_0x3fe78,_0x113b1c,_0x57e508){var _0x10a9c7={};var _0x4a5a43={};var _0x2de207;var _0x482059;return db['OpenchannelQueue'][_0xb63b('0x67')]({'where':{'id':_0x3fe78[_0xb63b('0x58')]['id']}})[_0xb63b('0x2a')](handleEntityNotFound(_0x113b1c,null))[_0xb63b('0x2a')](function(_0x350a8f){if(_0x350a8f){_0x2de207=_0x350a8f;_0x4a5a43[_0xb63b('0x3d')]=_[_0xb63b('0x3f')](db[_0xb63b('0x68')]['rawAttributes']);_0x4a5a43['query']=_[_0xb63b('0x3f')](_0x3fe78[_0xb63b('0x3e')]);_0x4a5a43['filters']=_['intersection'](_0x4a5a43['model'],_0x4a5a43['query']);_0x10a9c7[_0xb63b('0x42')]=_[_0xb63b('0x41')](_0x4a5a43[_0xb63b('0x3d')],qs['fields'](_0x3fe78['query']['fields']));_0x10a9c7[_0xb63b('0x42')]=_0x10a9c7[_0xb63b('0x42')][_0xb63b('0x4f')]?_0x10a9c7[_0xb63b('0x42')]:_0x4a5a43['model'];_0x10a9c7[_0xb63b('0x45')]=qs[_0xb63b('0x46')](_0x3fe78[_0xb63b('0x3e')][_0xb63b('0x46')]);_0x10a9c7[_0xb63b('0x47')]=qs[_0xb63b('0x40')](_['pick'](_0x3fe78[_0xb63b('0x3e')],_0x4a5a43[_0xb63b('0x40')]));if(_0x3fe78[_0xb63b('0x3e')]['filter']){_0x10a9c7[_0xb63b('0x47')]=_[_0xb63b('0x31')](_0x10a9c7[_0xb63b('0x47')],{'$or':_[_0xb63b('0x39')](_0x10a9c7['attributes'],function(_0x5e4299){var _0x145eac={};_0x145eac[_0x5e4299]={'$like':'%'+_0x3fe78[_0xb63b('0x3e')]['filter']+'%'};return _0x145eac;})});}_0x10a9c7=_[_0xb63b('0x31')]({},_0x10a9c7,_0x3fe78[_0xb63b('0x4a')]);return _0x2de207[_0xb63b('0x66')](_0x10a9c7);}})[_0xb63b('0x2a')](function(_0x277186){if(_0x277186){_0x482059=_0x277186['length'];if(!_0x3fe78['query']['hasOwnProperty'](_0xb63b('0x69'))){_0x10a9c7[_0xb63b('0x1f')]=qs[_0xb63b('0x1f')](_0x3fe78[_0xb63b('0x3e')]['limit']);_0x10a9c7['offset']=qs[_0xb63b('0x22')](_0x3fe78['query']['offset']);}return _0x2de207['getTeams'](_0x10a9c7);}})[_0xb63b('0x2a')](function(_0x30951e){if(_0x30951e){return _0x30951e?{'count':_0x482059,'rows':_0x30951e}:null;}})[_0xb63b('0x2a')](respondWithResult(_0x113b1c,null))[_0xb63b('0x4d')](handleError(_0x113b1c,null));};exports[_0xb63b('0x6a')]=function(_0x54f624,_0x1338ee,_0x3458a2){var _0x23baa9=_0x54f624[_0xb63b('0x32')][_0xb63b('0x6b')];return db[_0xb63b('0x68')][_0xb63b('0x5c')]({'where':{'id':_0x23baa9},'attributes':['id'],'include':[{'model':db[_0xb63b('0x6c')],'as':'Agents','attributes':['id',_0xb63b('0x2e'),'online',_0xb63b('0x6d'),'interface'],'raw':!![]}]})[_0xb63b('0x2a')](function(_0xd03ea0){if(_0xd03ea0){var _0x438627=_['flatMap'](_0xd03ea0,function(_0x58ed2c){var _0x3191dd=_0x58ed2c[_0xb63b('0x52')]({'plain':!![]});return _0x3191dd[_0xb63b('0x6e')];});return db[_0xb63b('0x3a')][_0xb63b('0x50')]({'where':{'id':_0x54f624[_0xb63b('0x58')]['id']}})[_0xb63b('0x2a')](function(_0x485e2c){return db[_0xb63b('0x6f')][_0xb63b('0x70')](function(_0xed6996){return _0x485e2c[_0xb63b('0x6a')](_0x23baa9,{'transaction':_0xed6996})[_0xb63b('0x2a')](function(){return BPromise[_0xb63b('0x71')](_0x438627,function(_0x1c1de7){return db[_0xb63b('0x5b')]['findOrCreate']({'where':{'UserId':_0x1c1de7['id'],'OpenchannelQueueId':_0x54f624['params']['id']},'transaction':_0xed6996});});})['then'](function(){_0x438627['forEach'](function(_0x5b14dd){socket[_0xb63b('0x72')](_0xb63b('0x73'),{'UserId':_0x5b14dd['id'],'OpenchannelQueueId':_0x485e2c['id']});});});});});}})[_0xb63b('0x2a')](respondWithStatusCode(_0x1338ee,null))[_0xb63b('0x4d')](handleError(_0x1338ee,null));};exports[_0xb63b('0x74')]=function(_0x2ae5f3,_0x52ee04,_0x925ed8){return db['Team']['findAll']({'where':{'id':_0x2ae5f3[_0xb63b('0x3e')][_0xb63b('0x6b')]},'attributes':['id'],'include':[{'model':db[_0xb63b('0x6c')],'as':_0xb63b('0x6e'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x52ee04,null))[_0xb63b('0x2a')](function(_0x103416){var _0x48d4ca=_[_0xb63b('0x39')](_0x103416,'id');var _0x10aefc=[];var _0x5c8535=[];var _0x2ca497=squel['select']();_0x2ca497['field'](_0xb63b('0x75'))[_0xb63b('0x76')](_0xb63b('0x77'),'tq')['join'](_0xb63b('0x78'),'ut',_0xb63b('0x79'))[_0xb63b('0x47')](_0xb63b('0x7a'),_0x2ae5f3['params']['id']);for(var _0xf04071=0x0;_0xf04071<_0x103416[_0xb63b('0x4f')];_0xf04071+=0x1){let _0x1bcfbb=_0x103416[_0xf04071];for(var _0x24ed78=0x0;_0x24ed78<_0x1bcfbb['Agents'][_0xb63b('0x4f')];_0x24ed78+=0x1){let _0x58e9af=_0x1bcfbb['Agents'][_0x24ed78];var _0x308a15=_0x2ca497[_0xb63b('0x7b')]();_0x308a15[_0xb63b('0x47')]('ut.UserId\x20=\x20?',_0x58e9af['id']);_0x5c8535['push'](db[_0xb63b('0x6f')]['query'](_0x308a15[_0xb63b('0x7c')](),{'type':db[_0xb63b('0x6f')][_0xb63b('0x7d')][_0xb63b('0x7e')]})['then'](function(_0x15680e){if(_0x15680e[_0xb63b('0x4f')]===0x1){return _0x58e9af['id'];}else{var _0x341a1f=_[_0xb63b('0x7f')](_[_0xb63b('0x39')](_0x15680e,_0xb63b('0x80')),function(_0x51a570){return _['includes'](_0x48d4ca,_0x51a570);});if(_0x341a1f){return _0x58e9af['id'];}}}));}}return BPromise[_0xb63b('0x81')](_0x5c8535)[_0xb63b('0x2a')](function(_0x135990){_0x10aefc=_(_0x10aefc)[_0xb63b('0x82')](_0x135990)[_0xb63b('0x83')]()[_0xb63b('0x84')]();return db[_0xb63b('0x3a')][_0xb63b('0x50')]({'where':{'id':_0x2ae5f3[_0xb63b('0x58')]['id']}})[_0xb63b('0x2a')](function(_0x1f4e05){return db['sequelize']['transaction'](function(_0x59f9c2){return _0x1f4e05[_0xb63b('0x74')](_0x2ae5f3[_0xb63b('0x3e')][_0xb63b('0x6b')],{'transaction':_0x59f9c2})[_0xb63b('0x2a')](function(){if(!_['isEmpty'](_0x10aefc)){return _0x1f4e05[_0xb63b('0x85')](_0x10aefc,{'transaction':_0x59f9c2});}})['then'](function(){_0x10aefc[_0xb63b('0x86')](function(_0x20a216){socket[_0xb63b('0x72')](_0xb63b('0x87'),{'UserId':_0x20a216,'OpenchannelQueueId':_0x1f4e05['id']});});});});});});})[_0xb63b('0x2a')](respondWithStatusCode(_0x52ee04,null))[_0xb63b('0x4d')](handleError(_0x52ee04,null));};exports[_0xb63b('0x88')]=function(_0x5d2931,_0x4d52b9,_0x21aa56){return db[_0xb63b('0x3a')][_0xb63b('0x50')]({'where':{'id':_0x5d2931[_0xb63b('0x58')]['id']}})[_0xb63b('0x2a')](handleEntityNotFound(_0x4d52b9,null))[_0xb63b('0x2a')](function(_0xea8951){if(_0xea8951){return _0xea8951[_0xb63b('0x88')](_0x5d2931['body'][_0xb63b('0x6b')],_['omit'](_0x5d2931[_0xb63b('0x32')],[_0xb63b('0x6b'),'id'])||{})[_0xb63b('0x89')](function(_0x16ca9a){for(var _0x53d6cf=0x0;_0x53d6cf<_0x5d2931[_0xb63b('0x32')][_0xb63b('0x6b')][_0xb63b('0x4f')];_0x53d6cf+=0x1){socket[_0xb63b('0x72')]('userOpenchannelQueue:save',{'UserId':_0x5d2931['body'][_0xb63b('0x6b')][_0x53d6cf],'OpenchannelQueueId':_0x5d2931[_0xb63b('0x58')]['id']});}return _0x16ca9a;});}})[_0xb63b('0x2a')](respondWithResult(_0x4d52b9,null))['catch'](handleError(_0x4d52b9,null));};exports[_0xb63b('0x85')]=function(_0xd71454,_0x533914,_0x3b5e2f){return db['OpenchannelQueue']['find']({'where':{'id':_0xd71454[_0xb63b('0x58')]['id']}})[_0xb63b('0x2a')](handleEntityNotFound(_0x533914,null))['then'](function(_0x431159){if(_0x431159){return _0x431159[_0xb63b('0x85')](_0xd71454[_0xb63b('0x3e')]['ids'])[_0xb63b('0x2a')](function(){if(_[_0xb63b('0x8a')](_0xd71454[_0xb63b('0x3e')]['ids'])){for(var _0x28b745=0x0;_0x28b745<_0xd71454['query'][_0xb63b('0x6b')][_0xb63b('0x4f')];_0x28b745+=0x1){socket[_0xb63b('0x72')](_0xb63b('0x87'),{'UserId':Number(_0xd71454['query'][_0xb63b('0x6b')][_0x28b745]),'OpenchannelQueueId':Number(_0xd71454[_0xb63b('0x58')]['id'])});}}else{socket[_0xb63b('0x72')](_0xb63b('0x87'),{'UserId':Number(_0xd71454[_0xb63b('0x3e')][_0xb63b('0x6b')]),'OpenchannelQueueId':Number(_0xd71454['params']['id'])});}});}})[_0xb63b('0x2a')](respondWithStatusCode(_0x533914,null))['catch'](handleError(_0x533914,null));};exports[_0xb63b('0x8b')]=function(_0x271420,_0xc04db9,_0x38c360){var _0x1e5edd={};var _0x4c581e={};var _0xad3b;var _0x57362d;return db['OpenchannelQueue'][_0xb63b('0x67')]({'where':{'id':_0x271420['params']['id']}})[_0xb63b('0x2a')](handleEntityNotFound(_0xc04db9,null))[_0xb63b('0x2a')](function(_0x1573d0){if(_0x1573d0){_0xad3b=_0x1573d0;_0x4c581e[_0xb63b('0x3d')]=_[_0xb63b('0x3f')](db['User'][_0xb63b('0x4e')]);_0x4c581e[_0xb63b('0x3e')]=_[_0xb63b('0x3f')](_0x271420['query']);_0x4c581e[_0xb63b('0x40')]=_[_0xb63b('0x41')](_0x4c581e[_0xb63b('0x3d')],_0x4c581e['query']);_0x1e5edd[_0xb63b('0x42')]=_['intersection'](_0x4c581e['model'],qs[_0xb63b('0x43')](_0x271420[_0xb63b('0x3e')]['fields']));_0x1e5edd[_0xb63b('0x42')]=_0x1e5edd[_0xb63b('0x42')]['length']?_0x1e5edd[_0xb63b('0x42')]:_0x4c581e[_0xb63b('0x3d')];_0x1e5edd[_0xb63b('0x45')]=qs[_0xb63b('0x46')](_0x271420[_0xb63b('0x3e')]['sort']);_0x1e5edd['where']=qs[_0xb63b('0x40')](_[_0xb63b('0x48')](_0x271420[_0xb63b('0x3e')],_0x4c581e[_0xb63b('0x40')]));if(_0x271420['query'][_0xb63b('0x49')]){_0x1e5edd[_0xb63b('0x47')]=_[_0xb63b('0x31')](_0x1e5edd[_0xb63b('0x47')],{'$or':_[_0xb63b('0x39')](_0x1e5edd[_0xb63b('0x42')],function(_0x27948c){var _0x2501c5={};_0x2501c5[_0x27948c]={'$like':'%'+_0x271420[_0xb63b('0x3e')][_0xb63b('0x49')]+'%'};return _0x2501c5;})});}_0x1e5edd=_[_0xb63b('0x31')]({},_0x1e5edd,_0x271420[_0xb63b('0x4a')]);return _0xad3b[_0xb63b('0x8b')](_0x1e5edd);}})[_0xb63b('0x2a')](function(_0x3a97bf){if(_0x3a97bf){_0x57362d=_0x3a97bf[_0xb63b('0x4f')];if(!_0x271420[_0xb63b('0x3e')][_0xb63b('0x44')](_0xb63b('0x69'))){_0x1e5edd[_0xb63b('0x1f')]=qs[_0xb63b('0x1f')](_0x271420['query'][_0xb63b('0x1f')]);_0x1e5edd['offset']=qs[_0xb63b('0x22')](_0x271420[_0xb63b('0x3e')][_0xb63b('0x22')]);}return _0xad3b[_0xb63b('0x8b')](_0x1e5edd);}})[_0xb63b('0x2a')](function(_0x35ce75){if(_0x35ce75){return _0x35ce75?{'count':_0x57362d,'rows':_0x35ce75}:null;}})[_0xb63b('0x2a')](respondWithResult(_0xc04db9,null))[_0xb63b('0x4d')](handleError(_0xc04db9,null));};