artist.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. export default {
  2. name: { type: String, required: true },
  3. youtubeChannels: [
  4. {
  5. youtubeChannelId: { type: String },
  6. comment: { type: String }
  7. }
  8. ],
  9. spotifyArtists: [
  10. {
  11. spotifyArtistId: { type: String },
  12. comment: { type: String }
  13. }
  14. ],
  15. soundcloudArtists: [
  16. {
  17. soundcloudArtistId: { type: String },
  18. comment: { type: String }
  19. }
  20. ],
  21. musicbrainzIdentifier: { type: String, required: true },
  22. musicbrainzData: { type: Object, required: true },
  23. comment: { type: String },
  24. linkingData: {
  25. recordingSort: { type: String, enum: ["title", "length"] },
  26. recordingFilters: {
  27. hideNullLength: { type: Boolean },
  28. hidePartOf: { type: Boolean },
  29. hideTrackArtistOnly: { type: Boolean }
  30. },
  31. youtubeVideosSort: { type: String, enum: ["title", "length"] },
  32. youtubeVideoTitleChanges: {
  33. artistDash: { type: Boolean },
  34. parantheses: { type: Boolean },
  35. brackets: { type: Boolean },
  36. commonPhrases: { type: Boolean }
  37. },
  38. youtubeVideoFilters: {
  39. teaser: { type: Boolean },
  40. under45: { type: Boolean },
  41. live: { type: Boolean },
  42. tour: { type: Boolean },
  43. noMusicCategory: { type: Boolean }
  44. },
  45. linkedVideos: {},
  46. manualHideRecordingMap: {},
  47. recordingLockedIds: [{ type: String }]
  48. },
  49. createdBy: { type: String, required: true },
  50. createdAt: { type: Number, default: Date.now, required: true },
  51. documentVersion: { type: Number, default: 1, required: true }
  52. };