diff --git a/src/app/channel/connectedUser.js b/src/app/channel/connectedUser.js
index 5347cb4..bec1409 100644
--- a/src/app/channel/connectedUser.js
+++ b/src/app/channel/connectedUser.js
@@ -197,6 +197,8 @@ class connectedUser{
chanDB = await channelModel.findOne({name: this.channel.name});
}
+ //If our perm map is un-initiated
+ //can't set this in constructor easily since it's asyncornous
//need to wait for it to complete before sending this off, but shouldnt re-do the wait for later connections
if(this.permMap == null){
//Grab perm map
@@ -236,7 +238,7 @@ class connectedUser{
const chatBuffer = this.channel.chatBuffer.buffer;
//Send off the metadata to our user's clients
- this.emit("clientMetadata", {user: userObj, flairList, queueLock, chatBuffer, streamType: chanDB.settings.streamType});
+ this.emit("clientMetadata", {user: userObj, flairList, queueLock, chatBuffer});
}
/**
diff --git a/src/app/channel/media/queue.js b/src/app/channel/media/queue.js
index ac2eb75..597c062 100644
--- a/src/app/channel/media/queue.js
+++ b/src/app/channel/media/queue.js
@@ -120,7 +120,6 @@ class queue{
socket.on("move", (data) => {this.moveMedia(socket, data)});
socket.on("lock", () => {this.toggleLock(socket)});
socket.on("goLive", (data) => {this.goLive(socket, data)});
- socket.on("getStreamType", (data) => {this.getStreamType(socket)});
//If debug mode is enabled
if(config.debug){
@@ -358,18 +357,6 @@ class queue{
throw loggerUtils.exceptionSmith(`Unable to find channel document ${this.channel.name} while queue item!`, "queue");
}
-
- //If the user doesn't have permission to be doing this shit
- if(!((!this.locked && await chanDB.permCheck(socket.user, 'scheduleMedia')) || await chanDB.permCheck(socket.user, 'scheduleAdmin'))){
- //Fuggettabouttit!
- return;
- }
-
- if(chanDB.settings.streamType == "webrtc"){
- console.log("WEBRTC ENABLED, BAILING!");
- return;
- }
-
//If something is playing
if(this.nowPlaying != null){
//Capture currently playing object
@@ -416,7 +403,7 @@ class queue{
);
//Validate mode input, and default to overwrite
- this.liveMode = (data != null && data.mode == "pushback") ? "pushback" : "overwrite";
+ this.liveMode = (data.mode == "pushback") ? "pushback" : "overwrite";
//Throw stream lock
this.streamLock = true;
@@ -428,22 +415,6 @@ class queue{
}
}
- /**
- * Returns current channel stream type upon request
- * @param {Socket} socket - Socket we received the request from
- */
- async getStreamType(socket){
- try{
- //Get the current channel from the database
- const chanDB = await channelModel.findOne({name: socket.chan});
-
- //Send streamtype back down to user (Not perm checking for something someone can figure out by looking at a running livestream)
- socket.emit("streamType", {streamType: chanDB.settings.streamType});
- }catch(err){
- return loggerUtils.socketExceptionHandler(socket, err);
- }
- }
-
async dumpQueue(socket, data){
//If we somehow got here while config.debug is disabled, or the user isn't allowed to preform server-side debugging
if(!(config.debug && await permissionModel.permCheck(socket.user, "debug"))){
diff --git a/src/schemas/channel/channelSchema.js b/src/schemas/channel/channelSchema.js
index 8bfa484..b6df0b1 100644
--- a/src/schemas/channel/channelSchema.js
+++ b/src/schemas/channel/channelSchema.js
@@ -35,11 +35,6 @@ const chatSchema = require('./chatSchema');
//Utils
const { exceptionHandler, errorHandler } = require('../../utils/loggerUtils');
-/**
- * "Enum" for emote type property
- */
-const streamMethodEnum = ["webrtc","hls"];
-
/**
* DB Schema for Documents containing de-hydrated representations of Canopy Stream/Chat Channels
*/
@@ -76,12 +71,6 @@ const channelSchema = new mongoose.Schema({
streamURL: {
type: mongoose.SchemaTypes.String,
default: ''
- },
- streamType: {
- type: mongoose.SchemaTypes.String,
- enum: streamMethodEnum,
- default: streamMethodEnum[0]
-
}
},
permissions: {
diff --git a/src/validators/channelValidator.js b/src/validators/channelValidator.js
index 9c87f55..92ef4b5 100644
--- a/src/validators/channelValidator.js
+++ b/src/validators/channelValidator.js
@@ -20,6 +20,15 @@ const { checkSchema, checkExact } = require('express-validator');
//local imports
const accountValidator = require('./accountValidator');
+module.exports = {
+
+ settingsMap: () => checkExact(checkSchema({
+ 'settingsMap.hidden': {
+ optional: true,
+ isBoolean: true,
+ } }))
+}
+
module.exports.name = function(field = 'name'){
return checkSchema({
[field]: {
@@ -80,13 +89,6 @@ module.exports.settingsMap = function(){
}
},
errorMessage: "Invalid Stream URL"
- },
- 'settingsMap.streamType': {
- optional: true,
- errorMessage: "Invalid Stream Type",
- matches: {
- options: [/\b(?:webrtc|hls)\b/]
- }
}
})
);
diff --git a/src/views/partial/channelSettings/settings.ejs b/src/views/partial/channelSettings/settings.ejs
index d8dd2ea..ec740eb 100644
--- a/src/views/partial/channelSettings/settings.ejs
+++ b/src/views/partial/channelSettings/settings.ejs
@@ -17,11 +17,7 @@ along with this program. If not, see