Add original name support for shows: implement API endpoint to set original name, update Show and ShowDto models to include original name field, and enhance UI components for managing original names in show metadata. Update validation and database schema accordingly.
This commit is contained in:
@@ -11,6 +11,11 @@ public class Show
|
||||
|
||||
public Guid Id { get; private set; }
|
||||
public string Name { get; private set; } = string.Empty;
|
||||
|
||||
/// <summary>Оригинальное название (обычно на английском) — по нему ищутся метаданные; на экранах
|
||||
/// продолжаем показывать <see cref="Name"/>. Null/пусто — ищем по <see cref="Name"/>.</summary>
|
||||
public string? OriginalName { get; private set; }
|
||||
|
||||
public string? Description { get; private set; }
|
||||
public ShowKind Kind { get; private set; }
|
||||
public DateTimeOffset CreatedAt { get; private set; }
|
||||
@@ -33,11 +38,17 @@ public class Show
|
||||
|
||||
private Show() { }
|
||||
|
||||
public static Show Create(string name, ShowKind kind, string? description = null) =>
|
||||
public static Show Create(
|
||||
string name,
|
||||
ShowKind kind,
|
||||
string? description = null,
|
||||
string? originalName = null
|
||||
) =>
|
||||
new()
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = name,
|
||||
OriginalName = Normalize(originalName),
|
||||
Kind = kind,
|
||||
Description = description,
|
||||
CreatedAt = DateTimeOffset.UtcNow,
|
||||
@@ -49,6 +60,12 @@ public class Show
|
||||
Description = description;
|
||||
}
|
||||
|
||||
/// <summary>Задать/снять оригинальное название (пустая строка трактуется как отсутствие).</summary>
|
||||
public void SetOriginalName(string? originalName) => OriginalName = Normalize(originalName);
|
||||
|
||||
private static string? Normalize(string? value) =>
|
||||
string.IsNullOrWhiteSpace(value) ? null : value.Trim();
|
||||
|
||||
/// <summary>Добавляет серию в конец. Для <see cref="ShowKind.Single"/> допустима ровно одна серия.</summary>
|
||||
public ShowEpisode AddEpisode(Guid mediaAssetId)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user