Created playlist queue schema.
This commit is contained in:
parent
8a273d8055
commit
cb09c139c7
|
|
@ -644,8 +644,8 @@ module.exports = class{
|
|||
//Get our channel
|
||||
const chanDB = await channelModel.findOne({name: this.channel.name});
|
||||
|
||||
//If nowPlaying isn't null
|
||||
if(chanDB.media.nowPlaying != null){
|
||||
//If nowPlaying isn't null and isn't what we're about to throw on
|
||||
if(chanDB.media.nowPlaying != null && chanDB.media.nowPlaying.uuid.toString != mediaObj.uuid){
|
||||
//Archive whats already in there since we're about to clobber the fuck out of it
|
||||
chanDB.media.archived.push(chanDB.media.nowPlaying);
|
||||
}
|
||||
|
|
@ -935,7 +935,7 @@ module.exports = class{
|
|||
//If the media hasn't ended yet
|
||||
if(wasPlaying.getEndTime() > now){
|
||||
//Re-Schedule it in RAM
|
||||
await this.scheduleMedia(wasPlaying, null, chanDB, true, true);
|
||||
await this.scheduleMedia(wasPlaying, null, chanDB, true, true, true);
|
||||
//Otherwise, if it has
|
||||
}else{
|
||||
//Null out nowPlaying
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ module.exports = class extends media{
|
|||
//Set the media start time stamp
|
||||
this.startTimeStamp = startTimeStamp;
|
||||
//Create empty variable to hold early end if media is stopped early
|
||||
this.earlyEnd = null;
|
||||
this.earlyEnd = earlyEnd;
|
||||
//Set status for discriminator key
|
||||
this.status = 'queued';
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ const emoteModel = require('../emoteSchema');
|
|||
const channelPermissionSchema = require('./channelPermissionSchema');
|
||||
const channelBanSchema = require('./channelBanSchema');
|
||||
const queuedMediaSchema = require('./media/queuedMediaSchema');
|
||||
const playlistSchema = require('./media/playlistSchema');
|
||||
//Utils
|
||||
const { exceptionHandler, errorHandler } = require('../../utils/loggerUtils');
|
||||
|
||||
|
|
@ -102,7 +103,9 @@ const channelSchema = new mongoose.Schema({
|
|||
media: {
|
||||
nowPlaying: queuedMediaSchema,
|
||||
scheduled: [queuedMediaSchema],
|
||||
//We should consider moving archived media and channel playlists to their own collections/models for preformance sake
|
||||
archived: [queuedMediaSchema],
|
||||
playlists: [playlistSchema]
|
||||
},
|
||||
//Thankfully we don't have to keep track of alts, ips, or deleted users so this should be a lot easier than site-wide bans :P
|
||||
banList: [channelBanSchema]
|
||||
|
|
|
|||
34
src/schemas/channel/media/playlistSchema.js
Normal file
34
src/schemas/channel/media/playlistSchema.js
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/*Canopy - The next generation of stoner streaming software
|
||||
Copyright (C) 2024-2025 Rainbownapkin and the TTN Community
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
|
||||
|
||||
//NPM Imports
|
||||
const {mongoose} = require('mongoose');
|
||||
|
||||
//Local Imports
|
||||
const mediaSchema = require('./mediaSchema');
|
||||
|
||||
module.exports = new mongoose.Schema({
|
||||
name: {
|
||||
type: mongoose.SchemaTypes.String,
|
||||
required: true,
|
||||
},
|
||||
media: [mediaSchema],
|
||||
defaultTitles:[{
|
||||
type: mongoose.SchemaTypes.String,
|
||||
required: true,
|
||||
default: []
|
||||
}]
|
||||
});
|
||||
|
|
@ -37,6 +37,7 @@ const queuedProperties = new mongoose.Schema({
|
|||
uuid: {
|
||||
type: mongoose.SchemaTypes.UUID,
|
||||
required: true,
|
||||
unique: true
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -535,7 +535,7 @@ div.now-playing{
|
|||
text-shadow: var(--focus-glow0);
|
||||
}
|
||||
|
||||
div.archived{
|
||||
div.archived p{
|
||||
color: var(--bg2-alt1);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue