Built motion from commit 97153652.|2.6.26
[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 _0x8d57=['catch','show','params','intersection','find','create','body','user','get','role','Teams','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','destroy','sequelize','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','QueryTypes','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','Sequelize','VoiceQueueId','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','FaxQueueId','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','UserVoicePrefix','VoicePrefixId','end','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','Queues','addQueues','add','ids','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','transaction','through','QueueId','defaults','TeamVoiceQueue','penalty','User','findOrCreate','emit','Queue:save','findAll','online','voicePause','interface','UserVoiceQueueRt','upsert','isNil','format','all','spread','removeAgents','Whatsapp','TeamVoicePrefix','rawAttributes','order','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','register','sendStatus','status','offset','undefined','limit','count','set','json','apply','reject','update','then','stack','name','send','index','map','fieldName','type','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','Team','includeAll','include','rows'];(function(_0x5da4d8,_0x31cca6){var _0x354518=function(_0x1abe20){while(--_0x1abe20){_0x5da4d8['push'](_0x5da4d8['shift']());}};_0x354518(++_0x31cca6);}(_0x8d57,0x101));var _0x78d5=function(_0xbe200f,_0x4b50eb){_0xbe200f=_0xbe200f-0x0;var _0x192597=_0x8d57[_0xbe200f];return _0x192597;};'use strict';var emlformat=require(_0x78d5('0x0'));var rimraf=require(_0x78d5('0x1'));var zipdir=require(_0x78d5('0x2'));var jsonpatch=require(_0x78d5('0x3'));var rp=require(_0x78d5('0x4'));var moment=require(_0x78d5('0x5'));var BPromise=require(_0x78d5('0x6'));var Mustache=require(_0x78d5('0x7'));var util=require(_0x78d5('0x8'));var path=require(_0x78d5('0x9'));var sox=require(_0x78d5('0xa'));var csv=require(_0x78d5('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x78d5('0xc'));var _=require('lodash');var squel=require(_0x78d5('0xd'));var crypto=require('crypto');var jsforce=require(_0x78d5('0xe'));var deskjs=require(_0x78d5('0xf'));var toCsv=require(_0x78d5('0xb'));var querystring=require(_0x78d5('0x10'));var Papa=require(_0x78d5('0x11'));var Redis=require(_0x78d5('0x12'));var authService=require(_0x78d5('0x13'));var qs=require(_0x78d5('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x78d5('0x15'))(_0x78d5('0x16'));var utils=require('../../config/utils');var config=require(_0x78d5('0x17'));var licenseUtil=require(_0x78d5('0x18'));var db=require(_0x78d5('0x19'))['db'];config[_0x78d5('0x1a')]=_['defaults'](config['redis'],{'host':_0x78d5('0x1b'),'port':0x18eb});var socket=require(_0x78d5('0x1c'))(new Redis(config[_0x78d5('0x1a')]));require('./team.socket')[_0x78d5('0x1d')](socket);function respondWithStatusCode(_0x5c17b6,_0x196fae){_0x196fae=_0x196fae||0xcc;return function(_0x3f6e58){if(_0x3f6e58){return _0x5c17b6[_0x78d5('0x1e')](_0x196fae);}return _0x5c17b6['status'](_0x196fae)['end']();};}function respondWithResult(_0x111e6c,_0x177fea){_0x177fea=_0x177fea||0xc8;return function(_0x572f14){if(_0x572f14){return _0x111e6c[_0x78d5('0x1f')](_0x177fea)['json'](_0x572f14);}};}function respondWithFilteredResult(_0x177556,_0x2aaae5){return function(_0x59bd0d){if(_0x59bd0d){var _0x13baa0=typeof _0x2aaae5[_0x78d5('0x20')]===_0x78d5('0x21')&&typeof _0x2aaae5[_0x78d5('0x22')]===_0x78d5('0x21');var _0x3b3d14=_0x59bd0d[_0x78d5('0x23')];var _0x321f3d=_0x13baa0?0x0:_0x2aaae5[_0x78d5('0x20')];var _0x592f9c=_0x13baa0?_0x59bd0d[_0x78d5('0x23')]:_0x2aaae5[_0x78d5('0x20')]+_0x2aaae5[_0x78d5('0x22')];var _0x32e986;if(_0x592f9c>=_0x3b3d14){_0x592f9c=_0x3b3d14;_0x32e986=0xc8;}else{_0x32e986=0xce;}_0x177556[_0x78d5('0x1f')](_0x32e986);return _0x177556[_0x78d5('0x24')]('Content-Range',_0x321f3d+'-'+_0x592f9c+'/'+_0x3b3d14)[_0x78d5('0x25')](_0x59bd0d);}return null;};}function patchUpdates(_0x21eac6){return function(_0x195c83){try{jsonpatch[_0x78d5('0x26')](_0x195c83,_0x21eac6,!![]);}catch(_0x3a0c0e){return BPromise[_0x78d5('0x27')](_0x3a0c0e);}return _0x195c83['save']();};}function saveUpdates(_0x151fe7,_0x52f55b){return function(_0x287c87){if(_0x287c87){return _0x287c87[_0x78d5('0x28')](_0x151fe7)[_0x78d5('0x29')](function(_0x1fa24f){return _0x1fa24f;});}return null;};}function handleEntityNotFound(_0xbaf606,_0x35db12){return function(_0x4f9f85){if(!_0x4f9f85){_0xbaf606[_0x78d5('0x1e')](0x194);}return _0x4f9f85;};}function handleError(_0x42ce24,_0x1f01c6){_0x1f01c6=_0x1f01c6||0x1f4;return function(_0x2d0f98){logger['error'](_0x2d0f98[_0x78d5('0x2a')]);if(_0x2d0f98['name']){delete _0x2d0f98[_0x78d5('0x2b')];}_0x42ce24[_0x78d5('0x1f')](_0x1f01c6)[_0x78d5('0x2c')](_0x2d0f98);};}exports[_0x78d5('0x2d')]=function(_0x4285b2,_0xb609eb){var _0x13335e={},_0x12e105={},_0x4118e5={'count':0x0,'rows':[]};var _0x2a171e=_[_0x78d5('0x2e')](db['Team']['rawAttributes'],function(_0x411e89){return{'name':_0x411e89[_0x78d5('0x2f')],'type':_0x411e89[_0x78d5('0x30')]['key']};});_0x12e105[_0x78d5('0x31')]=_[_0x78d5('0x2e')](_0x2a171e,_0x78d5('0x2b'));_0x12e105[_0x78d5('0x32')]=_[_0x78d5('0x33')](_0x4285b2['query']);_0x12e105[_0x78d5('0x34')]=_['intersection'](_0x12e105[_0x78d5('0x31')],_0x12e105[_0x78d5('0x32')]);_0x13335e[_0x78d5('0x35')]=_['intersection'](_0x12e105[_0x78d5('0x31')],qs[_0x78d5('0x36')](_0x4285b2[_0x78d5('0x32')][_0x78d5('0x36')]));_0x13335e[_0x78d5('0x35')]=_0x13335e[_0x78d5('0x35')][_0x78d5('0x37')]?_0x13335e[_0x78d5('0x35')]:_0x12e105['model'];if(!_0x4285b2[_0x78d5('0x32')][_0x78d5('0x38')](_0x78d5('0x39'))){_0x13335e[_0x78d5('0x22')]=qs[_0x78d5('0x22')](_0x4285b2[_0x78d5('0x32')][_0x78d5('0x22')]);_0x13335e[_0x78d5('0x20')]=qs[_0x78d5('0x20')](_0x4285b2['query'][_0x78d5('0x20')]);}_0x13335e['order']=qs[_0x78d5('0x3a')](_0x4285b2[_0x78d5('0x32')][_0x78d5('0x3a')]);_0x13335e[_0x78d5('0x3b')]=qs['filters'](_[_0x78d5('0x3c')](_0x4285b2[_0x78d5('0x32')],_0x12e105[_0x78d5('0x34')]),_0x2a171e);if(_0x4285b2[_0x78d5('0x32')][_0x78d5('0x3d')]){_0x13335e[_0x78d5('0x3b')]=_['merge'](_0x13335e[_0x78d5('0x3b')],{'$or':_[_0x78d5('0x2e')](_0x2a171e,function(_0x2783f1){if(_0x2783f1[_0x78d5('0x30')]!==_0x78d5('0x3e')){var _0x30133c={};_0x30133c[_0x2783f1[_0x78d5('0x2b')]]={'$like':'%'+_0x4285b2[_0x78d5('0x32')][_0x78d5('0x3d')]+'%'};return _0x30133c;}})});}_0x13335e=_[_0x78d5('0x3f')]({},_0x13335e,_0x4285b2[_0x78d5('0x40')]);var _0x3f1e21={'where':_0x13335e['where']};return db[_0x78d5('0x41')][_0x78d5('0x23')](_0x3f1e21)[_0x78d5('0x29')](function(_0x368687){_0x4118e5['count']=_0x368687;if(_0x4285b2[_0x78d5('0x32')][_0x78d5('0x42')]){_0x13335e[_0x78d5('0x43')]=[{'all':!![]}];}return db[_0x78d5('0x41')]['findAll'](_0x13335e);})[_0x78d5('0x29')](function(_0x46b906){_0x4118e5[_0x78d5('0x44')]=_0x46b906;return _0x4118e5;})[_0x78d5('0x29')](respondWithFilteredResult(_0xb609eb,_0x13335e))[_0x78d5('0x45')](handleError(_0xb609eb,null));};exports[_0x78d5('0x46')]=function(_0x208699,_0x16acb0){var _0x44dd68={'raw':![],'where':{'id':_0x208699[_0x78d5('0x47')]['id']}},_0x208709={};_0x208709[_0x78d5('0x31')]=_['keys'](db[_0x78d5('0x41')]['rawAttributes']);_0x208709['query']=_['keys'](_0x208699[_0x78d5('0x32')]);_0x208709[_0x78d5('0x34')]=_[_0x78d5('0x48')](_0x208709[_0x78d5('0x31')],_0x208709[_0x78d5('0x32')]);_0x44dd68[_0x78d5('0x35')]=_[_0x78d5('0x48')](_0x208709[_0x78d5('0x31')],qs[_0x78d5('0x36')](_0x208699[_0x78d5('0x32')][_0x78d5('0x36')]));_0x44dd68[_0x78d5('0x35')]=_0x44dd68[_0x78d5('0x35')][_0x78d5('0x37')]?_0x44dd68[_0x78d5('0x35')]:_0x208709[_0x78d5('0x31')];if(_0x208699['query']['includeAll']){_0x44dd68[_0x78d5('0x43')]=[{'all':!![]}];}_0x44dd68=_[_0x78d5('0x3f')]({},_0x44dd68,_0x208699[_0x78d5('0x40')]);return db[_0x78d5('0x41')][_0x78d5('0x49')](_0x44dd68)[_0x78d5('0x29')](handleEntityNotFound(_0x16acb0,null))[_0x78d5('0x29')](respondWithResult(_0x16acb0,null))['catch'](handleError(_0x16acb0,null));};exports['create']=function(_0x2a8181,_0x2dddda){return db[_0x78d5('0x41')][_0x78d5('0x4a')](_0x2a8181[_0x78d5('0x4b')],{})[_0x78d5('0x29')](function(_0x54c762){var _0x1e874c=_0x2a8181[_0x78d5('0x4c')][_0x78d5('0x4d')]({'plain':!![]});if(!_0x1e874c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1e874c[_0x78d5('0x4e')]==='user'){var _0x4e9c9b=_0x54c762[_0x78d5('0x4d')]({'plain':!![]});var _0xcaab45=_0x78d5('0x4f');return db[_0x78d5('0x50')][_0x78d5('0x49')]({'where':{'name':_0xcaab45,'userProfileId':_0x1e874c[_0x78d5('0x51')]},'raw':!![]})['then'](function(_0x397139){if(_0x397139&&_0x397139[_0x78d5('0x52')]===0x0){return db[_0x78d5('0x53')]['create']({'name':_0x4e9c9b[_0x78d5('0x2b')],'resourceId':_0x4e9c9b['id'],'type':_0x397139[_0x78d5('0x2b')],'sectionId':_0x397139['id']},{})[_0x78d5('0x29')](function(){return _0x54c762;});}else{return _0x54c762;}})[_0x78d5('0x45')](function(_0x3b03ec){logger[_0x78d5('0x54')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3b03ec);throw _0x3b03ec;});}return _0x54c762;})[_0x78d5('0x29')](respondWithResult(_0x2dddda,0xc9))[_0x78d5('0x45')](handleError(_0x2dddda,null));};exports[_0x78d5('0x28')]=function(_0x5b1339,_0x165aa3){if(_0x5b1339['body']['id']){delete _0x5b1339[_0x78d5('0x4b')]['id'];}return db[_0x78d5('0x41')][_0x78d5('0x49')]({'where':{'id':_0x5b1339['params']['id']}})['then'](handleEntityNotFound(_0x165aa3,null))['then'](saveUpdates(_0x5b1339[_0x78d5('0x4b')],null))[_0x78d5('0x29')](respondWithResult(_0x165aa3,null))[_0x78d5('0x45')](handleError(_0x165aa3,null));};exports[_0x78d5('0x55')]=function(_0x22437b,_0x3b2361){var _0xc84cb6=_0x22437b[_0x78d5('0x47')]['id'];var _0x1427f5=[];return db[_0x78d5('0x56')]['transaction'](function(_0x4d98d8){var _0x3265c2=_0x78d5('0x57')+_0xc84cb6;return db[_0x78d5('0x56')][_0x78d5('0x32')](_0x3265c2,{'type':db['Sequelize'][_0x78d5('0x58')][_0x78d5('0x59')],'raw':!![],'transaction':_0x4d98d8})['then'](function(_0x5af20b){_0x1427f5=_[_0x78d5('0x2e')](_0x5af20b,function(_0x55f314){return Number(_0x55f314[_0x78d5('0x5a')]);});})['then'](function(){var _0x382467=_0x78d5('0x5b')+_0xc84cb6;return db[_0x78d5('0x56')]['query'](_0x382467,{'type':db[_0x78d5('0x5c')]['QueryTypes'][_0x78d5('0x59')],'raw':!![],'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(_0x4001f7){var _0x2b778f=_[_0x78d5('0x2e')](_0x4001f7,function(_0x1da43c){return Number(_0x1da43c[_0x78d5('0x5d')]);});return db[_0x78d5('0x5e')][_0x78d5('0x55')]({'where':{'UserId':{'$in':_0x1427f5},'VoiceQueueId':{'$in':_0x2b778f}},'transaction':_0x4d98d8});})['then'](function(){var _0x5a2bab=_0x78d5('0x5f')+_0xc84cb6;return db[_0x78d5('0x56')][_0x78d5('0x32')](_0x5a2bab,{'type':db[_0x78d5('0x5c')][_0x78d5('0x58')][_0x78d5('0x59')],'raw':!![],'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(_0x42b23e){var _0x184717=_['map'](_0x42b23e,function(_0x4a46ab){return Number(_0x4a46ab[_0x78d5('0x60')]);});return db['UserMailQueue'][_0x78d5('0x55')]({'where':{'UserId':{'$in':_0x1427f5},'MailQueueId':{'$in':_0x184717}},'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(){var _0x2c48d6=_0x78d5('0x61')+_0xc84cb6;return db['sequelize'][_0x78d5('0x32')](_0x2c48d6,{'type':db[_0x78d5('0x5c')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x4d98d8});})['then'](function(_0x58fd94){var _0x26e3ad=_[_0x78d5('0x2e')](_0x58fd94,function(_0x50091a){return Number(_0x50091a[_0x78d5('0x62')]);});return db[_0x78d5('0x63')]['destroy']({'where':{'UserId':{'$in':_0x1427f5},'SmsQueueId':{'$in':_0x26e3ad}},'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(){var _0x18d49a=_0x78d5('0x64')+_0xc84cb6;return db[_0x78d5('0x56')]['query'](_0x18d49a,{'type':db[_0x78d5('0x5c')][_0x78d5('0x58')]['SELECT'],'raw':!![],'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(_0x4b3d0f){var _0x5ac60c=_[_0x78d5('0x2e')](_0x4b3d0f,function(_0x1e0895){return Number(_0x1e0895[_0x78d5('0x65')]);});return db[_0x78d5('0x66')][_0x78d5('0x55')]({'where':{'UserId':{'$in':_0x1427f5},'ChatQueueId':{'$in':_0x5ac60c}},'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(){var _0x1c2b4b=_0x78d5('0x67')+_0xc84cb6;return db[_0x78d5('0x56')]['query'](_0x1c2b4b,{'type':db['Sequelize'][_0x78d5('0x58')][_0x78d5('0x59')],'raw':!![],'transaction':_0x4d98d8});})['then'](function(_0x1d4ebf){var _0x3eb359=_[_0x78d5('0x2e')](_0x1d4ebf,function(_0x2dd737){return Number(_0x2dd737[_0x78d5('0x68')]);});return db[_0x78d5('0x69')]['destroy']({'where':{'UserId':{'$in':_0x1427f5},'FaxQueueId':{'$in':_0x3eb359}},'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(){var _0x4ba59e=_0x78d5('0x6a')+_0xc84cb6;return db[_0x78d5('0x56')][_0x78d5('0x32')](_0x4ba59e,{'type':db[_0x78d5('0x5c')][_0x78d5('0x58')]['SELECT'],'raw':!![],'transaction':_0x4d98d8});})['then'](function(_0x261064){var _0x3ac3c8=_['map'](_0x261064,function(_0x27e4a7){return Number(_0x27e4a7[_0x78d5('0x6b')]);});return db[_0x78d5('0x6c')][_0x78d5('0x55')]({'where':{'UserId':{'$in':_0x1427f5},'OpenchannelQueueId':{'$in':_0x3ac3c8}},'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(){var _0x2a138d=_0x78d5('0x6d')+_0xc84cb6;return db['sequelize'][_0x78d5('0x32')](_0x2a138d,{'type':db[_0x78d5('0x5c')]['QueryTypes'][_0x78d5('0x59')],'raw':!![],'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(_0x522a30){var _0xed1d39=_[_0x78d5('0x2e')](_0x522a30,function(_0x425652){return Number(_0x425652[_0x78d5('0x6e')]);});return db[_0x78d5('0x6f')][_0x78d5('0x55')]({'where':{'UserId':{'$in':_0x1427f5},'WhatsappQueueId':{'$in':_0xed1d39}},'transaction':_0x4d98d8});})['then'](function(){return db['TeamVoicePrefix'][_0x78d5('0x49')]({'where':{'TeamId':_0xc84cb6}});})[_0x78d5('0x29')](function(_0x1608e2){if(_0x1608e2===null){return;}return db[_0x78d5('0x70')][_0x78d5('0x55')]({'where':{'UserId':{'$in':_0x1427f5},'VoicePrefixId':_0x1608e2[_0x78d5('0x71')]},'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(){return db[_0x78d5('0x41')][_0x78d5('0x55')]({'where':{'id':_0xc84cb6},'cascade':!![],'transaction':_0x4d98d8});})[_0x78d5('0x29')](function(_0xc0f486){if(_0xc0f486===0x0){_0x3b2361[_0x78d5('0x1e')](0x194);}else{return db[_0x78d5('0x53')]['destroy']({'where':{'type':_0x78d5('0x4f'),'resourceId':_0xc84cb6},'cascade':!![],'transaction':_0x4d98d8})['then'](function(){_0x3b2361['status'](0xcc)[_0x78d5('0x72')]();});}})['catch'](function(_0x283af5){_0x3b2361['status'](0x1f4)[_0x78d5('0x2c')](_0x283af5);});});};exports[_0x78d5('0x73')]=function(_0x31a916,_0x18a1d8,_0x487c83){return db[_0x78d5('0x41')][_0x78d5('0x74')]({'where':{'id':_0x31a916['params']['id']}})[_0x78d5('0x29')](handleEntityNotFound(_0x18a1d8,null))[_0x78d5('0x29')](function(_0x2cda0e){if(!_0x31a916[_0x78d5('0x32')][_0x78d5('0x75')]||!utils[_0x78d5('0x76')](_0x31a916[_0x78d5('0x32')][_0x78d5('0x75')])){throw new db[(_0x78d5('0x5c'))][(_0x78d5('0x77'))](_0x78d5('0x78'));}var _0x445580={};var _0x2379d1={};_0x2379d1[_0x78d5('0x31')]=_['keys'](db[_[_0x78d5('0x79')](_0x31a916[_0x78d5('0x32')][_0x78d5('0x75')][_0x78d5('0x7a')]())+_0x78d5('0x7b')]['rawAttributes']);_0x2379d1[_0x78d5('0x32')]=_[_0x78d5('0x33')](_0x31a916[_0x78d5('0x32')]);_0x2379d1['filters']=_[_0x78d5('0x48')](_0x2379d1[_0x78d5('0x31')],_0x2379d1[_0x78d5('0x32')]);_0x445580['attributes']=_[_0x78d5('0x48')](_0x2379d1[_0x78d5('0x31')],qs[_0x78d5('0x36')](_0x31a916[_0x78d5('0x32')][_0x78d5('0x36')]));_0x445580[_0x78d5('0x35')]=_0x445580['attributes'][_0x78d5('0x37')]?_0x445580[_0x78d5('0x35')]:_0x2379d1['model'];_0x445580[_0x78d5('0x22')]=qs['limit'](_0x31a916[_0x78d5('0x32')]['limit']);_0x445580['offset']=qs[_0x78d5('0x20')](_0x31a916[_0x78d5('0x32')]['offset']);_0x445580['order']=qs['sort'](_0x31a916[_0x78d5('0x32')][_0x78d5('0x3a')]);_0x445580['where']=qs[_0x78d5('0x34')](_[_0x78d5('0x3c')](_0x31a916['query'],_0x2379d1[_0x78d5('0x34')]));_0x445580=_[_0x78d5('0x3f')]({},_0x445580,_0x31a916[_0x78d5('0x40')]);return _0x2cda0e[_0x78d5('0x4d')+_[_0x78d5('0x79')](_0x31a916[_0x78d5('0x32')][_0x78d5('0x75')][_0x78d5('0x7a')]())+_0x78d5('0x7c')](_0x445580);})[_0x78d5('0x29')](respondWithResult(_0x18a1d8,null))['catch'](handleError(_0x18a1d8,null));};exports[_0x78d5('0x7d')]=function(_0x525ff5,_0x30609d,_0x370d81){return db[_0x78d5('0x41')][_0x78d5('0x74')]({'where':{'id':_0x525ff5[_0x78d5('0x47')]['id']}})[_0x78d5('0x29')](function(_0x1b8b53){if(_0x1b8b53){if(!_0x525ff5[_0x78d5('0x4b')][_0x78d5('0x75')]||!utils[_0x78d5('0x76')](_0x525ff5[_0x78d5('0x4b')][_0x78d5('0x75')])){throw new db[(_0x78d5('0x5c'))]['ValidationError'](_0x78d5('0x78'));}return _0x1b8b53[_0x78d5('0x7e')+_['capitalize'](_0x525ff5[_0x78d5('0x4b')][_0x78d5('0x75')][_0x78d5('0x7a')]())+'Queues'](_0x525ff5[_0x78d5('0x4b')][_0x78d5('0x7f')]);}return null;})[_0x78d5('0x29')](handleEntityNotFound(_0x30609d,null))[_0x78d5('0x29')](respondWithStatusCode(_0x30609d,null))['catch'](handleError(_0x30609d,null));};exports['removeQueues']=function(_0x2a16fe,_0x54bed4,_0x5db213){return db[_0x78d5('0x41')][_0x78d5('0x74')]({'where':{'id':_0x2a16fe['params']['id']}})[_0x78d5('0x29')](function(_0x2d90d0){if(_0x2d90d0){if(!_0x2a16fe[_0x78d5('0x32')]['channel']||!utils[_0x78d5('0x76')](_0x2a16fe[_0x78d5('0x32')]['channel'])){throw new db[(_0x78d5('0x5c'))][(_0x78d5('0x77'))](_0x78d5('0x78'));}return _0x2d90d0[_0x78d5('0x80')+_[_0x78d5('0x79')](_0x2a16fe[_0x78d5('0x32')][_0x78d5('0x75')][_0x78d5('0x7a')]())+'Queues'](_0x2a16fe[_0x78d5('0x32')][_0x78d5('0x7f')]);}return null;})['then'](handleEntityNotFound(_0x54bed4,null))['then'](respondWithStatusCode(_0x54bed4,null))[_0x78d5('0x45')](handleError(_0x54bed4,null));};exports[_0x78d5('0x81')]=function(_0x1d1091,_0x14555f){var _0xdbb079=_[_0x78d5('0x82')](_0x1d1091[_0x78d5('0x4b')][_0x78d5('0x7f')])?_0x1d1091[_0x78d5('0x4b')]['ids']:[_0x1d1091[_0x78d5('0x4b')][_0x78d5('0x7f')]];var _0x4e10a9=_0x1d1091['params']['id'];return db[_0x78d5('0x41')][_0x78d5('0x49')]({'where':{'id':_0x4e10a9}})['then'](handleEntityNotFound(_0x14555f,null))[_0x78d5('0x29')](function(_0x2e6be0){if(_0x2e6be0){var _0x55dd93=[_0x78d5('0x83'),_0x78d5('0x84'),_0x78d5('0x85'),_0x78d5('0x86'),_0x78d5('0x87'),_0x78d5('0x88'),'Whatsapp'];return db[_0x78d5('0x56')][_0x78d5('0x89')](function(_0x5e4764){var _0x27366=_['map'](_0x55dd93,function(_0x11c60e){var _0x47bacd={'attributes':['id',_0x78d5('0x2b')]};if(_0x11c60e===_0x78d5('0x83')){_0x47bacd[_0x78d5('0x8a')]={'attributes':['penalty']};}return _0x2e6be0[_0x78d5('0x4d')+_0x11c60e+_0x78d5('0x7c')](_0x47bacd)[_0x78d5('0x29')](function(_0x2ced4c){var _0x7e0562=_[_0x78d5('0x2e')](_0x2ced4c,function(_0x5deff5){var _0x44cf0f=_[_0x78d5('0x2e')](_0xdbb079,function(_0x1d06d9){var _0x5bbde9={'where':{'UserId':_0x1d06d9,[_0x11c60e+_0x78d5('0x8b')]:_0x5deff5['id']},'transaction':_0x5e4764};if(_0x11c60e===_0x78d5('0x83')){_0x5bbde9[_0x78d5('0x8c')]={'penalty':_0x5deff5[_0x78d5('0x8d')][_0x78d5('0x8e')]};}return db[_0x78d5('0x8f')+_0x11c60e+'Queue'][_0x78d5('0x90')](_0x5bbde9)[_0x78d5('0x29')](function(){socket[_0x78d5('0x91')]('user'+_0x11c60e+_0x78d5('0x92'),{'UserId':_0x1d06d9,[_0x11c60e+_0x78d5('0x8b')]:_0x5deff5['id']});if(_0x11c60e!==_0x78d5('0x83')){return;}return db[_0x78d5('0x8f')][_0x78d5('0x93')]({'where':{'id':_0xdbb079,'online':0x1},'attributes':['id',_0x78d5('0x2b'),_0x78d5('0x94'),_0x78d5('0x95'),_0x78d5('0x96')],'raw':!![]})[_0x78d5('0x29')](function(_0x1f4e9c){var _0x539e59=_[_0x78d5('0x2e')](_0x1f4e9c,function(_0x39deba){return db[_0x78d5('0x97')][_0x78d5('0x98')]({'membername':_0x39deba[_0x78d5('0x2b')],'UserId':_0x39deba['id'],'queue_name':_0x5deff5[_0x78d5('0x2b')],'VoiceQueueId':_0x5deff5['id'],'interface':_[_0x78d5('0x99')](_0x39deba['interface'])?util[_0x78d5('0x9a')]('SIP/%s',_0x39deba[_0x78d5('0x2b')]):_0x39deba['interface'],'paused':_0x39deba[_0x78d5('0x95')]||![],'penalty':_0x5deff5[_0x78d5('0x8d')]['penalty']},{'transaction':_0x5e4764});});return Promise['all'](_0x539e59);});});});return Promise[_0x78d5('0x9b')](_0x44cf0f);});return Promise[_0x78d5('0x9b')](_0x7e0562);})[_0x78d5('0x29')](function(){return db['TeamVoicePrefix'][_0x78d5('0x74')]({'where':{'teamId':_0x4e10a9}})['then'](function(_0x43d4c9){if(_0x43d4c9){var _0x2cad86=_[_0x78d5('0x2e')](_0xdbb079,function(_0x5c61b5){db['UserVoicePrefix'][_0x78d5('0x98')]({'UserId':_0x5c61b5,'VoicePrefixId':_0x43d4c9[_0x78d5('0x71')]});});return Promise[_0x78d5('0x9b')](_0x2cad86);}});});});return Promise[_0x78d5('0x9b')](_0x27366)[_0x78d5('0x29')](function(){return _0x2e6be0[_0x78d5('0x81')](_0xdbb079,{'transaction':_0x5e4764})[_0x78d5('0x9c')](function(_0x45549c){return _0x45549c;});});});}})[_0x78d5('0x29')](respondWithResult(_0x14555f,null))[_0x78d5('0x45')](handleError(_0x14555f,null));};exports[_0x78d5('0x9d')]=function(_0x5462b0,_0x3ca9fb){var _0x15f424=_[_0x78d5('0x82')](_0x5462b0[_0x78d5('0x32')][_0x78d5('0x7f')])?_0x5462b0[_0x78d5('0x32')][_0x78d5('0x7f')]:[_0x5462b0[_0x78d5('0x32')]['ids']];var _0x36a6cc=_0x5462b0[_0x78d5('0x47')]['id'];return db[_0x78d5('0x41')][_0x78d5('0x49')]({'where':{'id':_0x36a6cc}})[_0x78d5('0x29')](handleEntityNotFound(_0x3ca9fb,null))[_0x78d5('0x29')](function(_0x4f8e8a){if(_0x4f8e8a){var _0x463ec5=['Voice',_0x78d5('0x84'),_0x78d5('0x85'),_0x78d5('0x86'),_0x78d5('0x87'),_0x78d5('0x88'),_0x78d5('0x9e')];return db[_0x78d5('0x56')]['transaction'](function(_0x44f3f8){var _0x1c6863=_[_0x78d5('0x2e')](_0x463ec5,function(_0x50d0c3){var _0x4c22de={'attributes':['id',_0x78d5('0x2b')]};return _0x4f8e8a[_0x78d5('0x4d')+_0x50d0c3+_0x78d5('0x7c')](_0x4c22de)[_0x78d5('0x29')](function(_0x1f5724){var _0x52fa60=_[_0x78d5('0x2e')](_0x1f5724,function(_0x1e4e79){return _0x1e4e79[_0x78d5('0x9d')](_0x15f424,{'transaction':_0x44f3f8})[_0x78d5('0x29')](function(){var _0x23d88b=_['map'](_0x15f424,function(_0x4e259d){socket[_0x78d5('0x91')](_0x78d5('0x4c')+_0x50d0c3+'Queue:remove',{'UserId':Number(_0x4e259d),[_0x50d0c3+'QueueId']:_0x1e4e79['id']});if(_0x50d0c3!==_0x78d5('0x83')){return;}return db[_0x78d5('0x97')][_0x78d5('0x55')]({'where':{'VoiceQueueId':_0x1e4e79['id'],'UserId':_0x4e259d},'transaction':_0x44f3f8});});return Promise[_0x78d5('0x9b')](_0x23d88b);});});return Promise[_0x78d5('0x9b')](_0x52fa60);});});return Promise[_0x78d5('0x9b')](_0x1c6863)[_0x78d5('0x29')](function(){return _0x4f8e8a['removeAgents'](_0x15f424,{'transaction':_0x44f3f8});})[_0x78d5('0x29')](function(){return db[_0x78d5('0x9f')]['findOne']({'where':{'teamId':_0x36a6cc}})['then'](function(_0x8869d0){if(_0x8869d0){var _0x30959c=_[_0x78d5('0x2e')](_0x15f424,function(_0xf4dabc){db[_0x78d5('0x70')][_0x78d5('0x55')]({'where':{'UserId':_0xf4dabc,'VoicePrefixId':_0x8869d0[_0x78d5('0x71')]}});});return Promise[_0x78d5('0x9b')](_0x30959c);}});});});}})[_0x78d5('0x29')](respondWithStatusCode(_0x3ca9fb,null))[_0x78d5('0x45')](handleError(_0x3ca9fb,null));};exports['getAgents']=function(_0x117bcd,_0x553736,_0x32712a){var _0x3b6550={};var _0x958b7a={};var _0x668957;var _0x51e080;return db[_0x78d5('0x41')][_0x78d5('0x74')]({'where':{'id':_0x117bcd[_0x78d5('0x47')]['id']}})[_0x78d5('0x29')](handleEntityNotFound(_0x553736,null))[_0x78d5('0x29')](function(_0x57fe7f){if(_0x57fe7f){_0x668957=_0x57fe7f;_0x958b7a['model']=_[_0x78d5('0x33')](db[_0x78d5('0x8f')][_0x78d5('0xa0')]);_0x958b7a[_0x78d5('0x32')]=_[_0x78d5('0x33')](_0x117bcd['query']);_0x958b7a['filters']=_[_0x78d5('0x48')](_0x958b7a[_0x78d5('0x31')],_0x958b7a[_0x78d5('0x32')]);_0x3b6550[_0x78d5('0x35')]=_['intersection'](_0x958b7a['model'],qs[_0x78d5('0x36')](_0x117bcd[_0x78d5('0x32')][_0x78d5('0x36')]));_0x3b6550[_0x78d5('0x35')]=_0x3b6550[_0x78d5('0x35')]['length']?_0x3b6550[_0x78d5('0x35')]:_0x958b7a[_0x78d5('0x31')];_0x3b6550[_0x78d5('0xa1')]=qs['sort'](_0x117bcd[_0x78d5('0x32')]['sort']);_0x3b6550[_0x78d5('0x3b')]=qs[_0x78d5('0x34')](_[_0x78d5('0x3c')](_0x117bcd[_0x78d5('0x32')],_0x958b7a[_0x78d5('0x34')]));if(_0x117bcd[_0x78d5('0x32')][_0x78d5('0x3d')]){_0x3b6550[_0x78d5('0x3b')]=_[_0x78d5('0x3f')](_0x3b6550['where'],{'$or':_[_0x78d5('0x2e')](_0x3b6550[_0x78d5('0x35')],function(_0x3cd435){var _0x2574c9={};_0x2574c9[_0x3cd435]={'$like':'%'+_0x117bcd[_0x78d5('0x32')]['filter']+'%'};return _0x2574c9;})});}_0x3b6550=_['merge']({},_0x3b6550,_0x117bcd[_0x78d5('0x40')]);return _0x668957[_0x78d5('0xa2')](_0x3b6550);}})[_0x78d5('0x29')](function(_0x521d3f){if(_0x521d3f){_0x51e080=_0x521d3f[_0x78d5('0x37')];if(!_0x117bcd[_0x78d5('0x32')]['hasOwnProperty'](_0x78d5('0x39'))){_0x3b6550[_0x78d5('0x22')]=qs['limit'](_0x117bcd[_0x78d5('0x32')]['limit']);_0x3b6550[_0x78d5('0x20')]=qs['offset'](_0x117bcd['query'][_0x78d5('0x20')]);}return _0x668957['getAgents'](_0x3b6550);}})['then'](function(_0x5b4bda){if(_0x5b4bda){return _0x5b4bda?{'count':_0x51e080,'rows':_0x5b4bda}:null;}})[_0x78d5('0x29')](respondWithResult(_0x553736,null))['catch'](handleError(_0x553736,null));};