mirror of
https://github.com/bitwarden/server.git
synced 2026-02-18 06:43:28 +08:00
[PM-13706] Add repository + stored procedures for private key regeneration (#4898)
* Add stored procedure * Add repository
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
#nullable enable
|
||||
using System.Data;
|
||||
using Bit.Core.KeyManagement.Models.Data;
|
||||
using Bit.Core.KeyManagement.Repositories;
|
||||
using Bit.Core.Settings;
|
||||
using Bit.Infrastructure.Dapper.Repositories;
|
||||
using Dapper;
|
||||
using Microsoft.Data.SqlClient;
|
||||
|
||||
namespace Bit.Infrastructure.Dapper.KeyManagement.Repositories;
|
||||
|
||||
public class UserAsymmetricKeysRepository : BaseRepository, IUserAsymmetricKeysRepository
|
||||
{
|
||||
public UserAsymmetricKeysRepository(GlobalSettings globalSettings)
|
||||
: this(globalSettings.SqlServer.ConnectionString, globalSettings.SqlServer.ReadOnlyConnectionString)
|
||||
{
|
||||
}
|
||||
|
||||
public UserAsymmetricKeysRepository(string connectionString, string readOnlyConnectionString) : base(
|
||||
connectionString, readOnlyConnectionString)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task RegenerateUserAsymmetricKeysAsync(UserAsymmetricKeys userAsymmetricKeys)
|
||||
{
|
||||
await using var connection = new SqlConnection(ConnectionString);
|
||||
|
||||
await connection.ExecuteAsync("[dbo].[UserAsymmetricKeys_Regenerate]",
|
||||
new
|
||||
{
|
||||
userAsymmetricKeys.UserId,
|
||||
userAsymmetricKeys.PublicKey,
|
||||
PrivateKey = userAsymmetricKeys.UserKeyEncryptedPrivateKey
|
||||
}, commandType: CommandType.StoredProcedure);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user