playlist.js 735 B

1234567891011121314151617181920
  1. export default {
  2. displayName: { type: String, min: 2, max: 32, required: true },
  3. isUserModifiable: { type: Boolean, default: true, required: true },
  4. songs: [
  5. {
  6. songId: { type: String },
  7. title: { type: String },
  8. duration: { type: Number },
  9. thumbnail: { type: String, required: false },
  10. artists: { type: Array, required: false },
  11. position: { type: Number }
  12. }
  13. ],
  14. createdBy: { type: String, required: true },
  15. createdAt: { type: Date, default: Date.now, required: true },
  16. createdFor: { type: String },
  17. privacy: { type: String, enum: ["public", "private"], default: "private" },
  18. type: { type: String, enum: ["user", "genre"], required: true },
  19. documentVersion: { type: Number, default: 1, required: true }
  20. };