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); }