using AutoMapper; using MediatR; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using System.Threading; using System.Threading.Tasks; using UserManagement.Data.Dto; using UserManagement.Helper; using UserManagement.MediatR.Queries; using UserManagement.Repository; namespace UserManagement.MediatR.Handlers { public class GetAppSettingQueryHandler( IAppSettingRepository appSettingRepository, IMapper mapper, ILogger logger ) : IRequestHandler> { public async Task> Handle(GetAppSettingQuery request, CancellationToken cancellationToken) { var appsetting = await appSettingRepository.FindBy(c => c.Id == request.Id).FirstOrDefaultAsync(cancellationToken); if (appsetting == null) { logger.LogError("AppSetting key is not available"); return ServiceResponse.Return404(); } return ServiceResponse.ReturnResultWith200(mapper.Map(appsetting)); } } }