feat(release): add plain-text Description field plumbed CMS->DTO->release (11.G)

New nullable Description column (max 4000) on ReleaseEntity, rides the Genre write channel through upload + edit; multiline CMS input. Migration authored, not applied.
This commit is contained in:
daniel-c-harvey
2026-06-16 00:00:06 -04:00
parent 56e205082d
commit cfacc9f79a
17 changed files with 463 additions and 4 deletions
+1
View File
@@ -12,6 +12,7 @@ public class ReleaseDto : BaseModel
public string Title { get; set; } = string.Empty;
public string Artist { get; set; } = string.Empty;
public string? Genre { get; set; }
public string? Description { get; set; }
public DateOnly? ReleaseDate { get; set; }
public string? ImagePath { get; set; }
public ReleaseMedium Medium { get; set; } = ReleaseMedium.Cut;
+4
View File
@@ -15,6 +15,10 @@ public class ReleaseEntity : BaseEntity, IEntity
public required string Title { get; set; }
public required string Artist { get; set; }
public string? Genre { get; set; }
// Free-text prose blurb describing the release. Uniform across media (Cut/Session/Mix), so it
// lives on the base table alongside Genre rather than in a per-medium satellite. Plain text,
// max 4000 (configured in ReleaseConfiguration); nullable so existing rows migrate as NULL.
public string? Description { get; set; }
public DateOnly? ReleaseDate { get; set; }
public string? ImagePath { get; set; }
public ReleaseType ReleaseType { get; set; } = ReleaseType.Single;