namespace MaBibli.Shared.Dtos;

/// <summary>
/// Un rapprochement d'auteurs <b>proposé</b> à l'utilisateur, jamais appliqué d'office.
/// </summary>
/// <remarks>
/// Les variantes sûres (casse, accents, ordre, initiales) sont fusionnées automatiquement à
/// l'écriture et n'apparaissent donc jamais ici. Ne restent que les cas ambigus, typiquement un
/// patronyme seul face à un nom complet : « Hamilton » et « Peter F. Hamilton » peuvent être la
/// même personne ou deux membres d'une même famille, et seule l'utilisatrice le sait.
/// </remarks>
public record SuggestionRapprochement
{
    /// <summary>Auteur au nom le plus court — celui qui disparaîtrait en cas de fusion.</summary>
    public required AuteurDto Source { get; init; }

    /// <summary>Auteur au nom le plus complet — celui qui absorberait l'autre.</summary>
    public required AuteurDto Cible { get; init; }
}

/// <summary>Décision de l'utilisateur sur un rapprochement proposé.</summary>
public record DecisionRapprochement
{
    public required int SourceId { get; set; }

    public required int CibleId { get; set; }
}
