using AutoMapper; using DigitalData.Core.Application; using DigitalData.Core.DTO; using EnvelopeGenerator.Application.Contracts; using EnvelopeGenerator.Application.DTOs; using EnvelopeGenerator.Application.Resources; using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Infrastructure.Contracts; using Microsoft.Extensions.Localization; namespace EnvelopeGenerator.Application.Services { public class ConfigService : BasicCRUDService, IConfigService { public ConfigService(IConfigRepository repository, IStringLocalizer localizer, IMapper mapper) : base(repository, localizer, mapper) { } public async Task> ReadFirstAsync() { var config = await _repository.ReadFirstAsync(); return config is null ? Result.Fail().Message("There is no configuration in DB.") : Result.Success(_mapper.MapOrThrow(config)); } public async Task> ReadDefaultAsync() => await ReadFirstAsync(); } }