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);