41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace StellaOps.Provcache.Postgres;
|
|
|
|
public sealed partial class PostgresProvcacheRepository
|
|
{
|
|
/// <inheritdoc />
|
|
public async Task<long> DeleteByPolicyHashAsync(string policyHash, CancellationToken cancellationToken = default)
|
|
{
|
|
var deleted = await _context.ProvcacheItems
|
|
.Where(e => e.PolicyHash == policyHash)
|
|
.ExecuteDeleteAsync(cancellationToken)
|
|
.ConfigureAwait(false);
|
|
|
|
if (deleted > 0)
|
|
{
|
|
await LogRevocationAsync("policy", policyHash, "policy-update", deleted, cancellationToken)
|
|
.ConfigureAwait(false);
|
|
}
|
|
|
|
return deleted;
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task<long> DeleteBySignerSetHashAsync(string signerSetHash, CancellationToken cancellationToken = default)
|
|
{
|
|
var deleted = await _context.ProvcacheItems
|
|
.Where(e => e.SignerSetHash == signerSetHash)
|
|
.ExecuteDeleteAsync(cancellationToken)
|
|
.ConfigureAwait(false);
|
|
|
|
if (deleted > 0)
|
|
{
|
|
await LogRevocationAsync("signer", signerSetHash, "signer-revocation", deleted, cancellationToken)
|
|
.ConfigureAwait(false);
|
|
}
|
|
|
|
return deleted;
|
|
}
|
|
}
|