namespace OmsorgCore.Application.Abstractions;

/// <summary>
/// Einzige Stelle, die entscheidet, ob ein Upload die konfigurierte Größen-/Dateityp-Grenze
/// einhält (Storage:MaxDocumentSizeBytes/Storage:AllowedDocumentContentTypes) - analog zu
/// <see cref="IPasswordPolicy"/>, damit die Regel nicht mehrfach im Controller/Service dupliziert wird.
/// </summary>
public interface IDocumentUploadPolicy
{
    long MaxSizeBytes { get; }

    bool IsSizeAllowed(long sizeBytes);
    bool IsContentTypeAllowed(string? contentType);
}
