namespace MaBibli.Shared.Dtos; /// /// Résultat complet d'un lookup ISBN : la liste des candidats trouvés par la cascade /// BnF → OpenLibrary, plus de quoi expliquer à l'utilisateur ce qui s'est passé. /// public record ResultatLookupIsbn { /// ISBN normalisé tel que demandé (tirets et espaces retirés). public required string IsbnDemande { get; init; } /// ISBN-10 dérivé, si la conversion était possible (préfixe 978 uniquement). public string? Isbn10 { get; init; } /// /// Tous les candidats trouvés, dans l'ordre de la cascade. Peut être vide. /// La sélection revient à l'utilisateur. /// public required IReadOnlyList Candidats { get; init; } /// /// Messages non bloquants : source injoignable, réponse illisible… /// Une source en panne ne fait pas échouer la cascade, elle laisse une trace ici. /// public IReadOnlyList Avertissements { get; init; } = []; }