Rückkanal: Abholen von Replies
Warum?
Relevante Links und Bemerkungen
- Umsetzung nach Fertigstellung der Spezifikation #42 (closed)
Akzeptanzkriterien
-
Der Sender kann sich Replys auflisten lassen ( GET /v1/replies
). Auflistung erfolgt anhand der Client-ID im Access Token Sub Claim. -
Der Sender kann ein Reply abrufen ( GET /v1/replies/{replyId}
) -
Der Sender kann ein Attachment eines Reply abrufen ( GET /v1/replies/{replyId}/attachments/{attachmentId}
) -
Der Sender kann ein Reply akzeptieren ( PUT /v1/replies/{replyId}/accept
). Es wird einaccept-reply
Event durch den Zustelldienst erzeugt. Es wird der Public Key des Zustelldienst zur Signatur genutzt, der auch bei anderen Security Event Tokens des Zustelldienstes genutzt wird. -
Der Sender kann ein Reply zurückweisen ( PUT /v1/replies/{replyId}/reject
). Es wird einreject-reply
Event durch den Zustelldienst erzeugt. Es wird der Public Key des Zustelldienst zur Signatur genutzt, der auch bei anderen Security Event Tokens des Zustelldienstes genutzt wird. -
Der Sender kann nur auf Replys im Status submitted
zugreifen (siehe Statusdiagramm) -
Fehlercodes in API-Spec und Doku auf Vollständigkeit prüfen/korrigieren→ verschoben nach #1291 (closed) und #1227 (closed) -
Entwurf der Event Payload Schemata wurde im Rahmen der Implementierung nochmals geprüft und bei Bedarf angepasst
TODOs
-
Bestehende Implementierung übernehmen und prüfen -
Akzeptanz Kriterien der aktuellen Implementierung prüfen -
Spring Boot Tests für die bereits implementierten API Endpunkte umsetzen -
Ggf. Unit-Tests an kritischen Stellen "nach-implementieren" -
Endpunkt PUT /v1/replies/{replyId}/accept umsetzen -
Endpunkt PUT /v1/replies/{replyId}/reject umsetzen -
Internes Status-Model für Replies mit den Zuständen INCOMPLETE
,SUBMITTED
,ACCEPTED
,REJECTED
, (DELETED
) implementiert-
INCOMPLETE
,SUBMITTED
,ACCEPTED
,REJECTED
-
( DELETED
) ? → #1208 (closed)
-
-
Refactoring: Zugriffskontrolle mittels @PreAuthroize
-
Zugriffskontrolle für GET /v1/replies fehlt und muss implementiert werden -
Endpunkt PUT /v1/replies//accept umsetzten -
inkl. AuthenticationTag Validator
-
-
Endpunkt PUT /v1/replies//reject umsetzen → erledigt mit https://git.fitko.de/fit-connect/zustelldienst/-/merge_requests/245/diffs?commit_id=0959d9a863b61e07fdde365d83ae28df9c07ae8c - [ ]
-
Prüfen: Callbacks für accept und reject mit bestehender Implementierung oder erst im Nachgang (→ Story erstellen) -
Implementiere Callback für Subscriber wenn Reply accepted oder rejected wird (NewEvent callback)
-
-
Notify-Reply Event nach senden des Callbacks implementieren und erneut Callback versenden? -
Delete-Reply Event Implementieren oder aus SET-Schema herausnehmen -
Die GET Endpunkte in ReplyRetrievalAPI
nutzen noch kein@PreAuthroize
-
... -
Definition of Done wurde geprüft
Edited by Christoph Metzger