Files
mabibli/MaBibli.Shared/Dtos/UtilisateurCourant.cs
T
Mathieu LimonierandClaude Opus 5 6a6d745af4 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>
2026-08-22 22:36:16 +02:00

31 lines
1.2 KiB
C#

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();
}