95e3dc48ca30a9cddf97a19eda3fc88ebd55c79f
[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 _0x9fd6=['capitalize','Queues','addQueues','isValidChannel','ids','removeQueues','remove','addAgents','Voice','Mail','Sms','Fax','Openchannel','Whatsapp','each','User','online','voicePause','interface','isNil','SIP/%s','omit','spread','removeAgents','voice','chat','sms','fax','UserVoiceQueueRt','isArray','emit','userTeam:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','destroy','get','Teams','then','error','stack','name','index','map','Team','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','keys','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','findOne','channel','Sequelize','ValidationError','Unknown\x20channel','toLowerCase'];(function(_0xe9fdc4,_0x1cc454){var _0x529cdd=function(_0x49d040){while(--_0x49d040){_0xe9fdc4['push'](_0xe9fdc4['shift']());}};_0x529cdd(++_0x1cc454);}(_0x9fd6,0x125));var _0x69fd=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x9fd6[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require(_0x69fd('0x0'));var emlformat=require(_0x69fd('0x1'));var rimraf=require(_0x69fd('0x2'));var zipdir=require(_0x69fd('0x3'));var jsonpatch=require(_0x69fd('0x4'));var rp=require(_0x69fd('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x69fd('0x6'));var util=require(_0x69fd('0x7'));var path=require(_0x69fd('0x8'));var sox=require(_0x69fd('0x9'));var csv=require(_0x69fd('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x69fd('0xb'));var crypto=require(_0x69fd('0xc'));var jsforce=require(_0x69fd('0xd'));var deskjs=require(_0x69fd('0xe'));var toCsv=require(_0x69fd('0xa'));var querystring=require(_0x69fd('0xf'));var Papa=require(_0x69fd('0x10'));var Redis=require(_0x69fd('0x11'));var authService=require(_0x69fd('0x12'));var qs=require(_0x69fd('0x13'));var as=require(_0x69fd('0x14'));var hardwareService=require(_0x69fd('0x15'));var logger=require(_0x69fd('0x16'))(_0x69fd('0x17'));var utils=require('../../config/utils');var config=require(_0x69fd('0x18'));var licenseUtil=require(_0x69fd('0x19'));var db=require(_0x69fd('0x1a'))['db'];config['redis']=_[_0x69fd('0x1b')](config[_0x69fd('0x1c')],{'host':_0x69fd('0x1d'),'port':0x18eb});var socket=require(_0x69fd('0x1e'))(new Redis(config[_0x69fd('0x1c')]));require('./team.socket')[_0x69fd('0x1f')](socket);function respondWithStatusCode(_0x2d39e0,_0x6a25ef){_0x6a25ef=_0x6a25ef||0xcc;return function(_0x571fd1){if(_0x571fd1){return _0x2d39e0[_0x69fd('0x20')](_0x6a25ef);}return _0x2d39e0[_0x69fd('0x21')](_0x6a25ef)[_0x69fd('0x22')]();};}function respondWithResult(_0x3ed33f,_0x4fbaf7){_0x4fbaf7=_0x4fbaf7||0xc8;return function(_0x2ca253){if(_0x2ca253){return _0x3ed33f[_0x69fd('0x21')](_0x4fbaf7)[_0x69fd('0x23')](_0x2ca253);}};}function respondWithFilteredResult(_0x6e371c,_0x23053d){return function(_0x165eaf){if(_0x165eaf){var _0x3d9c51=_0x165eaf[_0x69fd('0x24')],_0x4b468a=_0x23053d[_0x69fd('0x25')],_0x2b0b5e=_0x23053d[_0x69fd('0x25')]+_0x23053d[_0x69fd('0x26')],_0x267bbf;if(_0x2b0b5e>=_0x3d9c51){_0x2b0b5e=_0x3d9c51;_0x267bbf=0xc8;}else{_0x267bbf=0xce;}_0x6e371c[_0x69fd('0x21')](_0x267bbf);return _0x6e371c[_0x69fd('0x27')](_0x69fd('0x28'),_0x4b468a+'-'+_0x2b0b5e+'/'+_0x3d9c51)['json'](_0x165eaf);}return null;};}function patchUpdates(_0x459192){return function(_0x47c97a){try{jsonpatch[_0x69fd('0x29')](_0x47c97a,_0x459192,!![]);}catch(_0x3aa3f2){return BPromise['reject'](_0x3aa3f2);}return _0x47c97a[_0x69fd('0x2a')]();};}function saveUpdates(_0x688c44,_0x103318){return function(_0x130d8e){if(_0x130d8e){return _0x130d8e['update'](_0x688c44)['then'](function(_0xf8ce6d){return _0xf8ce6d;});}return null;};}function removeEntity(_0x3acf48,_0x4619aa){return function(_0x4c21a2){if(_0x4c21a2){return _0x4c21a2[_0x69fd('0x2b')]()['then'](function(){var _0x164643=_0x4c21a2[_0x69fd('0x2c')]({'plain':!![]});var _0x3501d2=_0x69fd('0x2d');return db['UserProfileResource'][_0x69fd('0x2b')]({'where':{'type':_0x3501d2,'resourceId':_0x164643['id']}})[_0x69fd('0x2e')](function(){return _0x4c21a2;});})[_0x69fd('0x2e')](function(){_0x3acf48[_0x69fd('0x21')](0xcc)[_0x69fd('0x22')]();});}};}function handleEntityNotFound(_0xee82f3,_0x25a506){return function(_0x4ea5ad){if(!_0x4ea5ad){_0xee82f3[_0x69fd('0x20')](0x194);}return _0x4ea5ad;};}function handleError(_0x20b4b7,_0x105f1b){_0x105f1b=_0x105f1b||0x1f4;return function(_0x13d167){logger[_0x69fd('0x2f')](_0x13d167[_0x69fd('0x30')]);if(_0x13d167[_0x69fd('0x31')]){delete _0x13d167[_0x69fd('0x31')];}_0x20b4b7['status'](_0x105f1b)['send'](_0x13d167);};}exports[_0x69fd('0x32')]=function(_0xb97d72,_0x95d16f){var _0x46e34e={},_0x3aaf50={},_0x168a1d={'count':0x0,'rows':[]};var _0x3fc6fa=_[_0x69fd('0x33')](db[_0x69fd('0x34')][_0x69fd('0x35')],function(_0xee9400){return{'name':_0xee9400[_0x69fd('0x36')],'type':_0xee9400[_0x69fd('0x37')][_0x69fd('0x38')]};});_0x3aaf50[_0x69fd('0x39')]=_[_0x69fd('0x33')](_0x3fc6fa,_0x69fd('0x31'));_0x3aaf50[_0x69fd('0x3a')]=_['keys'](_0xb97d72[_0x69fd('0x3a')]);_0x3aaf50[_0x69fd('0x3b')]=_[_0x69fd('0x3c')](_0x3aaf50[_0x69fd('0x39')],_0x3aaf50[_0x69fd('0x3a')]);_0x46e34e[_0x69fd('0x3d')]=_['intersection'](_0x3aaf50['model'],qs[_0x69fd('0x3e')](_0xb97d72[_0x69fd('0x3a')]['fields']));_0x46e34e[_0x69fd('0x3d')]=_0x46e34e[_0x69fd('0x3d')][_0x69fd('0x3f')]?_0x46e34e[_0x69fd('0x3d')]:_0x3aaf50['model'];if(!_0xb97d72[_0x69fd('0x3a')][_0x69fd('0x40')](_0x69fd('0x41'))){_0x46e34e['limit']=qs[_0x69fd('0x26')](_0xb97d72[_0x69fd('0x3a')][_0x69fd('0x26')]);_0x46e34e[_0x69fd('0x25')]=qs['offset'](_0xb97d72['query'][_0x69fd('0x25')]);}_0x46e34e[_0x69fd('0x42')]=qs[_0x69fd('0x43')](_0xb97d72[_0x69fd('0x3a')][_0x69fd('0x43')]);_0x46e34e['where']=qs[_0x69fd('0x3b')](_[_0x69fd('0x44')](_0xb97d72['query'],_0x3aaf50[_0x69fd('0x3b')]),_0x3fc6fa);if(_0xb97d72['query'][_0x69fd('0x45')]){_0x46e34e[_0x69fd('0x46')]=_[_0x69fd('0x47')](_0x46e34e[_0x69fd('0x46')],{'$or':_['map'](_0x3fc6fa,function(_0x25cc84){if(_0x25cc84['type']!==_0x69fd('0x48')){var _0x3533c1={};_0x3533c1[_0x25cc84[_0x69fd('0x31')]]={'$like':'%'+_0xb97d72['query']['filter']+'%'};return _0x3533c1;}})});}_0x46e34e=_[_0x69fd('0x47')]({},_0x46e34e,_0xb97d72[_0x69fd('0x49')]);var _0x460430={'where':_0x46e34e[_0x69fd('0x46')]};return db[_0x69fd('0x34')]['count'](_0x460430)[_0x69fd('0x2e')](function(_0x382d26){_0x168a1d[_0x69fd('0x24')]=_0x382d26;if(_0xb97d72[_0x69fd('0x3a')][_0x69fd('0x4a')]){_0x46e34e[_0x69fd('0x4b')]=[{'all':!![]}];}return db[_0x69fd('0x34')][_0x69fd('0x4c')](_0x46e34e);})['then'](function(_0x1db46c){_0x168a1d[_0x69fd('0x4d')]=_0x1db46c;return _0x168a1d;})[_0x69fd('0x2e')](respondWithFilteredResult(_0x95d16f,_0x46e34e))['catch'](handleError(_0x95d16f,null));};exports[_0x69fd('0x4e')]=function(_0x883c7,_0x162e00){var _0x3b8f95={'raw':![],'where':{'id':_0x883c7[_0x69fd('0x4f')]['id']}},_0x495dcc={};_0x495dcc[_0x69fd('0x39')]=_[_0x69fd('0x50')](db['Team']['rawAttributes']);_0x495dcc['query']=_[_0x69fd('0x50')](_0x883c7[_0x69fd('0x3a')]);_0x495dcc[_0x69fd('0x3b')]=_[_0x69fd('0x3c')](_0x495dcc[_0x69fd('0x39')],_0x495dcc[_0x69fd('0x3a')]);_0x3b8f95[_0x69fd('0x3d')]=_['intersection'](_0x495dcc[_0x69fd('0x39')],qs[_0x69fd('0x3e')](_0x883c7[_0x69fd('0x3a')][_0x69fd('0x3e')]));_0x3b8f95['attributes']=_0x3b8f95['attributes'][_0x69fd('0x3f')]?_0x3b8f95[_0x69fd('0x3d')]:_0x495dcc[_0x69fd('0x39')];if(_0x883c7[_0x69fd('0x3a')][_0x69fd('0x4a')]){_0x3b8f95['include']=[{'all':!![]}];}_0x3b8f95=_['merge']({},_0x3b8f95,_0x883c7[_0x69fd('0x49')]);return db['Team'][_0x69fd('0x51')](_0x3b8f95)[_0x69fd('0x2e')](handleEntityNotFound(_0x162e00,null))['then'](respondWithResult(_0x162e00,null))[_0x69fd('0x52')](handleError(_0x162e00,null));};exports['create']=function(_0x4ea6f7,_0x42700c){return db[_0x69fd('0x34')][_0x69fd('0x53')](_0x4ea6f7[_0x69fd('0x54')],{})[_0x69fd('0x2e')](function(_0x10cd00){var _0x7b33d2=_0x4ea6f7['user'][_0x69fd('0x2c')]({'plain':!![]});if(!_0x7b33d2)throw new Error(_0x69fd('0x55'));if(_0x7b33d2['role']===_0x69fd('0x56')){var _0x2aa34f=_0x10cd00['get']({'plain':!![]});var _0x2fe303=_0x69fd('0x2d');return db['UserProfileSection'][_0x69fd('0x51')]({'where':{'name':_0x2fe303,'userProfileId':_0x7b33d2[_0x69fd('0x57')]},'raw':!![]})[_0x69fd('0x2e')](function(_0x49fbf1){if(_0x49fbf1&&_0x49fbf1[_0x69fd('0x58')]===0x0){return db[_0x69fd('0x59')][_0x69fd('0x53')]({'name':_0x2aa34f['name'],'resourceId':_0x2aa34f['id'],'type':_0x49fbf1[_0x69fd('0x31')],'sectionId':_0x49fbf1['id']},{})[_0x69fd('0x2e')](function(){return _0x10cd00;});}else{return _0x10cd00;}})[_0x69fd('0x52')](function(_0x41f56b){logger[_0x69fd('0x2f')](_0x69fd('0x5a'),_0x41f56b);throw _0x41f56b;});}return _0x10cd00;})[_0x69fd('0x2e')](respondWithResult(_0x42700c,0xc9))['catch'](handleError(_0x42700c,null));};exports['update']=function(_0x58ae13,_0x1279b8){if(_0x58ae13[_0x69fd('0x54')]['id']){delete _0x58ae13[_0x69fd('0x54')]['id'];}return db['Team'][_0x69fd('0x51')]({'where':{'id':_0x58ae13[_0x69fd('0x4f')]['id']}})['then'](handleEntityNotFound(_0x1279b8,null))[_0x69fd('0x2e')](saveUpdates(_0x58ae13[_0x69fd('0x54')],null))[_0x69fd('0x2e')](respondWithResult(_0x1279b8,null))[_0x69fd('0x52')](handleError(_0x1279b8,null));};exports[_0x69fd('0x2b')]=function(_0x896a71,_0x494d69){return db[_0x69fd('0x34')]['find']({'where':{'id':_0x896a71[_0x69fd('0x4f')]['id']}})[_0x69fd('0x2e')](handleEntityNotFound(_0x494d69,null))[_0x69fd('0x2e')](removeEntity(_0x494d69,null))[_0x69fd('0x52')](handleError(_0x494d69,null));};exports['getQueues']=function(_0x3917b3,_0x1cf7d3,_0x13eb66){return db[_0x69fd('0x34')][_0x69fd('0x5b')]({'where':{'id':_0x3917b3[_0x69fd('0x4f')]['id']}})[_0x69fd('0x2e')](handleEntityNotFound(_0x1cf7d3,null))[_0x69fd('0x2e')](function(_0x2302a1){if(!_0x3917b3['query'][_0x69fd('0x5c')]||!utils['isValidChannel'](_0x3917b3[_0x69fd('0x3a')][_0x69fd('0x5c')])){throw new db[(_0x69fd('0x5d'))][(_0x69fd('0x5e'))](_0x69fd('0x5f'));}var _0x24aec6={};var _0xa3bcde={};_0xa3bcde[_0x69fd('0x39')]=_['keys'](db[_['capitalize'](_0x3917b3[_0x69fd('0x3a')][_0x69fd('0x5c')][_0x69fd('0x60')]())+'Queue']['rawAttributes']);_0xa3bcde[_0x69fd('0x3a')]=_[_0x69fd('0x50')](_0x3917b3[_0x69fd('0x3a')]);_0xa3bcde[_0x69fd('0x3b')]=_[_0x69fd('0x3c')](_0xa3bcde[_0x69fd('0x39')],_0xa3bcde['query']);_0x24aec6['attributes']=_[_0x69fd('0x3c')](_0xa3bcde[_0x69fd('0x39')],qs[_0x69fd('0x3e')](_0x3917b3[_0x69fd('0x3a')]['fields']));_0x24aec6[_0x69fd('0x3d')]=_0x24aec6['attributes'][_0x69fd('0x3f')]?_0x24aec6[_0x69fd('0x3d')]:_0xa3bcde[_0x69fd('0x39')];_0x24aec6[_0x69fd('0x26')]=qs['limit'](_0x3917b3[_0x69fd('0x3a')][_0x69fd('0x26')]);_0x24aec6['offset']=qs['offset'](_0x3917b3[_0x69fd('0x3a')]['offset']);_0x24aec6[_0x69fd('0x42')]=qs['sort'](_0x3917b3[_0x69fd('0x3a')][_0x69fd('0x43')]);_0x24aec6[_0x69fd('0x46')]=qs[_0x69fd('0x3b')](_[_0x69fd('0x44')](_0x3917b3[_0x69fd('0x3a')],_0xa3bcde['filters']));_0x24aec6=_[_0x69fd('0x47')]({},_0x24aec6,_0x3917b3[_0x69fd('0x49')]);return _0x2302a1['get'+_[_0x69fd('0x61')](_0x3917b3[_0x69fd('0x3a')][_0x69fd('0x5c')][_0x69fd('0x60')]())+_0x69fd('0x62')](_0x24aec6);})[_0x69fd('0x2e')](respondWithResult(_0x1cf7d3,null))[_0x69fd('0x52')](handleError(_0x1cf7d3,null));};exports[_0x69fd('0x63')]=function(_0x3d0dc0,_0x194f10,_0x3164bc){return db[_0x69fd('0x34')][_0x69fd('0x5b')]({'where':{'id':_0x3d0dc0[_0x69fd('0x4f')]['id']}})['then'](function(_0xaaf5){if(_0xaaf5){if(!_0x3d0dc0[_0x69fd('0x54')][_0x69fd('0x5c')]||!utils[_0x69fd('0x64')](_0x3d0dc0[_0x69fd('0x54')]['channel'])){throw new db[(_0x69fd('0x5d'))]['ValidationError'](_0x69fd('0x5f'));}return _0xaaf5['add'+_[_0x69fd('0x61')](_0x3d0dc0[_0x69fd('0x54')][_0x69fd('0x5c')][_0x69fd('0x60')]())+_0x69fd('0x62')](_0x3d0dc0['body'][_0x69fd('0x65')]);}return null;})[_0x69fd('0x2e')](handleEntityNotFound(_0x194f10,null))['then'](respondWithStatusCode(_0x194f10,null))[_0x69fd('0x52')](handleError(_0x194f10,null));};exports[_0x69fd('0x66')]=function(_0x177955,_0x56b702,_0xafe320){return db['Team'][_0x69fd('0x5b')]({'where':{'id':_0x177955[_0x69fd('0x4f')]['id']}})['then'](function(_0x32df95){if(_0x32df95){if(!_0x177955[_0x69fd('0x3a')][_0x69fd('0x5c')]||!utils['isValidChannel'](_0x177955[_0x69fd('0x3a')][_0x69fd('0x5c')])){throw new db[(_0x69fd('0x5d'))]['ValidationError']('Unknown\x20channel');}return _0x32df95[_0x69fd('0x67')+_[_0x69fd('0x61')](_0x177955[_0x69fd('0x3a')][_0x69fd('0x5c')][_0x69fd('0x60')]())+_0x69fd('0x62')](_0x177955[_0x69fd('0x3a')][_0x69fd('0x65')]);}return null;})[_0x69fd('0x2e')](handleEntityNotFound(_0x56b702,null))[_0x69fd('0x2e')](respondWithStatusCode(_0x56b702,null))[_0x69fd('0x52')](handleError(_0x56b702,null));};exports[_0x69fd('0x68')]=function(_0xd02de9,_0x5cb0f4,_0xdc4aa2){return db[_0x69fd('0x34')][_0x69fd('0x51')]({'where':{'id':_0xd02de9['params']['id']}})[_0x69fd('0x2e')](handleEntityNotFound(_0x5cb0f4,null))['then'](function(_0x71e37f){if(_0x71e37f){var _0x4d0609=[_0x69fd('0x69'),'Chat',_0x69fd('0x6a'),_0x69fd('0x6b'),_0x69fd('0x6c'),_0x69fd('0x6d'),_0x69fd('0x6e')];return BPromise[_0x69fd('0x6f')](_0x4d0609,function(_0x40a2b8){return _0x71e37f['get'+_0x40a2b8+_0x69fd('0x62')]({'attributes':['id',_0x69fd('0x31')]})[_0x69fd('0x2e')](function(_0x51306a){return BPromise[_0x69fd('0x6f')](_0x51306a,function(_0x1946e2){return _0x1946e2[_0x69fd('0x68')](_0xd02de9[_0x69fd('0x54')]['ids'])[_0x69fd('0x2e')](function(){if(_0x40a2b8===_0x69fd('0x69')){return db[_0x69fd('0x70')][_0x69fd('0x4c')]({'where':{'id':_0xd02de9[_0x69fd('0x54')][_0x69fd('0x65')]},'attributes':['id',_0x69fd('0x31'),_0x69fd('0x71'),_0x69fd('0x72'),_0x69fd('0x73')],'raw':!![]})[_0x69fd('0x2e')](function(_0x5bd43e){return BPromise[_0x69fd('0x6f')](_[_0x69fd('0x45')](_0x5bd43e,{'online':0x1}),function(_0x5d7d09){return db['UserVoiceQueueRt']['upsert']({'membername':_0x5d7d09[_0x69fd('0x31')],'UserId':_0x5d7d09['id'],'queue_name':_0x1946e2[_0x69fd('0x31')],'VoiceQueueId':_0x1946e2['id'],'interface':_[_0x69fd('0x74')](_0x5d7d09['interface'])?util['format'](_0x69fd('0x75'),_0x5d7d09['name']):_0x5d7d09['interface'],'paused':_0x5d7d09[_0x69fd('0x72')]||![],'penalty':0x0});});});}});});})['then'](function(){return _0x71e37f;});})['then'](function(){return _0x71e37f;});}})[_0x69fd('0x2e')](function(_0xf77088){if(_0xf77088){return _0xf77088['addAgents'](_0xd02de9[_0x69fd('0x54')][_0x69fd('0x65')],_[_0x69fd('0x76')](_0xd02de9[_0x69fd('0x54')],[_0x69fd('0x65'),'id'])||{})[_0x69fd('0x77')](function(_0x14deba){for(var _0x4e053d=0x0;_0x4e053d<_0xd02de9[_0x69fd('0x54')][_0x69fd('0x65')][_0x69fd('0x3f')];_0x4e053d+=0x1){socket['emit']('userTeam:save',{'UserId':_0xd02de9['body'][_0x69fd('0x65')][_0x4e053d],'TeamId':_0xd02de9[_0x69fd('0x4f')]['id']});}return _0x14deba;});}})[_0x69fd('0x2e')](respondWithResult(_0x5cb0f4,null))[_0x69fd('0x52')](handleError(_0x5cb0f4,null));};exports[_0x69fd('0x78')]=function(_0x2559f8,_0x34247d,_0x27eea6){return db[_0x69fd('0x34')][_0x69fd('0x51')]({'where':{'id':_0x2559f8['params']['id']}})[_0x69fd('0x2e')](handleEntityNotFound(_0x34247d,null))[_0x69fd('0x2e')](function(_0x901bbe){if(_0x901bbe){return BPromise['each']([_0x69fd('0x79'),_0x69fd('0x7a'),'mail',_0x69fd('0x7b'),_0x69fd('0x7c'),'openchannel','whatsapp'],function(_0x275b8e){return _0x901bbe[_0x69fd('0x2c')+_['capitalize'](_0x275b8e)+_0x69fd('0x62')]({'attributes':['id',_0x69fd('0x31')]})[_0x69fd('0x2e')](function(_0x221dda){return BPromise[_0x69fd('0x6f')](_0x221dda,function(_0x35db83){return _0x35db83[_0x69fd('0x78')](_0x2559f8[_0x69fd('0x3a')]['ids'])[_0x69fd('0x2e')](function(){if(_0x275b8e==='voice'){return db[_0x69fd('0x7d')][_0x69fd('0x2b')]({'where':{'VoiceQueueId':_0x35db83['id'],'UserId':_0x2559f8['query'][_0x69fd('0x65')]}});}});});})[_0x69fd('0x2e')](function(){return _0x901bbe;});})['then'](function(){return _0x901bbe;});}})[_0x69fd('0x2e')](function(_0x689b2e){if(_0x689b2e){return _0x689b2e[_0x69fd('0x78')](_0x2559f8[_0x69fd('0x3a')][_0x69fd('0x65')])[_0x69fd('0x2e')](function(){if(_[_0x69fd('0x7e')](_0x2559f8[_0x69fd('0x3a')]['ids'])){for(var _0x46ac82=0x0;_0x46ac82<_0x2559f8[_0x69fd('0x3a')][_0x69fd('0x65')]['length'];_0x46ac82+=0x1){socket[_0x69fd('0x7f')](_0x69fd('0x80'),{'UserId':Number(_0x2559f8[_0x69fd('0x3a')]['ids'][_0x46ac82]),'TeamId':Number(_0x2559f8[_0x69fd('0x4f')]['id'])});}}else{socket['emit'](_0x69fd('0x80'),{'UserId':Number(_0x2559f8['query'][_0x69fd('0x65')]),'TeamId':Number(_0x2559f8[_0x69fd('0x4f')]['id'])});}});}})[_0x69fd('0x2e')](respondWithStatusCode(_0x34247d,null))[_0x69fd('0x52')](handleError(_0x34247d,null));};exports[_0x69fd('0x81')]=function(_0x556f3f,_0x2977bb,_0x3b962a){var _0x299f2e={};var _0x2768ca={};var _0xfc6ef;var _0xfd6814;return db[_0x69fd('0x34')]['findOne']({'where':{'id':_0x556f3f[_0x69fd('0x4f')]['id']}})[_0x69fd('0x2e')](handleEntityNotFound(_0x2977bb,null))[_0x69fd('0x2e')](function(_0xf4b30a){if(_0xf4b30a){_0xfc6ef=_0xf4b30a;_0x2768ca[_0x69fd('0x39')]=_['keys'](db[_0x69fd('0x70')][_0x69fd('0x35')]);_0x2768ca['query']=_[_0x69fd('0x50')](_0x556f3f[_0x69fd('0x3a')]);_0x2768ca[_0x69fd('0x3b')]=_[_0x69fd('0x3c')](_0x2768ca[_0x69fd('0x39')],_0x2768ca[_0x69fd('0x3a')]);_0x299f2e['attributes']=_['intersection'](_0x2768ca[_0x69fd('0x39')],qs['fields'](_0x556f3f[_0x69fd('0x3a')][_0x69fd('0x3e')]));_0x299f2e[_0x69fd('0x3d')]=_0x299f2e[_0x69fd('0x3d')]['length']?_0x299f2e[_0x69fd('0x3d')]:_0x2768ca[_0x69fd('0x39')];_0x299f2e['order']=qs[_0x69fd('0x43')](_0x556f3f[_0x69fd('0x3a')][_0x69fd('0x43')]);_0x299f2e[_0x69fd('0x46')]=qs[_0x69fd('0x3b')](_[_0x69fd('0x44')](_0x556f3f['query'],_0x2768ca[_0x69fd('0x3b')]));if(_0x556f3f[_0x69fd('0x3a')][_0x69fd('0x45')]){_0x299f2e[_0x69fd('0x46')]=_['merge'](_0x299f2e[_0x69fd('0x46')],{'$or':_['map'](_0x299f2e[_0x69fd('0x3d')],function(_0x3859b6){var _0x3e627d={};_0x3e627d[_0x3859b6]={'$like':'%'+_0x556f3f['query']['filter']+'%'};return _0x3e627d;})});}_0x299f2e=_[_0x69fd('0x47')]({},_0x299f2e,_0x556f3f[_0x69fd('0x49')]);return _0xfc6ef[_0x69fd('0x81')](_0x299f2e);}})['then'](function(_0x2ef50a){if(_0x2ef50a){_0xfd6814=_0x2ef50a[_0x69fd('0x3f')];if(!_0x556f3f[_0x69fd('0x3a')][_0x69fd('0x40')](_0x69fd('0x41'))){_0x299f2e[_0x69fd('0x26')]=qs[_0x69fd('0x26')](_0x556f3f[_0x69fd('0x3a')][_0x69fd('0x26')]);_0x299f2e[_0x69fd('0x25')]=qs['offset'](_0x556f3f[_0x69fd('0x3a')][_0x69fd('0x25')]);}return _0xfc6ef['getAgents'](_0x299f2e);}})[_0x69fd('0x2e')](function(_0x5c7931){if(_0x5c7931){return _0x5c7931?{'count':_0xfd6814,'rows':_0x5c7931}:null;}})['then'](respondWithResult(_0x2977bb,null))[_0x69fd('0x52')](handleError(_0x2977bb,null));};