// Services/AuthService.cs
using Microsoft.EntityFrameworkCore;
using WerksverkaufScanner.Data;

public class AuthService
{
    private readonly IDbContextFactory<ScannerDb> _dbFactory;

    public AuthService(IDbContextFactory<ScannerDb> dbFactory)
        => _dbFactory = dbFactory;

    /// <summary>
    /// Prüft den KassenLogin in KS.KassiererGL.
    /// </summary>
    public async Task<Kassierer?> ValidateAsync(string login)
    {
        if (string.IsNullOrWhiteSpace(login)) return null;
        login = login.Trim();

        await using var db = await _dbFactory.CreateDbContextAsync();

        // Achtung: Tabelle/Schema so, wie in deiner Kassierer-Entity gemappt
        return await db.Kassierer
            .AsNoTracking()
            .FirstOrDefaultAsync(k => k.GelöschtAm == null && k.KassenLogin == login);
    }
}
