using MediatR;
using TakeoutSaaS.Application.App.Statistics.Dto;

namespace TakeoutSaaS.Application.App.Statistics.Queries;

/// <summary>
/// 获取即将到期的订阅列表。
/// </summary>
public sealed record GetExpiringSubscriptionsQuery : IRequest<IReadOnlyList<ExpiringSubscriptionDto>>
{
    /// <summary>
    /// 筛选天数，默认7天内到期。
    /// </summary>
    public int DaysAhead { get; init; } = 7;

    /// <summary>
    /// 是否只返回未开启自动续费的订阅。
    /// </summary>
    public bool OnlyWithoutAutoRenew { get; init; } = false;
}
