feat(event-subscriber): enrich the projection with the zaak reference via the ACL (refs #78)
On each notification the subscriber reads the zaak's reference (identificatie) through the ACL — the only code allowed to talk to ZGW (§8.1) — and persists it on the register_projection row and in the processed_notifications replay log. Storing it in the log keeps rebuild log-only (ADR-0008): no ACL/ZGW access on rebuild. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -11,9 +11,15 @@ var connectionString = builder.Configuration.GetConnectionString("Projection")
|
||||
// this value (ADR-0007), so the webhook enforces it.
|
||||
var webhookToken = builder.Configuration["EventSubscriber:Webhook:AuthToken"]
|
||||
?? throw new InvalidOperationException("Missing configuration 'EventSubscriber:Webhook:AuthToken'");
|
||||
// The ACL is the only code that may read ZGW (§8.1); the subscriber enriches the projection with the
|
||||
// zaak reference through it (adr-proposal #78).
|
||||
var aclBaseUrl = builder.Configuration["Acl:BaseUrl"]
|
||||
?? throw new InvalidOperationException("Missing configuration 'Acl:BaseUrl'");
|
||||
|
||||
builder.Services.AddProjectionReadModel(connectionString);
|
||||
builder.Services.AddProjectionWriteSide();
|
||||
builder.Services.AddHttpClient<EventSubscriber.Application.IAclClient, EventSubscriber.Api.AclHttpClient>(
|
||||
c => c.BaseAddress = new Uri(aclBaseUrl));
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user