Ajoute les notices sources et le renommage fusionné des auteurs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
LIMONIER Mathieu
2026-08-20 14:27:42 +02:00
co-authored by Copilot
parent 6b8f08ef26
commit e28d5bce32
24 changed files with 935 additions and 3 deletions
+3
View File
@@ -60,4 +60,7 @@ public record CandidatLivre
/// <summary>Identifiant chez la source : ark BnF (<c>ark:/12148/cb…</c>) ou clé OpenLibrary (<c>/books/OL…M</c>).</summary>
public string? IdentifiantSource { get; init; }
/// <summary>URL de consultation de la notice chez la source.</summary>
public string? UrlNotice { get; init; }
}
@@ -46,6 +46,11 @@ public record EnregistrementLivre
public string? CoverUrl { get; set; }
/// <summary>
/// Notice ayant servi au préremplissage, ou <c>null</c> pour une saisie manuelle.
/// </summary>
public string? UrlNotice { get; set; }
/// <summary>
/// Vue « une seule ligne » de <see cref="Auteurs"/>, pour les champs de saisie simples.
/// </summary>
@@ -103,6 +108,19 @@ public record EnregistrementLivre
/// </remarks>
public record AuteurSaisi(string Nom, RoleAuteur Role = RoleAuteur.NonPrecise);
/// <summary>Demande de renommage d'une fiche auteur.</summary>
public record RenommerAuteur(string Nom);
/// <summary>Résultat d'un renommage, avec collision éventuelle à confirmer.</summary>
public record ResultatRenommageAuteur
{
public AuteurDto? Auteur { get; init; }
public AuteurDto? Collision { get; init; }
public bool EstCollision => Collision is not null;
}
/// <summary>Charge utile du changement de statut de lecture — l'action la plus fréquente.</summary>
/// <remarks>
/// Le statut posé est toujours celui de l'appelant : il n'y a pas de champ « utilisateur »,
+2
View File
@@ -58,6 +58,8 @@ public record LivreDto
public string? CoverUrl { get; init; }
public string? UrlNotice { get; init; }
public required DateTime DateAjout { get; init; }
/// <summary>
+3
View File
@@ -40,6 +40,9 @@ public class Livre
/// <summary>URL de la couverture (OpenLibrary), pas de fichier stocké localement.</summary>
public string? CoverUrl { get; set; }
/// <summary>URL de la notice bibliographique qui a servi à préremplir la fiche.</summary>
public string? UrlNotice { get; set; }
public DateTime DateAjout { get; set; }
/// <summary>