Add project files.

This commit is contained in:
Sergio Matias Urquin
2025-04-29 18:39:57 -06:00
parent 116793710f
commit 6358f5f199
110 changed files with 4484 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
using Core.Blueprint.KeyVault;
namespace Core.Blueprint.DAL.KeyVault.Contracts
{
public interface IKeyVaultService
{
Task<KeyVaultResponse> CreateSecretAsync(KeyVaultRequest secret, CancellationToken cancellationToken);
Task<Tuple<KeyVaultResponse, string?>> GetSecretAsync(string secret, CancellationToken cancellationToken);
Task<Tuple<string, bool>> DeleteSecretAsync(string secretName, CancellationToken cancellationToken);
Task<Tuple<KeyVaultResponse, string>> UpdateSecretAsync(KeyVaultRequest secretName, CancellationToken cancellationToken);
}
}

View File

@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Azure.Identity" Version="1.13.1" />
<PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.7.0" />
<PackageReference Include="Core.Blueprint.KeyVault" Version="0.3.0-alpha0037" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.0" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,31 @@
using Core.Blueprint.DAL.KeyVault.Contracts;
using Core.Blueprint.KeyVault;
namespace Core.Blueprint.DAL.KeyVault.Services
{
public class KeyVaultService(IKeyVaultProvider keyVaultProvider) : IKeyVaultService
{
public async Task<KeyVaultResponse> CreateSecretAsync(KeyVaultRequest newSecret, CancellationToken cancellationToken)
{
var result = await keyVaultProvider.CreateSecretAsync(newSecret, cancellationToken);
return result;
}
public async Task<Tuple<KeyVaultResponse, string?>> GetSecretAsync(string secretName, CancellationToken cancellationToken)
{
var result = await keyVaultProvider.GetSecretAsync(secretName, cancellationToken: cancellationToken);
return result;
}
public async Task<Tuple<KeyVaultResponse, string>> UpdateSecretAsync(KeyVaultRequest newSecret, CancellationToken cancellationToken)
{
var result = await keyVaultProvider.UpdateSecretAsync(newSecret, cancellationToken);
return result;
}
public async Task<Tuple<string, bool>> DeleteSecretAsync(string secretName, CancellationToken cancellationToken)
{
var result = await keyVaultProvider.DeleteSecretAsync(secretName, cancellationToken);
return result;
}
}
}