using EnvelopeGenerator.Application.Common.Query;
using EnvelopeGenerator.Domain.Constants;
using System.ComponentModel.DataAnnotations;
namespace EnvelopeGenerator.Application.Histories.Queries;
//TODO: Add sender query
///
///
///
public record HistoryQueryBase
{
///
/// Die eindeutige Kennung des Umschlags.
///
[Obsolete("Use Envelope property")]
public int? EnvelopeId { get; set; }
///
/// Der Include des Umschlags, der abgefragt werden soll. Kann optional angegeben werden, um die Ergebnisse zu filtern.
///
[Obsolete("Use statuses")]
public EnvelopeStatus? Status { get; set; }
///
///
///
public EnvelopeStatusQuery Statuses { get; set; } = new();
///
///
///
public EnvelopeQueryBase Envelope { get; set; } = new EnvelopeQueryBase();
}
///
///
///
public record EnvelopeStatusQuery
{
///
/// Der minimale Statuswert, der berücksichtigt werden.
///
public EnvelopeStatus? Min { get; init; }
///
/// Der maximale Statuswert, der berücksichtigt werden.
///
public EnvelopeStatus? Max { get; init; }
///
/// Eine Liste von Statuswerten, die einbezogen werden.
///
public EnvelopeStatus[]? Include { get; init; }
///
/// Eine Liste von Statuswerten, die ignoriert werden werden.
///
public EnvelopeStatus[]? Ignore { get; init; }
}