feat(domain): ProvideDocuments stores the diploma via the ACL then completes the wait (refs #103)

IAclClient.StoreDiplomaAsync + AclHttpClient (base64 JSON to the ACL /documenten
endpoint). ProvideDocuments stores the uploaded bytes against the zaak (when opened)
before completing WachtOpDocumenten; the domain endpoint accepts the file base64-encoded.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
not
2026-07-20 12:05:40 +02:00
co-authored by Claude Opus 4.8
parent ecad42873c
commit 3c344caa29
7 changed files with 74 additions and 13 deletions
@@ -59,6 +59,14 @@ public sealed class InMemoryAclClient : IAclClient
ApprovedZaakUrl = zaakUrl;
return Task.CompletedTask;
}
public (Uri ZaakUrl, string FileName)? StoredDiploma { get; private set; }
public Task<Uri> StoreDiplomaAsync(Uri zaakUrl, byte[] content, string fileName, string contentType, CancellationToken ct = default)
{
StoredDiploma = (zaakUrl, fileName);
return Task.FromResult(new Uri("http://openzaak/documenten/api/v1/enkelvoudiginformatieobjecten/acc-doc"));
}
}
/// <summary>An in-memory user-task client for the beoordeling acceptance scenario: it holds one open
@@ -27,4 +27,7 @@ public sealed class InMemoryZaakGateway : IZaakGateway
public Task<string> GetZaakIdentificatieAsync(Uri zaakUrl, CancellationToken ct = default)
=> Task.FromResult("ACC-REF-1");
public Task<Uri> StoreDocumentAsync(DocumentRequest request, CancellationToken ct = default)
=> Task.FromResult(new Uri("http://openzaak/documenten/api/v1/enkelvoudiginformatieobjecten/acc-doc"));
}