Built motion from commit (unavailable).|2.5.0
[motion2.git] / server / api / team / team.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 _0x5c4e=['register','sendStatus','status','end','json','count','offset','set','apply','save','update','then','destroy','get','Teams','UserProfileResource','stack','name','send','index','Team','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','VIRTUAL','options','include','catch','show','rawAttributes','length','merge','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','autoAssociation','create','error','params','findOne','channel','isValidChannel','Sequelize','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','addQueues','Queues','removeQueues','remove','addAgents','Chat','Mail','Sms','Openchannel','Whatsapp','each','Voice','findAll','online','interface','UserVoiceQueueRt','upsert','format','SIP/%s','voicePause','ids','spread','emit','userTeam:save','removeAgents','mail','sms','fax','openchannel','whatsapp','voice','isArray','userTeam:remove','getAgents','User','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','redis','localhost','socket.io-emitter','./team.socket'];(function(_0xeb393e,_0x44b178){var _0x19a612=function(_0x4aa72a){while(--_0x4aa72a){_0xeb393e['push'](_0xeb393e['shift']());}};_0x19a612(++_0x44b178);}(_0x5c4e,0xea));var _0xe5c4=function(_0xad65b5,_0x4f93d8){_0xad65b5=_0xad65b5-0x0;var _0x6f4ff3=_0x5c4e[_0xad65b5];return _0x6f4ff3;};'use strict';var pdf=require(_0xe5c4('0x0'));var emlformat=require(_0xe5c4('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe5c4('0x2'));var rp=require(_0xe5c4('0x3'));var moment=require(_0xe5c4('0x4'));var BPromise=require(_0xe5c4('0x5'));var Mustache=require(_0xe5c4('0x6'));var util=require(_0xe5c4('0x7'));var path=require(_0xe5c4('0x8'));var sox=require(_0xe5c4('0x9'));var csv=require(_0xe5c4('0xa'));var ejs=require(_0xe5c4('0xb'));var fs=require('fs');var _=require(_0xe5c4('0xc'));var squel=require(_0xe5c4('0xd'));var crypto=require(_0xe5c4('0xe'));var jsforce=require(_0xe5c4('0xf'));var deskjs=require(_0xe5c4('0x10'));var toCsv=require(_0xe5c4('0xa'));var querystring=require(_0xe5c4('0x11'));var Papa=require(_0xe5c4('0x12'));var Redis=require('ioredis');var authService=require(_0xe5c4('0x13'));var qs=require(_0xe5c4('0x14'));var as=require(_0xe5c4('0x15'));var hardwareService=require(_0xe5c4('0x16'));var logger=require(_0xe5c4('0x17'))(_0xe5c4('0x18'));var utils=require('../../config/utils');var config=require(_0xe5c4('0x19'));var db=require('../../mysqldb')['db'];config[_0xe5c4('0x1a')]=_['defaults'](config[_0xe5c4('0x1a')],{'host':_0xe5c4('0x1b'),'port':0x18eb});var socket=require(_0xe5c4('0x1c'))(new Redis(config[_0xe5c4('0x1a')]));require(_0xe5c4('0x1d'))[_0xe5c4('0x1e')](socket);function respondWithStatusCode(_0xac7969,_0x49b500){_0x49b500=_0x49b500||0xcc;return function(_0x841645){if(_0x841645){return _0xac7969[_0xe5c4('0x1f')](_0x49b500);}return _0xac7969[_0xe5c4('0x20')](_0x49b500)[_0xe5c4('0x21')]();};}function respondWithResult(_0x790e81,_0x304e0c){_0x304e0c=_0x304e0c||0xc8;return function(_0x431372){if(_0x431372){return _0x790e81[_0xe5c4('0x20')](_0x304e0c)[_0xe5c4('0x22')](_0x431372);}};}function respondWithFilteredResult(_0x41145c,_0x229e90){return function(_0x57ee57){if(_0x57ee57){var _0x3a3d18=_0x57ee57[_0xe5c4('0x23')],_0xa7f2e1=_0x229e90[_0xe5c4('0x24')],_0x30c65a=_0x229e90[_0xe5c4('0x24')]+_0x229e90['limit'],_0x4aaacd;if(_0x30c65a>=_0x3a3d18){_0x30c65a=_0x3a3d18;_0x4aaacd=0xc8;}else{_0x4aaacd=0xce;}_0x41145c[_0xe5c4('0x20')](_0x4aaacd);return _0x41145c[_0xe5c4('0x25')]('Content-Range',_0xa7f2e1+'-'+_0x30c65a+'/'+_0x3a3d18)[_0xe5c4('0x22')](_0x57ee57);}return null;};}function patchUpdates(_0x3bc24b){return function(_0x22ae85){try{jsonpatch[_0xe5c4('0x26')](_0x22ae85,_0x3bc24b,!![]);}catch(_0xd1a6dc){return BPromise['reject'](_0xd1a6dc);}return _0x22ae85[_0xe5c4('0x27')]();};}function saveUpdates(_0xb9a672,_0x32a2e7){return function(_0x4539df){if(_0x4539df){return _0x4539df[_0xe5c4('0x28')](_0xb9a672)[_0xe5c4('0x29')](function(_0x408dd7){return _0x408dd7;});}return null;};}function removeEntity(_0x5b8d02,_0xf423c5){return function(_0x4cbad0){if(_0x4cbad0){return _0x4cbad0[_0xe5c4('0x2a')]()[_0xe5c4('0x29')](function(){var _0xf6004b=_0x4cbad0[_0xe5c4('0x2b')]({'plain':!![]});var _0x4d9dae=_0xe5c4('0x2c');return db[_0xe5c4('0x2d')]['destroy']({'where':{'type':_0x4d9dae,'resourceId':_0xf6004b['id']}})[_0xe5c4('0x29')](function(){return _0x4cbad0;});})[_0xe5c4('0x29')](function(){_0x5b8d02['status'](0xcc)[_0xe5c4('0x21')]();});}};}function handleEntityNotFound(_0xee1625,_0x181878){return function(_0x152ed2){if(!_0x152ed2){_0xee1625[_0xe5c4('0x1f')](0x194);}return _0x152ed2;};}function handleError(_0xfc5c63,_0x52e97c){_0x52e97c=_0x52e97c||0x1f4;return function(_0xe64d97){logger['error'](_0xe64d97[_0xe5c4('0x2e')]);if(_0xe64d97[_0xe5c4('0x2f')]){delete _0xe64d97[_0xe5c4('0x2f')];}_0xfc5c63[_0xe5c4('0x20')](_0x52e97c)[_0xe5c4('0x30')](_0xe64d97);};}exports[_0xe5c4('0x31')]=function(_0x37968d,_0x53e863){var _0x274aad={},_0x2ff3c9={},_0x12b755={'count':0x0,'rows':[]};var _0x5d418f=_['map'](db[_0xe5c4('0x32')]['rawAttributes'],function(_0x3d41ba){return{'name':_0x3d41ba[_0xe5c4('0x33')],'type':_0x3d41ba[_0xe5c4('0x34')][_0xe5c4('0x35')]};});_0x2ff3c9[_0xe5c4('0x36')]=_[_0xe5c4('0x37')](_0x5d418f,'name');_0x2ff3c9[_0xe5c4('0x38')]=_[_0xe5c4('0x39')](_0x37968d['query']);_0x2ff3c9[_0xe5c4('0x3a')]=_[_0xe5c4('0x3b')](_0x2ff3c9[_0xe5c4('0x36')],_0x2ff3c9[_0xe5c4('0x38')]);_0x274aad['attributes']=_[_0xe5c4('0x3b')](_0x2ff3c9[_0xe5c4('0x36')],qs[_0xe5c4('0x3c')](_0x37968d[_0xe5c4('0x38')]['fields']));_0x274aad[_0xe5c4('0x3d')]=_0x274aad[_0xe5c4('0x3d')]['length']?_0x274aad[_0xe5c4('0x3d')]:_0x2ff3c9[_0xe5c4('0x36')];if(!_0x37968d[_0xe5c4('0x38')][_0xe5c4('0x3e')](_0xe5c4('0x3f'))){_0x274aad[_0xe5c4('0x40')]=qs[_0xe5c4('0x40')](_0x37968d['query']['limit']);_0x274aad[_0xe5c4('0x24')]=qs[_0xe5c4('0x24')](_0x37968d[_0xe5c4('0x38')]['offset']);}_0x274aad[_0xe5c4('0x41')]=qs[_0xe5c4('0x42')](_0x37968d[_0xe5c4('0x38')]['sort']);_0x274aad[_0xe5c4('0x43')]=qs['filters'](_[_0xe5c4('0x44')](_0x37968d[_0xe5c4('0x38')],_0x2ff3c9[_0xe5c4('0x3a')]),_0x5d418f);if(_0x37968d['query'][_0xe5c4('0x45')]){_0x274aad[_0xe5c4('0x43')]=_['merge'](_0x274aad[_0xe5c4('0x43')],{'$or':_[_0xe5c4('0x37')](_0x5d418f,function(_0x49daa1){if(_0x49daa1['type']!==_0xe5c4('0x46')){var _0x4b25d7={};_0x4b25d7[_0x49daa1[_0xe5c4('0x2f')]]={'$like':'%'+_0x37968d[_0xe5c4('0x38')]['filter']+'%'};return _0x4b25d7;}})});}_0x274aad=_['merge']({},_0x274aad,_0x37968d[_0xe5c4('0x47')]);var _0x246f98={'where':_0x274aad[_0xe5c4('0x43')]};return db[_0xe5c4('0x32')][_0xe5c4('0x23')](_0x246f98)[_0xe5c4('0x29')](function(_0x4ac424){_0x12b755['count']=_0x4ac424;if(_0x37968d[_0xe5c4('0x38')]['includeAll']){_0x274aad[_0xe5c4('0x48')]=[{'all':!![]}];}return db[_0xe5c4('0x32')]['findAll'](_0x274aad);})[_0xe5c4('0x29')](function(_0x580f21){_0x12b755['rows']=_0x580f21;return _0x12b755;})[_0xe5c4('0x29')](respondWithFilteredResult(_0x53e863,_0x274aad))[_0xe5c4('0x49')](handleError(_0x53e863,null));};exports[_0xe5c4('0x4a')]=function(_0x2bbde5,_0x2ec923){var _0xdb6d41={'raw':![],'where':{'id':_0x2bbde5['params']['id']}},_0x3dced3={};_0x3dced3[_0xe5c4('0x36')]=_['keys'](db[_0xe5c4('0x32')][_0xe5c4('0x4b')]);_0x3dced3['query']=_[_0xe5c4('0x39')](_0x2bbde5[_0xe5c4('0x38')]);_0x3dced3[_0xe5c4('0x3a')]=_[_0xe5c4('0x3b')](_0x3dced3[_0xe5c4('0x36')],_0x3dced3[_0xe5c4('0x38')]);_0xdb6d41[_0xe5c4('0x3d')]=_[_0xe5c4('0x3b')](_0x3dced3['model'],qs['fields'](_0x2bbde5['query']['fields']));_0xdb6d41['attributes']=_0xdb6d41[_0xe5c4('0x3d')][_0xe5c4('0x4c')]?_0xdb6d41[_0xe5c4('0x3d')]:_0x3dced3['model'];if(_0x2bbde5['query']['includeAll']){_0xdb6d41[_0xe5c4('0x48')]=[{'all':!![]}];}_0xdb6d41=_[_0xe5c4('0x4d')]({},_0xdb6d41,_0x2bbde5[_0xe5c4('0x47')]);return db[_0xe5c4('0x32')]['find'](_0xdb6d41)[_0xe5c4('0x29')](handleEntityNotFound(_0x2ec923,null))[_0xe5c4('0x29')](respondWithResult(_0x2ec923,null))[_0xe5c4('0x49')](handleError(_0x2ec923,null));};exports['create']=function(_0x8b9888,_0x26b748){return db[_0xe5c4('0x32')]['create'](_0x8b9888[_0xe5c4('0x4e')],{})[_0xe5c4('0x29')](function(_0x42e087){var _0x3e3d49=_0x8b9888[_0xe5c4('0x4f')][_0xe5c4('0x2b')]({'plain':!![]});if(!_0x3e3d49)throw new Error(_0xe5c4('0x50'));if(_0x3e3d49[_0xe5c4('0x51')]==='user'){var _0x487f10=_0x42e087[_0xe5c4('0x2b')]({'plain':!![]});var _0x5512a0='Teams';return db['UserProfileSection'][_0xe5c4('0x52')]({'where':{'name':_0x5512a0,'userProfileId':_0x3e3d49[_0xe5c4('0x53')]},'raw':!![]})['then'](function(_0x335983){if(_0x335983&&_0x335983[_0xe5c4('0x54')]===0x0){return db['UserProfileResource'][_0xe5c4('0x55')]({'name':_0x487f10[_0xe5c4('0x2f')],'resourceId':_0x487f10['id'],'type':_0x335983['name'],'sectionId':_0x335983['id']},{})[_0xe5c4('0x29')](function(){return _0x42e087;});}else{return _0x42e087;}})[_0xe5c4('0x49')](function(_0x342672){logger[_0xe5c4('0x56')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x342672);throw _0x342672;});}return _0x42e087;})['then'](respondWithResult(_0x26b748,0xc9))['catch'](handleError(_0x26b748,null));};exports[_0xe5c4('0x28')]=function(_0x3d74cd,_0x27ebf3){if(_0x3d74cd[_0xe5c4('0x4e')]['id']){delete _0x3d74cd['body']['id'];}return db['Team'][_0xe5c4('0x52')]({'where':{'id':_0x3d74cd[_0xe5c4('0x57')]['id']}})[_0xe5c4('0x29')](handleEntityNotFound(_0x27ebf3,null))['then'](saveUpdates(_0x3d74cd['body'],null))[_0xe5c4('0x29')](respondWithResult(_0x27ebf3,null))[_0xe5c4('0x49')](handleError(_0x27ebf3,null));};exports[_0xe5c4('0x2a')]=function(_0x2d441a,_0x41ac20){return db[_0xe5c4('0x32')][_0xe5c4('0x52')]({'where':{'id':_0x2d441a['params']['id']}})[_0xe5c4('0x29')](handleEntityNotFound(_0x41ac20,null))[_0xe5c4('0x29')](removeEntity(_0x41ac20,null))[_0xe5c4('0x49')](handleError(_0x41ac20,null));};exports['getQueues']=function(_0x365be5,_0x1d8af8,_0x2fd352){return db[_0xe5c4('0x32')][_0xe5c4('0x58')]({'where':{'id':_0x365be5[_0xe5c4('0x57')]['id']}})[_0xe5c4('0x29')](handleEntityNotFound(_0x1d8af8,null))[_0xe5c4('0x29')](function(_0x131084){if(!_0x365be5[_0xe5c4('0x38')][_0xe5c4('0x59')]||!utils[_0xe5c4('0x5a')](_0x365be5['query'][_0xe5c4('0x59')])){throw new db[(_0xe5c4('0x5b'))][(_0xe5c4('0x5c'))](_0xe5c4('0x5d'));}var _0x1bea21={};var _0x1f8701={};_0x1f8701[_0xe5c4('0x36')]=_[_0xe5c4('0x39')](db[_[_0xe5c4('0x5e')](_0x365be5[_0xe5c4('0x38')]['channel'][_0xe5c4('0x5f')]())+_0xe5c4('0x60')]['rawAttributes']);_0x1f8701['query']=_[_0xe5c4('0x39')](_0x365be5[_0xe5c4('0x38')]);_0x1f8701['filters']=_['intersection'](_0x1f8701[_0xe5c4('0x36')],_0x1f8701[_0xe5c4('0x38')]);_0x1bea21[_0xe5c4('0x3d')]=_[_0xe5c4('0x3b')](_0x1f8701[_0xe5c4('0x36')],qs['fields'](_0x365be5[_0xe5c4('0x38')][_0xe5c4('0x3c')]));_0x1bea21[_0xe5c4('0x3d')]=_0x1bea21[_0xe5c4('0x3d')][_0xe5c4('0x4c')]?_0x1bea21[_0xe5c4('0x3d')]:_0x1f8701[_0xe5c4('0x36')];_0x1bea21[_0xe5c4('0x40')]=qs[_0xe5c4('0x40')](_0x365be5['query'][_0xe5c4('0x40')]);_0x1bea21['offset']=qs['offset'](_0x365be5[_0xe5c4('0x38')][_0xe5c4('0x24')]);_0x1bea21[_0xe5c4('0x41')]=qs[_0xe5c4('0x42')](_0x365be5[_0xe5c4('0x38')][_0xe5c4('0x42')]);_0x1bea21['where']=qs[_0xe5c4('0x3a')](_['pick'](_0x365be5[_0xe5c4('0x38')],_0x1f8701[_0xe5c4('0x3a')]));_0x1bea21=_['merge']({},_0x1bea21,_0x365be5[_0xe5c4('0x47')]);return _0x131084[_0xe5c4('0x2b')+_['capitalize'](_0x365be5[_0xe5c4('0x38')][_0xe5c4('0x59')][_0xe5c4('0x5f')]())+'Queues'](_0x1bea21);})[_0xe5c4('0x29')](respondWithResult(_0x1d8af8,null))[_0xe5c4('0x49')](handleError(_0x1d8af8,null));};exports[_0xe5c4('0x61')]=function(_0x46b58d,_0x52c749,_0x2af119){return db[_0xe5c4('0x32')][_0xe5c4('0x58')]({'where':{'id':_0x46b58d['params']['id']}})[_0xe5c4('0x29')](function(_0x203c90){if(_0x203c90){if(!_0x46b58d['body']['channel']||!utils[_0xe5c4('0x5a')](_0x46b58d[_0xe5c4('0x4e')]['channel'])){throw new db[(_0xe5c4('0x5b'))]['ValidationError'](_0xe5c4('0x5d'));}return _0x203c90['add'+_['capitalize'](_0x46b58d[_0xe5c4('0x4e')][_0xe5c4('0x59')][_0xe5c4('0x5f')]())+_0xe5c4('0x62')](_0x46b58d[_0xe5c4('0x4e')]['ids']);}return null;})[_0xe5c4('0x29')](handleEntityNotFound(_0x52c749,null))[_0xe5c4('0x29')](respondWithStatusCode(_0x52c749,null))[_0xe5c4('0x49')](handleError(_0x52c749,null));};exports[_0xe5c4('0x63')]=function(_0x2a95a9,_0x4a3cd0,_0x38360a){return db[_0xe5c4('0x32')][_0xe5c4('0x58')]({'where':{'id':_0x2a95a9[_0xe5c4('0x57')]['id']}})[_0xe5c4('0x29')](function(_0x4d1408){if(_0x4d1408){if(!_0x2a95a9['query'][_0xe5c4('0x59')]||!utils[_0xe5c4('0x5a')](_0x2a95a9['query']['channel'])){throw new db['Sequelize'][(_0xe5c4('0x5c'))](_0xe5c4('0x5d'));}return _0x4d1408[_0xe5c4('0x64')+_['capitalize'](_0x2a95a9[_0xe5c4('0x38')]['channel'][_0xe5c4('0x5f')]())+_0xe5c4('0x62')](_0x2a95a9[_0xe5c4('0x38')]['ids']);}return null;})['then'](handleEntityNotFound(_0x4a3cd0,null))[_0xe5c4('0x29')](respondWithStatusCode(_0x4a3cd0,null))[_0xe5c4('0x49')](handleError(_0x4a3cd0,null));};exports[_0xe5c4('0x65')]=function(_0x54a3bf,_0x4ee1d2,_0x2ab00c){return db['Team']['find']({'where':{'id':_0x54a3bf[_0xe5c4('0x57')]['id']}})[_0xe5c4('0x29')](handleEntityNotFound(_0x4ee1d2,null))[_0xe5c4('0x29')](function(_0x1bb945){if(_0x1bb945){var _0xfe5a7=['Voice',_0xe5c4('0x66'),_0xe5c4('0x67'),_0xe5c4('0x68'),'Fax',_0xe5c4('0x69'),_0xe5c4('0x6a')];return BPromise[_0xe5c4('0x6b')](_0xfe5a7,function(_0xd81257){return _0x1bb945['get'+_0xd81257+_0xe5c4('0x62')]({'attributes':['id',_0xe5c4('0x2f')]})[_0xe5c4('0x29')](function(_0x22defd){return BPromise[_0xe5c4('0x6b')](_0x22defd,function(_0x3588ae){return _0x3588ae['addAgents'](_0x54a3bf[_0xe5c4('0x4e')]['ids'])[_0xe5c4('0x29')](function(){if(_0xd81257===_0xe5c4('0x6c')){return db['User'][_0xe5c4('0x6d')]({'where':{'id':_0x54a3bf[_0xe5c4('0x4e')]['ids']},'attributes':['id',_0xe5c4('0x2f'),_0xe5c4('0x6e'),'voicePause',_0xe5c4('0x6f')],'raw':!![]})[_0xe5c4('0x29')](function(_0x2e6ce1){return BPromise[_0xe5c4('0x6b')](_['filter'](_0x2e6ce1,{'online':0x1}),function(_0x83e2d4){return db[_0xe5c4('0x70')][_0xe5c4('0x71')]({'membername':_0x83e2d4[_0xe5c4('0x2f')],'UserId':_0x83e2d4['id'],'queue_name':_0x3588ae[_0xe5c4('0x2f')],'VoiceQueueId':_0x3588ae['id'],'interface':_['isNil'](_0x83e2d4['interface'])?util[_0xe5c4('0x72')](_0xe5c4('0x73'),_0x83e2d4['name']):_0x83e2d4[_0xe5c4('0x6f')],'paused':_0x83e2d4[_0xe5c4('0x74')]||![],'penalty':0x0});});});}});});})['then'](function(){return _0x1bb945;});})[_0xe5c4('0x29')](function(){return _0x1bb945;});}})[_0xe5c4('0x29')](function(_0x4c1540){if(_0x4c1540){return _0x4c1540[_0xe5c4('0x65')](_0x54a3bf['body'][_0xe5c4('0x75')],_['omit'](_0x54a3bf['body'],[_0xe5c4('0x75'),'id'])||{})[_0xe5c4('0x76')](function(_0x39f15d){for(var _0x4bb6f7=0x0;_0x4bb6f7<_0x54a3bf[_0xe5c4('0x4e')][_0xe5c4('0x75')][_0xe5c4('0x4c')];_0x4bb6f7+=0x1){socket[_0xe5c4('0x77')](_0xe5c4('0x78'),{'UserId':_0x54a3bf['body'][_0xe5c4('0x75')][_0x4bb6f7],'TeamId':_0x54a3bf[_0xe5c4('0x57')]['id']});}return _0x39f15d;});}})[_0xe5c4('0x29')](respondWithResult(_0x4ee1d2,null))[_0xe5c4('0x49')](handleError(_0x4ee1d2,null));};exports[_0xe5c4('0x79')]=function(_0x31d764,_0x17b77c,_0x58cb21){return db['Team'][_0xe5c4('0x52')]({'where':{'id':_0x31d764[_0xe5c4('0x57')]['id']}})[_0xe5c4('0x29')](handleEntityNotFound(_0x17b77c,null))['then'](function(_0x59ff57){if(_0x59ff57){return BPromise[_0xe5c4('0x6b')](['voice','chat',_0xe5c4('0x7a'),_0xe5c4('0x7b'),_0xe5c4('0x7c'),_0xe5c4('0x7d'),_0xe5c4('0x7e')],function(_0x509b96){return _0x59ff57['get'+_[_0xe5c4('0x5e')](_0x509b96)+'Queues']({'attributes':['id',_0xe5c4('0x2f')]})[_0xe5c4('0x29')](function(_0xa08118){return BPromise[_0xe5c4('0x6b')](_0xa08118,function(_0x9dc7d4){return _0x9dc7d4[_0xe5c4('0x79')](_0x31d764[_0xe5c4('0x38')][_0xe5c4('0x75')])[_0xe5c4('0x29')](function(){if(_0x509b96===_0xe5c4('0x7f')){return db['UserVoiceQueueRt'][_0xe5c4('0x2a')]({'where':{'VoiceQueueId':_0x9dc7d4['id'],'UserId':_0x31d764[_0xe5c4('0x38')]['ids']}});}});});})[_0xe5c4('0x29')](function(){return _0x59ff57;});})[_0xe5c4('0x29')](function(){return _0x59ff57;});}})[_0xe5c4('0x29')](function(_0x2cbbbf){if(_0x2cbbbf){return _0x2cbbbf[_0xe5c4('0x79')](_0x31d764['query'][_0xe5c4('0x75')])['then'](function(){if(_[_0xe5c4('0x80')](_0x31d764[_0xe5c4('0x38')][_0xe5c4('0x75')])){for(var _0x2ae09e=0x0;_0x2ae09e<_0x31d764[_0xe5c4('0x38')][_0xe5c4('0x75')]['length'];_0x2ae09e+=0x1){socket[_0xe5c4('0x77')](_0xe5c4('0x81'),{'UserId':Number(_0x31d764[_0xe5c4('0x38')]['ids'][_0x2ae09e]),'TeamId':Number(_0x31d764[_0xe5c4('0x57')]['id'])});}}else{socket[_0xe5c4('0x77')](_0xe5c4('0x81'),{'UserId':Number(_0x31d764['query'][_0xe5c4('0x75')]),'TeamId':Number(_0x31d764[_0xe5c4('0x57')]['id'])});}});}})[_0xe5c4('0x29')](respondWithStatusCode(_0x17b77c,null))[_0xe5c4('0x49')](handleError(_0x17b77c,null));};exports[_0xe5c4('0x82')]=function(_0x2debc8,_0x2b6b84,_0x42dce5){var _0x57d0e8={};var _0x4e9b8d={};var _0x2e639;var _0x56177f;return db[_0xe5c4('0x32')][_0xe5c4('0x58')]({'where':{'id':_0x2debc8['params']['id']}})[_0xe5c4('0x29')](handleEntityNotFound(_0x2b6b84,null))['then'](function(_0x3d8702){if(_0x3d8702){_0x2e639=_0x3d8702;_0x4e9b8d[_0xe5c4('0x36')]=_[_0xe5c4('0x39')](db[_0xe5c4('0x83')]['rawAttributes']);_0x4e9b8d[_0xe5c4('0x38')]=_[_0xe5c4('0x39')](_0x2debc8[_0xe5c4('0x38')]);_0x4e9b8d[_0xe5c4('0x3a')]=_[_0xe5c4('0x3b')](_0x4e9b8d['model'],_0x4e9b8d[_0xe5c4('0x38')]);_0x57d0e8[_0xe5c4('0x3d')]=_['intersection'](_0x4e9b8d['model'],qs[_0xe5c4('0x3c')](_0x2debc8[_0xe5c4('0x38')][_0xe5c4('0x3c')]));_0x57d0e8[_0xe5c4('0x3d')]=_0x57d0e8[_0xe5c4('0x3d')][_0xe5c4('0x4c')]?_0x57d0e8[_0xe5c4('0x3d')]:_0x4e9b8d['model'];_0x57d0e8[_0xe5c4('0x41')]=qs[_0xe5c4('0x42')](_0x2debc8[_0xe5c4('0x38')]['sort']);_0x57d0e8[_0xe5c4('0x43')]=qs[_0xe5c4('0x3a')](_[_0xe5c4('0x44')](_0x2debc8[_0xe5c4('0x38')],_0x4e9b8d[_0xe5c4('0x3a')]));if(_0x2debc8[_0xe5c4('0x38')][_0xe5c4('0x45')]){_0x57d0e8[_0xe5c4('0x43')]=_[_0xe5c4('0x4d')](_0x57d0e8[_0xe5c4('0x43')],{'$or':_[_0xe5c4('0x37')](_0x57d0e8['attributes'],function(_0x21b018){var _0x44bf1c={};_0x44bf1c[_0x21b018]={'$like':'%'+_0x2debc8['query'][_0xe5c4('0x45')]+'%'};return _0x44bf1c;})});}_0x57d0e8=_[_0xe5c4('0x4d')]({},_0x57d0e8,_0x2debc8['options']);return _0x2e639['getAgents'](_0x57d0e8);}})[_0xe5c4('0x29')](function(_0x24057e){if(_0x24057e){_0x56177f=_0x24057e['length'];if(!_0x2debc8[_0xe5c4('0x38')]['hasOwnProperty'](_0xe5c4('0x3f'))){_0x57d0e8[_0xe5c4('0x40')]=qs[_0xe5c4('0x40')](_0x2debc8['query']['limit']);_0x57d0e8[_0xe5c4('0x24')]=qs[_0xe5c4('0x24')](_0x2debc8[_0xe5c4('0x38')][_0xe5c4('0x24')]);}return _0x2e639['getAgents'](_0x57d0e8);}})['then'](function(_0x1612aa){if(_0x1612aa){return _0x1612aa?{'count':_0x56177f,'rows':_0x1612aa}:null;}})[_0xe5c4('0x29')](respondWithResult(_0x2b6b84,null))[_0xe5c4('0x49')](handleError(_0x2b6b84,null));};