using Core.Blueprint.DAL.Infrastructure.Contracts; using Core.Blueprint.DAL.Service.Contracts; using Core.Blueprint.Domain.Entities; using Serilog; using SharpCompress.Common; namespace Core.Blueprint.DAL.Service { public class SecretService : ISecretService { private readonly ISecretRepository _repository; private readonly ILogger _logger; public SecretService(ISecretRepository repository, ILogger logger) { _repository = repository; _logger = logger; } public async Task GetSecret(string secretName, CancellationToken cancellationToken) { try { _logger.Information("Starting to get the secret | Method: {method} | Class: {class}", nameof(GetSecret), nameof(SecretService)); var ret = await _repository.GetSecret(secretName, cancellationToken); _logger.Information("Finishing to get the secret | Method: {method} | Class: {class}", nameof(GetSecret), nameof(SecretService)); return ret; } catch (Exception ex) { _logger.Error(ex, "{error} | Method: {method} | Class: {class}", ex.Message, nameof(GetSecret), nameof(SecretService)); return default; } } public async Task SetSecret(string secretName, string secretValue, CancellationToken cancellationToken) { try { _logger.Information("Starting to set the secret | Method: {method} | Class: {class}", nameof(SetSecret), nameof(SecretService)); await _repository.SetSecret(secretName, secretValue, cancellationToken); _logger.Information("Finishing to set the secret | Method: {method} | Class: {class}", nameof(SetSecret), nameof(SecretService)); } catch (Exception ex) { _logger.Error(ex, "{error} | Method: {method} | Class: {class}", ex.Message, nameof(SetSecret), nameof(SecretService)); } } public async Task RemoveSecret(string secretName, CancellationToken cancellationToken) { try { _logger.Information("Starting to remove the secret | Method: {method} | Class: {class}", nameof(RemoveSecret), nameof(SecretService)); await _repository.RemoveSecret(secretName, cancellationToken); _logger.Information("Finishing to remove the secret | Method: {method} | Class: {class}", nameof(RemoveSecret), nameof(SecretService)); } catch (Exception ex) { _logger.Error(ex, "{error} | Method: {method} | Class: {class}", ex.Message, nameof(RemoveSecret), nameof(SecretService)); } } } }