30 lines
1021 B
C#
30 lines
1021 B
C#
using adas_core.Application.Exceptions;
|
|
using adas_core.Application.Repositories.Interfaces;
|
|
using adas_core.Application.Services.Interfaces;
|
|
using adas_core.Domain.Enums;
|
|
using adas_core.Domain.Models.MongoModels;
|
|
using Microsoft.Extensions.Logging;
|
|
using MongoDB.Bson;
|
|
|
|
namespace adas_core.Application.Services;
|
|
|
|
public class ServiceConfigService(
|
|
IServiceConfigRepository serviceConfigRepository,
|
|
ILogger<ServiceConfigService> logger)
|
|
: IServiceConfigService
|
|
{
|
|
private readonly ILogger<ServiceConfigService> _logger = logger;
|
|
|
|
|
|
public async Task<ServiceConfig?> Get(string id)
|
|
{
|
|
var result = await serviceConfigRepository.FindById(id);
|
|
if (result == null && ObjectId.TryParse(id, out var oid))
|
|
result = await serviceConfigRepository.FindById(oid) ??
|
|
throw new NotFoundException(HttpEnum.ErrorMessage.NotFoundResourceMissing);
|
|
|
|
_logger.LogDebug("ServiceConfig {id} found: {result}", id, result != null);
|
|
|
|
return result;
|
|
}
|
|
} |