using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;
using TakeoutSaaS.Domain.Identity.Enums;

namespace TakeoutSaaS.Application.Identity.Queries;

/// <summary>
/// 权限树查询。
/// </summary>
public sealed class PermissionTreeQuery : IRequest<IReadOnlyList<PermissionTreeDto>>
{
    /// <summary>
    /// Portal 类型。
    /// </summary>
    public PortalType Portal { get; init; } = PortalType.Admin;

    /// <summary>
    /// 关键字（可选）。
    /// </summary>
    public string? Keyword { get; init; }
}
