Created playlist queue schema.
This commit is contained in:
parent
8a273d8055
commit
cb09c139c7
6 changed files with 43 additions and 5 deletions
|
|
@ -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
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue