using F9WebAiTest.Application.Dtos.SYS.Registries;
using F9WebAiTest.Application.Interfaces.Repositories.SYS.Registries;
using MediatR;
namespace F9WebAiTest.Application.CQRS.SYS.Registries.Queries;
/// 全部注册表配置(含未启用)
public record GetRegistryAllQuery() : IRequest>;
public class GetRegistryAllQueryHandler(IRegistryReadRepository readRepository)
: IRequestHandler>
{
public async Task> Handle(GetRegistryAllQuery query, CancellationToken ct)
=> await readRepository.GetAllAsync();
}
/// 按 Id 查询(编辑回显)
public record GetRegistryByIdForEditQuery(long Id) : IRequest;
public class GetRegistryByIdForEditQueryHandler(IRegistryReadRepository readRepository)
: IRequestHandler
{
public async Task Handle(GetRegistryByIdForEditQuery query, CancellationToken ct)
=> await readRepository.GetByIdForEditAsync(query.Id);
}
/// 按命名空间 + 键名查询(业务模块取值入口)
public record GetByCategoryAndKeyQuery(string Category, string KeyName) : IRequest;
public class GetByCategoryAndKeyQueryHandler(IRegistryReadRepository readRepository)
: IRequestHandler
{
public async Task Handle(GetByCategoryAndKeyQuery query, CancellationToken ct)
=> await readRepository.GetByCategoryAndKeyAsync(query.Category, query.KeyName);
}