Built motion from commit f7863d46.|2.5.41
[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 _0xa646=['key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','filters','filter','merge','where','VIRTUAL','options','Team','includeAll','include','catch','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','Teams','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','transaction','sequelize','Sequelize','QueryTypes','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','UserVoiceQueue','SELECT','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','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','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','UserProfileResource','end','send','getQueues','findOne','channel','isValidChannel','ValidationError','capitalize','toLowerCase','Queue','sort','pick','Queues','Unknown\x20channel','add','ids','removeQueues','remove','addAgents','Chat','Mail','Sms','Fax','Openchannel','penalty','QueueId','Voice','TeamVoiceQueue','User','emit','Queue:save','online','voicePause','interface','upsert','isNil','format','all','VoicePrefixId','removeAgents','isArray','Whatsapp','Queue:remove','UserVoiceQueueRt','getAgents','nolimit','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./team.socket','register','status','offset','limit','undefined','count','set','save','update','then','error','stack','name','index','map','rawAttributes','fieldName','type'];(function(_0x1389e3,_0x2ed4bd){var _0x3f6873=function(_0x494b3a){while(--_0x494b3a){_0x1389e3['push'](_0x1389e3['shift']());}};_0x3f6873(++_0x2ed4bd);}(_0xa646,0x68));var _0x6a64=function(_0x5bad90,_0x2bd2e3){_0x5bad90=_0x5bad90-0x0;var _0x134b53=_0xa646[_0x5bad90];return _0x134b53;};'use strict';var emlformat=require(_0x6a64('0x0'));var rimraf=require(_0x6a64('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6a64('0x2'));var rp=require('request-promise');var moment=require(_0x6a64('0x3'));var BPromise=require(_0x6a64('0x4'));var Mustache=require(_0x6a64('0x5'));var util=require(_0x6a64('0x6'));var path=require(_0x6a64('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x6a64('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6a64('0x9'));var squel=require(_0x6a64('0xa'));var crypto=require(_0x6a64('0xb'));var jsforce=require(_0x6a64('0xc'));var deskjs=require(_0x6a64('0xd'));var toCsv=require('to-csv');var querystring=require(_0x6a64('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x6a64('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x6a64('0x10'));var hardwareService=require(_0x6a64('0x11'));var logger=require('../../config/logger')(_0x6a64('0x12'));var utils=require('../../config/utils');var config=require(_0x6a64('0x13'));var licenseUtil=require(_0x6a64('0x14'));var db=require(_0x6a64('0x15'))['db'];config[_0x6a64('0x16')]=_[_0x6a64('0x17')](config[_0x6a64('0x16')],{'host':_0x6a64('0x18'),'port':0x18eb});var socket=require(_0x6a64('0x19'))(new Redis(config[_0x6a64('0x16')]));require(_0x6a64('0x1a'))[_0x6a64('0x1b')](socket);function respondWithStatusCode(_0x1177cb,_0x5a3189){_0x5a3189=_0x5a3189||0xcc;return function(_0x3d7bcd){if(_0x3d7bcd){return _0x1177cb['sendStatus'](_0x5a3189);}return _0x1177cb[_0x6a64('0x1c')](_0x5a3189)['end']();};}function respondWithResult(_0x2c3c48,_0x4c7a1f){_0x4c7a1f=_0x4c7a1f||0xc8;return function(_0x23ae2c){if(_0x23ae2c){return _0x2c3c48[_0x6a64('0x1c')](_0x4c7a1f)['json'](_0x23ae2c);}};}function respondWithFilteredResult(_0x1d5bb5,_0x105522){return function(_0x41bcb5){if(_0x41bcb5){var _0x59d776=typeof _0x105522[_0x6a64('0x1d')]==='undefined'&&typeof _0x105522[_0x6a64('0x1e')]===_0x6a64('0x1f');var _0xa62917=_0x41bcb5[_0x6a64('0x20')];var _0x286187=_0x59d776?0x0:_0x105522[_0x6a64('0x1d')];var _0x2e740d=_0x59d776?_0x41bcb5['count']:_0x105522[_0x6a64('0x1d')]+_0x105522[_0x6a64('0x1e')];var _0x333743;if(_0x2e740d>=_0xa62917){_0x2e740d=_0xa62917;_0x333743=0xc8;}else{_0x333743=0xce;}_0x1d5bb5[_0x6a64('0x1c')](_0x333743);return _0x1d5bb5[_0x6a64('0x21')]('Content-Range',_0x286187+'-'+_0x2e740d+'/'+_0xa62917)['json'](_0x41bcb5);}return null;};}function patchUpdates(_0x5db7){return function(_0x136a69){try{jsonpatch['apply'](_0x136a69,_0x5db7,!![]);}catch(_0x322338){return BPromise['reject'](_0x322338);}return _0x136a69[_0x6a64('0x22')]();};}function saveUpdates(_0x2f3ffc,_0x25c0f3){return function(_0x560eb){if(_0x560eb){return _0x560eb[_0x6a64('0x23')](_0x2f3ffc)[_0x6a64('0x24')](function(_0x359951){return _0x359951;});}return null;};}function handleEntityNotFound(_0x9e662d,_0x3baafe){return function(_0x8218e4){if(!_0x8218e4){_0x9e662d['sendStatus'](0x194);}return _0x8218e4;};}function handleError(_0x522f2b,_0x142863){_0x142863=_0x142863||0x1f4;return function(_0x47cd7d){logger[_0x6a64('0x25')](_0x47cd7d[_0x6a64('0x26')]);if(_0x47cd7d[_0x6a64('0x27')]){delete _0x47cd7d[_0x6a64('0x27')];}_0x522f2b['status'](_0x142863)['send'](_0x47cd7d);};}exports[_0x6a64('0x28')]=function(_0x59fb75,_0x5602fe){var _0x36a5f0={},_0x13e6b6={},_0x5d7f07={'count':0x0,'rows':[]};var _0x36376b=_[_0x6a64('0x29')](db['Team'][_0x6a64('0x2a')],function(_0x1ebf88){return{'name':_0x1ebf88[_0x6a64('0x2b')],'type':_0x1ebf88[_0x6a64('0x2c')][_0x6a64('0x2d')]};});_0x13e6b6[_0x6a64('0x2e')]=_['map'](_0x36376b,_0x6a64('0x27'));_0x13e6b6[_0x6a64('0x2f')]=_[_0x6a64('0x30')](_0x59fb75['query']);_0x13e6b6['filters']=_[_0x6a64('0x31')](_0x13e6b6['model'],_0x13e6b6['query']);_0x36a5f0[_0x6a64('0x32')]=_[_0x6a64('0x31')](_0x13e6b6['model'],qs[_0x6a64('0x33')](_0x59fb75['query']['fields']));_0x36a5f0[_0x6a64('0x32')]=_0x36a5f0[_0x6a64('0x32')][_0x6a64('0x34')]?_0x36a5f0[_0x6a64('0x32')]:_0x13e6b6[_0x6a64('0x2e')];if(!_0x59fb75[_0x6a64('0x2f')][_0x6a64('0x35')]('nolimit')){_0x36a5f0[_0x6a64('0x1e')]=qs[_0x6a64('0x1e')](_0x59fb75[_0x6a64('0x2f')][_0x6a64('0x1e')]);_0x36a5f0[_0x6a64('0x1d')]=qs[_0x6a64('0x1d')](_0x59fb75[_0x6a64('0x2f')]['offset']);}_0x36a5f0[_0x6a64('0x36')]=qs['sort'](_0x59fb75[_0x6a64('0x2f')]['sort']);_0x36a5f0['where']=qs[_0x6a64('0x37')](_['pick'](_0x59fb75[_0x6a64('0x2f')],_0x13e6b6[_0x6a64('0x37')]),_0x36376b);if(_0x59fb75[_0x6a64('0x2f')][_0x6a64('0x38')]){_0x36a5f0['where']=_[_0x6a64('0x39')](_0x36a5f0[_0x6a64('0x3a')],{'$or':_[_0x6a64('0x29')](_0x36376b,function(_0x2e4fdf){if(_0x2e4fdf[_0x6a64('0x2c')]!==_0x6a64('0x3b')){var _0x7cdde8={};_0x7cdde8[_0x2e4fdf[_0x6a64('0x27')]]={'$like':'%'+_0x59fb75['query'][_0x6a64('0x38')]+'%'};return _0x7cdde8;}})});}_0x36a5f0=_[_0x6a64('0x39')]({},_0x36a5f0,_0x59fb75[_0x6a64('0x3c')]);var _0x2ec2d9={'where':_0x36a5f0['where']};return db[_0x6a64('0x3d')][_0x6a64('0x20')](_0x2ec2d9)[_0x6a64('0x24')](function(_0x4a8ba5){_0x5d7f07[_0x6a64('0x20')]=_0x4a8ba5;if(_0x59fb75[_0x6a64('0x2f')][_0x6a64('0x3e')]){_0x36a5f0[_0x6a64('0x3f')]=[{'all':!![]}];}return db['Team']['findAll'](_0x36a5f0);})[_0x6a64('0x24')](function(_0xec15f8){_0x5d7f07['rows']=_0xec15f8;return _0x5d7f07;})[_0x6a64('0x24')](respondWithFilteredResult(_0x5602fe,_0x36a5f0))[_0x6a64('0x40')](handleError(_0x5602fe,null));};exports['show']=function(_0x2565de,_0x1d22c2){var _0x1f8f7a={'raw':![],'where':{'id':_0x2565de[_0x6a64('0x41')]['id']}},_0x1dd45a={};_0x1dd45a[_0x6a64('0x2e')]=_[_0x6a64('0x30')](db[_0x6a64('0x3d')]['rawAttributes']);_0x1dd45a['query']=_['keys'](_0x2565de[_0x6a64('0x2f')]);_0x1dd45a[_0x6a64('0x37')]=_['intersection'](_0x1dd45a[_0x6a64('0x2e')],_0x1dd45a[_0x6a64('0x2f')]);_0x1f8f7a[_0x6a64('0x32')]=_[_0x6a64('0x31')](_0x1dd45a[_0x6a64('0x2e')],qs[_0x6a64('0x33')](_0x2565de[_0x6a64('0x2f')]['fields']));_0x1f8f7a[_0x6a64('0x32')]=_0x1f8f7a[_0x6a64('0x32')][_0x6a64('0x34')]?_0x1f8f7a[_0x6a64('0x32')]:_0x1dd45a[_0x6a64('0x2e')];if(_0x2565de[_0x6a64('0x2f')][_0x6a64('0x3e')]){_0x1f8f7a[_0x6a64('0x3f')]=[{'all':!![]}];}_0x1f8f7a=_['merge']({},_0x1f8f7a,_0x2565de[_0x6a64('0x3c')]);return db['Team'][_0x6a64('0x42')](_0x1f8f7a)['then'](handleEntityNotFound(_0x1d22c2,null))[_0x6a64('0x24')](respondWithResult(_0x1d22c2,null))['catch'](handleError(_0x1d22c2,null));};exports['create']=function(_0x115e0f,_0x1f7d2d){return db[_0x6a64('0x3d')][_0x6a64('0x43')](_0x115e0f[_0x6a64('0x44')],{})['then'](function(_0x366950){var _0x2ceb00=_0x115e0f[_0x6a64('0x45')]['get']({'plain':!![]});if(!_0x2ceb00)throw new Error(_0x6a64('0x46'));if(_0x2ceb00[_0x6a64('0x47')]===_0x6a64('0x45')){var _0x214adc=_0x366950[_0x6a64('0x48')]({'plain':!![]});var _0x2dc10f=_0x6a64('0x49');return db[_0x6a64('0x4a')][_0x6a64('0x42')]({'where':{'name':_0x2dc10f,'userProfileId':_0x2ceb00[_0x6a64('0x4b')]},'raw':!![]})[_0x6a64('0x24')](function(_0xc157cf){if(_0xc157cf&&_0xc157cf['autoAssociation']===0x0){return db['UserProfileResource'][_0x6a64('0x43')]({'name':_0x214adc[_0x6a64('0x27')],'resourceId':_0x214adc['id'],'type':_0xc157cf[_0x6a64('0x27')],'sectionId':_0xc157cf['id']},{})[_0x6a64('0x24')](function(){return _0x366950;});}else{return _0x366950;}})[_0x6a64('0x40')](function(_0x47a593){logger[_0x6a64('0x25')](_0x6a64('0x4c'),_0x47a593);throw _0x47a593;});}return _0x366950;})['then'](respondWithResult(_0x1f7d2d,0xc9))['catch'](handleError(_0x1f7d2d,null));};exports[_0x6a64('0x23')]=function(_0x2bfbe3,_0x4c478d){if(_0x2bfbe3[_0x6a64('0x44')]['id']){delete _0x2bfbe3[_0x6a64('0x44')]['id'];}return db[_0x6a64('0x3d')]['find']({'where':{'id':_0x2bfbe3[_0x6a64('0x41')]['id']}})[_0x6a64('0x24')](handleEntityNotFound(_0x4c478d,null))[_0x6a64('0x24')](saveUpdates(_0x2bfbe3[_0x6a64('0x44')],null))[_0x6a64('0x24')](respondWithResult(_0x4c478d,null))['catch'](handleError(_0x4c478d,null));};exports[_0x6a64('0x4d')]=function(_0x57e0b4,_0x21daf4){var _0x179cf0=_0x57e0b4[_0x6a64('0x41')]['id'];var _0x1824da=[];return db['sequelize'][_0x6a64('0x4e')](function(_0x530222){var _0x4ba27d='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x179cf0;return db[_0x6a64('0x4f')][_0x6a64('0x2f')](_0x4ba27d,{'type':db[_0x6a64('0x50')][_0x6a64('0x51')]['SELECT'],'raw':!![],'transaction':_0x530222})[_0x6a64('0x24')](function(_0x593c26){_0x1824da=_['map'](_0x593c26,function(_0x1dea5d){return Number(_0x1dea5d[_0x6a64('0x52')]);});})['then'](function(){var _0x10db10=_0x6a64('0x53')+_0x179cf0;return db[_0x6a64('0x4f')][_0x6a64('0x2f')](_0x10db10,{'type':db[_0x6a64('0x50')][_0x6a64('0x51')]['SELECT'],'raw':!![],'transaction':_0x530222});})[_0x6a64('0x24')](function(_0x39b6b4){var _0x5e7ebd=_[_0x6a64('0x29')](_0x39b6b4,function(_0x1649c2){return Number(_0x1649c2['VoiceQueueId']);});return db[_0x6a64('0x54')][_0x6a64('0x4d')]({'where':{'UserId':{'$in':_0x1824da},'VoiceQueueId':{'$in':_0x5e7ebd}},'transaction':_0x530222});})[_0x6a64('0x24')](function(){var _0x3e8a9a='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x179cf0;return db[_0x6a64('0x4f')][_0x6a64('0x2f')](_0x3e8a9a,{'type':db['Sequelize']['QueryTypes'][_0x6a64('0x55')],'raw':!![],'transaction':_0x530222});})['then'](function(_0x4104b3){var _0x14d231=_['map'](_0x4104b3,function(_0x39daf0){return Number(_0x39daf0['MailQueueId']);});return db[_0x6a64('0x56')][_0x6a64('0x4d')]({'where':{'UserId':{'$in':_0x1824da},'MailQueueId':{'$in':_0x14d231}},'transaction':_0x530222});})['then'](function(){var _0x1194ac=_0x6a64('0x57')+_0x179cf0;return db[_0x6a64('0x4f')][_0x6a64('0x2f')](_0x1194ac,{'type':db[_0x6a64('0x50')][_0x6a64('0x51')][_0x6a64('0x55')],'raw':!![],'transaction':_0x530222});})[_0x6a64('0x24')](function(_0x598d34){var _0x1ba53f=_['map'](_0x598d34,function(_0x195724){return Number(_0x195724[_0x6a64('0x58')]);});return db[_0x6a64('0x59')]['destroy']({'where':{'UserId':{'$in':_0x1824da},'SmsQueueId':{'$in':_0x1ba53f}},'transaction':_0x530222});})['then'](function(){var _0x341b57=_0x6a64('0x5a')+_0x179cf0;return db[_0x6a64('0x4f')][_0x6a64('0x2f')](_0x341b57,{'type':db[_0x6a64('0x50')][_0x6a64('0x51')][_0x6a64('0x55')],'raw':!![],'transaction':_0x530222});})[_0x6a64('0x24')](function(_0x4fd336){var _0x683fee=_['map'](_0x4fd336,function(_0x25699c){return Number(_0x25699c['ChatQueueId']);});return db[_0x6a64('0x5b')]['destroy']({'where':{'UserId':{'$in':_0x1824da},'ChatQueueId':{'$in':_0x683fee}},'transaction':_0x530222});})[_0x6a64('0x24')](function(){var _0x4445b9=_0x6a64('0x5c')+_0x179cf0;return db['sequelize'][_0x6a64('0x2f')](_0x4445b9,{'type':db[_0x6a64('0x50')][_0x6a64('0x51')][_0x6a64('0x55')],'raw':!![],'transaction':_0x530222});})[_0x6a64('0x24')](function(_0x4d4e90){var _0x4ca83c=_[_0x6a64('0x29')](_0x4d4e90,function(_0x26efdd){return Number(_0x26efdd[_0x6a64('0x5d')]);});return db[_0x6a64('0x5e')][_0x6a64('0x4d')]({'where':{'UserId':{'$in':_0x1824da},'FaxQueueId':{'$in':_0x4ca83c}},'transaction':_0x530222});})[_0x6a64('0x24')](function(){var _0x2ab17f=_0x6a64('0x5f')+_0x179cf0;return db['sequelize'][_0x6a64('0x2f')](_0x2ab17f,{'type':db[_0x6a64('0x50')]['QueryTypes'][_0x6a64('0x55')],'raw':!![],'transaction':_0x530222});})[_0x6a64('0x24')](function(_0x3149c7){var _0x374736=_[_0x6a64('0x29')](_0x3149c7,function(_0x5371f7){return Number(_0x5371f7[_0x6a64('0x60')]);});return db['UserOpenchannelQueue'][_0x6a64('0x4d')]({'where':{'UserId':{'$in':_0x1824da},'OpenchannelQueueId':{'$in':_0x374736}},'transaction':_0x530222});})[_0x6a64('0x24')](function(){var _0x5a7bd6=_0x6a64('0x61')+_0x179cf0;return db[_0x6a64('0x4f')][_0x6a64('0x2f')](_0x5a7bd6,{'type':db[_0x6a64('0x50')][_0x6a64('0x51')][_0x6a64('0x55')],'raw':!![],'transaction':_0x530222});})[_0x6a64('0x24')](function(_0x4c08d0){var _0x5f11f1=_['map'](_0x4c08d0,function(_0xc3dddd){return Number(_0xc3dddd[_0x6a64('0x62')]);});return db[_0x6a64('0x63')][_0x6a64('0x4d')]({'where':{'UserId':{'$in':_0x1824da},'WhatsappQueueId':{'$in':_0x5f11f1}},'transaction':_0x530222});})['then'](function(){return db[_0x6a64('0x64')][_0x6a64('0x42')]({'where':{'TeamId':_0x179cf0}});})['then'](function(_0x35cc05){if(_0x35cc05===null){return;}return db[_0x6a64('0x65')][_0x6a64('0x4d')]({'where':{'UserId':{'$in':_0x1824da},'VoicePrefixId':_0x35cc05['VoicePrefixId']},'transaction':_0x530222});})['then'](function(){return db[_0x6a64('0x3d')]['destroy']({'where':{'id':_0x179cf0},'cascade':!![],'transaction':_0x530222});})[_0x6a64('0x24')](function(_0x2a309a){if(_0x2a309a===0x0){_0x21daf4['sendStatus'](0x194);}else{return db[_0x6a64('0x66')][_0x6a64('0x4d')]({'where':{'type':'Teams','resourceId':_0x179cf0},'cascade':!![],'transaction':_0x530222})[_0x6a64('0x24')](function(){_0x21daf4[_0x6a64('0x1c')](0xcc)[_0x6a64('0x67')]();});}})['catch'](function(_0x1279c0){_0x21daf4[_0x6a64('0x1c')](0x1f4)[_0x6a64('0x68')](_0x1279c0);});});};exports[_0x6a64('0x69')]=function(_0x29abf5,_0x15d3ff,_0x18b938){return db[_0x6a64('0x3d')][_0x6a64('0x6a')]({'where':{'id':_0x29abf5[_0x6a64('0x41')]['id']}})[_0x6a64('0x24')](handleEntityNotFound(_0x15d3ff,null))[_0x6a64('0x24')](function(_0x37c2a6){if(!_0x29abf5[_0x6a64('0x2f')][_0x6a64('0x6b')]||!utils[_0x6a64('0x6c')](_0x29abf5[_0x6a64('0x2f')][_0x6a64('0x6b')])){throw new db[(_0x6a64('0x50'))][(_0x6a64('0x6d'))]('Unknown\x20channel');}var _0x515798={};var _0x1409a9={};_0x1409a9[_0x6a64('0x2e')]=_[_0x6a64('0x30')](db[_[_0x6a64('0x6e')](_0x29abf5['query'][_0x6a64('0x6b')][_0x6a64('0x6f')]())+_0x6a64('0x70')][_0x6a64('0x2a')]);_0x1409a9[_0x6a64('0x2f')]=_[_0x6a64('0x30')](_0x29abf5[_0x6a64('0x2f')]);_0x1409a9[_0x6a64('0x37')]=_[_0x6a64('0x31')](_0x1409a9[_0x6a64('0x2e')],_0x1409a9[_0x6a64('0x2f')]);_0x515798['attributes']=_[_0x6a64('0x31')](_0x1409a9[_0x6a64('0x2e')],qs['fields'](_0x29abf5[_0x6a64('0x2f')][_0x6a64('0x33')]));_0x515798[_0x6a64('0x32')]=_0x515798[_0x6a64('0x32')][_0x6a64('0x34')]?_0x515798[_0x6a64('0x32')]:_0x1409a9['model'];_0x515798[_0x6a64('0x1e')]=qs[_0x6a64('0x1e')](_0x29abf5['query']['limit']);_0x515798[_0x6a64('0x1d')]=qs['offset'](_0x29abf5[_0x6a64('0x2f')][_0x6a64('0x1d')]);_0x515798[_0x6a64('0x36')]=qs[_0x6a64('0x71')](_0x29abf5[_0x6a64('0x2f')][_0x6a64('0x71')]);_0x515798['where']=qs[_0x6a64('0x37')](_[_0x6a64('0x72')](_0x29abf5[_0x6a64('0x2f')],_0x1409a9[_0x6a64('0x37')]));_0x515798=_[_0x6a64('0x39')]({},_0x515798,_0x29abf5[_0x6a64('0x3c')]);return _0x37c2a6[_0x6a64('0x48')+_[_0x6a64('0x6e')](_0x29abf5[_0x6a64('0x2f')][_0x6a64('0x6b')][_0x6a64('0x6f')]())+_0x6a64('0x73')](_0x515798);})[_0x6a64('0x24')](respondWithResult(_0x15d3ff,null))[_0x6a64('0x40')](handleError(_0x15d3ff,null));};exports['addQueues']=function(_0x3c3c9e,_0x6a804a,_0x2702f9){return db[_0x6a64('0x3d')][_0x6a64('0x6a')]({'where':{'id':_0x3c3c9e[_0x6a64('0x41')]['id']}})[_0x6a64('0x24')](function(_0x2c8a47){if(_0x2c8a47){if(!_0x3c3c9e[_0x6a64('0x44')][_0x6a64('0x6b')]||!utils[_0x6a64('0x6c')](_0x3c3c9e[_0x6a64('0x44')][_0x6a64('0x6b')])){throw new db['Sequelize'][(_0x6a64('0x6d'))](_0x6a64('0x74'));}return _0x2c8a47[_0x6a64('0x75')+_[_0x6a64('0x6e')](_0x3c3c9e['body'][_0x6a64('0x6b')][_0x6a64('0x6f')]())+_0x6a64('0x73')](_0x3c3c9e[_0x6a64('0x44')][_0x6a64('0x76')]);}return null;})['then'](handleEntityNotFound(_0x6a804a,null))[_0x6a64('0x24')](respondWithStatusCode(_0x6a804a,null))[_0x6a64('0x40')](handleError(_0x6a804a,null));};exports[_0x6a64('0x77')]=function(_0xf3c16f,_0x2e11e7,_0x5e26e8){return db[_0x6a64('0x3d')][_0x6a64('0x6a')]({'where':{'id':_0xf3c16f[_0x6a64('0x41')]['id']}})[_0x6a64('0x24')](function(_0x2e6a6c){if(_0x2e6a6c){if(!_0xf3c16f[_0x6a64('0x2f')][_0x6a64('0x6b')]||!utils[_0x6a64('0x6c')](_0xf3c16f['query'][_0x6a64('0x6b')])){throw new db[(_0x6a64('0x50'))][(_0x6a64('0x6d'))](_0x6a64('0x74'));}return _0x2e6a6c[_0x6a64('0x78')+_[_0x6a64('0x6e')](_0xf3c16f['query'][_0x6a64('0x6b')][_0x6a64('0x6f')]())+_0x6a64('0x73')](_0xf3c16f[_0x6a64('0x2f')][_0x6a64('0x76')]);}return null;})['then'](handleEntityNotFound(_0x2e11e7,null))[_0x6a64('0x24')](respondWithStatusCode(_0x2e11e7,null))['catch'](handleError(_0x2e11e7,null));};exports[_0x6a64('0x79')]=function(_0x2f3d34,_0x5e4bd6){var _0x3775f3=_['isArray'](_0x2f3d34[_0x6a64('0x44')][_0x6a64('0x76')])?_0x2f3d34[_0x6a64('0x44')][_0x6a64('0x76')]:[_0x2f3d34[_0x6a64('0x44')][_0x6a64('0x76')]];var _0x3919ab=_0x2f3d34[_0x6a64('0x41')]['id'];return db[_0x6a64('0x3d')][_0x6a64('0x42')]({'where':{'id':_0x3919ab}})[_0x6a64('0x24')](handleEntityNotFound(_0x5e4bd6,null))[_0x6a64('0x24')](function(_0xa79d51){if(_0xa79d51){var _0x43f99b=['Voice',_0x6a64('0x7a'),_0x6a64('0x7b'),_0x6a64('0x7c'),_0x6a64('0x7d'),_0x6a64('0x7e'),'Whatsapp'];return db[_0x6a64('0x4f')][_0x6a64('0x4e')](function(_0x44e71e){var _0x575f40=_[_0x6a64('0x29')](_0x43f99b,function(_0xac9604){var _0x4df605={'attributes':['id',_0x6a64('0x27')]};if(_0xac9604==='Voice'){_0x4df605['through']={'attributes':[_0x6a64('0x7f')]};}return _0xa79d51[_0x6a64('0x48')+_0xac9604+'Queues'](_0x4df605)[_0x6a64('0x24')](function(_0x5b5ff9){var _0xcc2a=_[_0x6a64('0x29')](_0x5b5ff9,function(_0x154cae){var _0x275b58=_['map'](_0x3775f3,function(_0x5eeb99){var _0x5e22fe={'where':{'UserId':_0x5eeb99,[_0xac9604+_0x6a64('0x80')]:_0x154cae['id']},'transaction':_0x44e71e};if(_0xac9604===_0x6a64('0x81')){_0x5e22fe[_0x6a64('0x17')]={'penalty':_0x154cae[_0x6a64('0x82')][_0x6a64('0x7f')]};}return db[_0x6a64('0x83')+_0xac9604+_0x6a64('0x70')]['findOrCreate'](_0x5e22fe)['then'](function(){socket[_0x6a64('0x84')](_0x6a64('0x45')+_0xac9604+_0x6a64('0x85'),{'UserId':_0x5eeb99,[_0xac9604+_0x6a64('0x80')]:_0x154cae['id']});if(_0xac9604!==_0x6a64('0x81')){return;}return db['User']['findAll']({'where':{'id':_0x3775f3,'online':0x1},'attributes':['id',_0x6a64('0x27'),_0x6a64('0x86'),_0x6a64('0x87'),_0x6a64('0x88')],'raw':!![]})[_0x6a64('0x24')](function(_0x54dfca){var _0x56d001=_['map'](_0x54dfca,function(_0xad60){return db['UserVoiceQueueRt'][_0x6a64('0x89')]({'membername':_0xad60['name'],'UserId':_0xad60['id'],'queue_name':_0x154cae[_0x6a64('0x27')],'VoiceQueueId':_0x154cae['id'],'interface':_[_0x6a64('0x8a')](_0xad60[_0x6a64('0x88')])?util[_0x6a64('0x8b')]('SIP/%s',_0xad60['name']):_0xad60[_0x6a64('0x88')],'paused':_0xad60[_0x6a64('0x87')]||![],'penalty':_0x154cae['TeamVoiceQueue'][_0x6a64('0x7f')]},{'transaction':_0x44e71e});});return Promise[_0x6a64('0x8c')](_0x56d001);});});});return Promise[_0x6a64('0x8c')](_0x275b58);});return Promise['all'](_0xcc2a);})['then'](function(){return db[_0x6a64('0x64')][_0x6a64('0x6a')]({'where':{'teamId':_0x3919ab}})['then'](function(_0x1bcb23){if(_0x1bcb23){var _0x1f944b=_[_0x6a64('0x29')](_0x3775f3,function(_0x26d9f1){db[_0x6a64('0x65')][_0x6a64('0x89')]({'UserId':_0x26d9f1,'VoicePrefixId':_0x1bcb23[_0x6a64('0x8d')]});});return Promise[_0x6a64('0x8c')](_0x1f944b);}});});});return Promise[_0x6a64('0x8c')](_0x575f40)[_0x6a64('0x24')](function(){return _0xa79d51[_0x6a64('0x79')](_0x3775f3,{'transaction':_0x44e71e})['spread'](function(_0x8ab1cd){return _0x8ab1cd;});});});}})[_0x6a64('0x24')](respondWithResult(_0x5e4bd6,null))['catch'](handleError(_0x5e4bd6,null));};exports[_0x6a64('0x8e')]=function(_0x4b33c4,_0x567fff){var _0x1b6bb3=_[_0x6a64('0x8f')](_0x4b33c4[_0x6a64('0x2f')][_0x6a64('0x76')])?_0x4b33c4['query']['ids']:[_0x4b33c4[_0x6a64('0x2f')][_0x6a64('0x76')]];var _0x4e2429=_0x4b33c4[_0x6a64('0x41')]['id'];return db[_0x6a64('0x3d')][_0x6a64('0x42')]({'where':{'id':_0x4e2429}})[_0x6a64('0x24')](handleEntityNotFound(_0x567fff,null))[_0x6a64('0x24')](function(_0xb18745){if(_0xb18745){var _0x112b12=[_0x6a64('0x81'),_0x6a64('0x7a'),_0x6a64('0x7b'),_0x6a64('0x7c'),_0x6a64('0x7d'),_0x6a64('0x7e'),_0x6a64('0x90')];return db['sequelize'][_0x6a64('0x4e')](function(_0x4dccfb){var _0x274baf=_['map'](_0x112b12,function(_0xa88feb){var _0x397948={'attributes':['id','name']};return _0xb18745[_0x6a64('0x48')+_0xa88feb+_0x6a64('0x73')](_0x397948)['then'](function(_0x2ca03d){var _0x546a44=_[_0x6a64('0x29')](_0x2ca03d,function(_0x4ecc53){return _0x4ecc53[_0x6a64('0x8e')](_0x1b6bb3,{'transaction':_0x4dccfb})[_0x6a64('0x24')](function(){var _0x325165=_[_0x6a64('0x29')](_0x1b6bb3,function(_0x236b41){socket['emit']('user'+_0xa88feb+_0x6a64('0x91'),{'UserId':Number(_0x236b41),[_0xa88feb+_0x6a64('0x80')]:_0x4ecc53['id']});if(_0xa88feb!==_0x6a64('0x81')){return;}return db[_0x6a64('0x92')][_0x6a64('0x4d')]({'where':{'VoiceQueueId':_0x4ecc53['id'],'UserId':_0x236b41},'transaction':_0x4dccfb});});return Promise[_0x6a64('0x8c')](_0x325165);});});return Promise[_0x6a64('0x8c')](_0x546a44);});});return Promise[_0x6a64('0x8c')](_0x274baf)[_0x6a64('0x24')](function(){return _0xb18745[_0x6a64('0x8e')](_0x1b6bb3,{'transaction':_0x4dccfb});})['then'](function(){return db[_0x6a64('0x64')]['findOne']({'where':{'teamId':_0x4e2429}})[_0x6a64('0x24')](function(_0x4c71ff){if(_0x4c71ff){var _0x4b16bd=_[_0x6a64('0x29')](_0x1b6bb3,function(_0x2db031){db[_0x6a64('0x65')]['destroy']({'where':{'UserId':_0x2db031,'VoicePrefixId':_0x4c71ff['VoicePrefixId']}});});return Promise['all'](_0x4b16bd);}});});});}})['then'](respondWithStatusCode(_0x567fff,null))['catch'](handleError(_0x567fff,null));};exports[_0x6a64('0x93')]=function(_0x3755c8,_0x59ca0b,_0x467c2d){var _0x3e34e0={};var _0x207985={};var _0x4026b4;var _0x579598;return db['Team'][_0x6a64('0x6a')]({'where':{'id':_0x3755c8[_0x6a64('0x41')]['id']}})[_0x6a64('0x24')](handleEntityNotFound(_0x59ca0b,null))[_0x6a64('0x24')](function(_0x1895b2){if(_0x1895b2){_0x4026b4=_0x1895b2;_0x207985[_0x6a64('0x2e')]=_['keys'](db['User'][_0x6a64('0x2a')]);_0x207985[_0x6a64('0x2f')]=_['keys'](_0x3755c8['query']);_0x207985[_0x6a64('0x37')]=_[_0x6a64('0x31')](_0x207985[_0x6a64('0x2e')],_0x207985[_0x6a64('0x2f')]);_0x3e34e0[_0x6a64('0x32')]=_['intersection'](_0x207985[_0x6a64('0x2e')],qs[_0x6a64('0x33')](_0x3755c8[_0x6a64('0x2f')]['fields']));_0x3e34e0[_0x6a64('0x32')]=_0x3e34e0[_0x6a64('0x32')][_0x6a64('0x34')]?_0x3e34e0[_0x6a64('0x32')]:_0x207985[_0x6a64('0x2e')];_0x3e34e0['order']=qs[_0x6a64('0x71')](_0x3755c8[_0x6a64('0x2f')]['sort']);_0x3e34e0[_0x6a64('0x3a')]=qs[_0x6a64('0x37')](_[_0x6a64('0x72')](_0x3755c8[_0x6a64('0x2f')],_0x207985['filters']));if(_0x3755c8[_0x6a64('0x2f')][_0x6a64('0x38')]){_0x3e34e0['where']=_['merge'](_0x3e34e0[_0x6a64('0x3a')],{'$or':_[_0x6a64('0x29')](_0x3e34e0[_0x6a64('0x32')],function(_0x14d566){var _0x1359d1={};_0x1359d1[_0x14d566]={'$like':'%'+_0x3755c8[_0x6a64('0x2f')]['filter']+'%'};return _0x1359d1;})});}_0x3e34e0=_['merge']({},_0x3e34e0,_0x3755c8['options']);return _0x4026b4[_0x6a64('0x93')](_0x3e34e0);}})['then'](function(_0x12b630){if(_0x12b630){_0x579598=_0x12b630[_0x6a64('0x34')];if(!_0x3755c8[_0x6a64('0x2f')][_0x6a64('0x35')](_0x6a64('0x94'))){_0x3e34e0[_0x6a64('0x1e')]=qs[_0x6a64('0x1e')](_0x3755c8[_0x6a64('0x2f')][_0x6a64('0x1e')]);_0x3e34e0['offset']=qs[_0x6a64('0x1d')](_0x3755c8[_0x6a64('0x2f')][_0x6a64('0x1d')]);}return _0x4026b4[_0x6a64('0x93')](_0x3e34e0);}})[_0x6a64('0x24')](function(_0x166a45){if(_0x166a45){return _0x166a45?{'count':_0x579598,'rows':_0x166a45}:null;}})[_0x6a64('0x24')](respondWithResult(_0x59ca0b,null))[_0x6a64('0x40')](handleError(_0x59ca0b,null));};