MaBibli 1.0.0
Gestion de bibliothèque personnelle auto-hébergée : catalogue, prêts, scan de code-barres, consultation hors-ligne. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
namespace MaBibli.Shared.Dtos;
|
||||
|
||||
/// <summary>
|
||||
/// Identité de la personne connectée, telle que fournie par les en-têtes SSOwat de YunoHost.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// En développement il n'y a pas de SSOwat : un utilisateur simulé est configuré
|
||||
/// (<c>Identite:UtilisateurSimule</c>), conformément à CLAUDE.md qui demande de simuler
|
||||
/// plutôt que de désactiver l'authentification.
|
||||
/// </remarks>
|
||||
public record UtilisateurCourant
|
||||
{
|
||||
/// <summary><c>YNH_USER</c>. <c>null</c> si l'identité n'a pas pu être déterminée.</summary>
|
||||
public string? Identifiant { get; init; }
|
||||
|
||||
/// <summary><c>YNH_USER_EMAIL</c>.</summary>
|
||||
public string? Email { get; init; }
|
||||
|
||||
/// <summary><c>YNH_USER_FULLNAME</c> — évite une requête LDAP pour l'affichage.</summary>
|
||||
public string? NomComplet { get; init; }
|
||||
|
||||
/// <summary>Vrai si l'identité provient de la configuration de développement, pas de SSOwat.</summary>
|
||||
public bool Simule { get; init; }
|
||||
|
||||
/// <summary>Libellé à afficher, avec repli sur l'identifiant.</summary>
|
||||
public string Affichage =>
|
||||
NomComplet is { Length: > 0 } ? NomComplet : Identifiant ?? "inconnu";
|
||||
|
||||
public static readonly UtilisateurCourant Anonyme = new();
|
||||
}
|
||||
Reference in New Issue
Block a user