2025-04-24 23:45:14 +02:00

22 lines
636 B
TypeScript

import mongoose from 'mongoose';
const playlistNodeSchema = new mongoose.Schema({
name: { type: String, required: true },
type: { type: String, enum: ['folder', 'playlist'], default: 'playlist' },
tracks: [{ type: String, ref: 'Song', default: [] }],
children: [{ type: mongoose.Schema.Types.Mixed }], // This allows recursive structure
}, {
_id: true,
id: true,
timestamps: true,
toJSON: {
transform: function(doc, ret) {
ret.id = ret._id.toString();
delete ret._id;
delete ret.__v;
return ret;
}
}
});
export const PlaylistNode = mongoose.model('PlaylistNode', playlistNodeSchema);