using EnvelopeGenerator.ReceiverUI.Client.Services.Base;
namespace EnvelopeGenerator.ReceiverUI.Client.Services;
///
/// Kommuniziert mit dem AuthController der API.
///
/// WARUM Interface + Implementierung?
/// - Testbarkeit: In Unit-Tests kann man einen Mock verwenden
/// - Austauschbarkeit: Wenn sich die API ändert, ändert sich nur die Implementierung
/// - Blazor-Konvention: Services werden über Interfaces per DI registriert
///
public interface IAuthService
{
/// Prüft ob der Nutzer eingeloggt ist → GET /api/auth/check
Task CheckAuthAsync(string? role = null, CancellationToken ct = default);
/// Logout → POST /api/auth/logout
Task LogoutAsync(CancellationToken ct = default);
}