more audit work
This commit is contained in:
@@ -122,12 +122,17 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
payload_schema_ver, external_cid, provenance, signatures
|
||||
FROM evidence.records
|
||||
WHERE evidence_id = @evidenceId
|
||||
AND tenant_id = @tenantId
|
||||
""";
|
||||
|
||||
return await QuerySingleOrDefaultAsync<IEvidence>(
|
||||
_tenantId,
|
||||
sql,
|
||||
cmd => AddParameter(cmd, "@evidenceId", evidenceId),
|
||||
cmd =>
|
||||
{
|
||||
AddParameter(cmd, "@evidenceId", evidenceId);
|
||||
AddParameter(cmd, "@tenantId", Guid.Parse(_tenantId));
|
||||
},
|
||||
MapEvidence,
|
||||
ct).ConfigureAwait(false);
|
||||
}
|
||||
@@ -145,6 +150,7 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
payload_schema_ver, external_cid, provenance, signatures
|
||||
FROM evidence.records
|
||||
WHERE subject_node_id = @subjectNodeId
|
||||
AND tenant_id = @tenantId
|
||||
""";
|
||||
|
||||
if (typeFilter.HasValue)
|
||||
@@ -160,6 +166,7 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
cmd =>
|
||||
{
|
||||
AddParameter(cmd, "@subjectNodeId", subjectNodeId);
|
||||
AddParameter(cmd, "@tenantId", Guid.Parse(_tenantId));
|
||||
if (typeFilter.HasValue)
|
||||
{
|
||||
AddParameter(cmd, "@evidenceType", (short)typeFilter.Value);
|
||||
@@ -180,6 +187,7 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
payload_schema_ver, external_cid, provenance, signatures
|
||||
FROM evidence.records
|
||||
WHERE evidence_type = @evidenceType
|
||||
AND tenant_id = @tenantId
|
||||
ORDER BY created_at DESC
|
||||
LIMIT @limit
|
||||
""";
|
||||
@@ -190,6 +198,7 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
cmd =>
|
||||
{
|
||||
AddParameter(cmd, "@evidenceType", (short)evidenceType);
|
||||
AddParameter(cmd, "@tenantId", Guid.Parse(_tenantId));
|
||||
AddParameter(cmd, "@limit", limit);
|
||||
},
|
||||
MapEvidence,
|
||||
@@ -206,6 +215,7 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
SELECT 1 FROM evidence.records
|
||||
WHERE subject_node_id = @subjectNodeId
|
||||
AND evidence_type = @evidenceType
|
||||
AND tenant_id = @tenantId
|
||||
)
|
||||
""";
|
||||
|
||||
@@ -216,6 +226,7 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
{
|
||||
AddParameter(cmd, "@subjectNodeId", subjectNodeId);
|
||||
AddParameter(cmd, "@evidenceType", (short)type);
|
||||
AddParameter(cmd, "@tenantId", Guid.Parse(_tenantId));
|
||||
},
|
||||
ct).ConfigureAwait(false);
|
||||
|
||||
@@ -230,12 +241,17 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
const string sql = """
|
||||
DELETE FROM evidence.records
|
||||
WHERE evidence_id = @evidenceId
|
||||
AND tenant_id = @tenantId
|
||||
""";
|
||||
|
||||
var affected = await ExecuteAsync(
|
||||
_tenantId,
|
||||
sql,
|
||||
cmd => AddParameter(cmd, "@evidenceId", evidenceId),
|
||||
cmd =>
|
||||
{
|
||||
AddParameter(cmd, "@evidenceId", evidenceId);
|
||||
AddParameter(cmd, "@tenantId", Guid.Parse(_tenantId));
|
||||
},
|
||||
ct).ConfigureAwait(false);
|
||||
|
||||
return affected > 0;
|
||||
@@ -250,12 +266,17 @@ public sealed class PostgresEvidenceStore : RepositoryBase<EvidenceDataSource>,
|
||||
SELECT COUNT(*)
|
||||
FROM evidence.records
|
||||
WHERE subject_node_id = @subjectNodeId
|
||||
AND tenant_id = @tenantId
|
||||
""";
|
||||
|
||||
var result = await ExecuteScalarAsync<long>(
|
||||
_tenantId,
|
||||
sql,
|
||||
cmd => AddParameter(cmd, "@subjectNodeId", subjectNodeId),
|
||||
cmd =>
|
||||
{
|
||||
AddParameter(cmd, "@subjectNodeId", subjectNodeId);
|
||||
AddParameter(cmd, "@tenantId", Guid.Parse(_tenantId));
|
||||
},
|
||||
ct).ConfigureAwait(false);
|
||||
|
||||
return (int)result;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Evidence Persistence Task Board
|
||||
|
||||
This board mirrors active sprint tasks for this module.
|
||||
Source of truth: `docs/implplan/SPRINT_20251229_049_BE_csproj_audit_maint_tests.md`.
|
||||
Source of truth: `docs/implplan/permament/SPRINT_20251229_049_BE_csproj_audit_maint_tests.md`.
|
||||
|
||||
| Task ID | Status | Notes |
|
||||
| --- | --- | --- |
|
||||
| AUDIT-0284-M | DONE | Revalidated 2026-01-07; open findings tracked in audit report. |
|
||||
| AUDIT-0284-T | DONE | Revalidated 2026-01-07; open findings tracked in audit report. |
|
||||
| AUDIT-0284-A | TODO | Revalidated 2026-01-07 (open findings). |
|
||||
| AUDIT-0081-M | DONE | Revalidated 2026-01-08; open findings tracked in audit report. |
|
||||
| AUDIT-0081-T | DONE | Revalidated 2026-01-08; open findings tracked in audit report. |
|
||||
| AUDIT-0081-A | TODO | Revalidated 2026-01-08 (open findings). |
|
||||
|
||||
Reference in New Issue
Block a user