Rückkanal: Callbacks für Replies
Warum?
Relevante Links und Bemerkungen
Die beiden neuen Callbacks werden implementiert:
NewReplies
CaseClosureAnnouncement
Hinweis: Eine E-Mail-Benachrichtigung (wie bei wartenden Submissions) erfolgt bei Replys nicht, da wir vom Sender keine Adresse haben.
Akzeptanzkriterien
-
Beim Absenden eines Replys wird, sofern der Sender im Case einen Callback hinterlegt hat, der Callback NewReplies
ausgelöst -
Sender-Callback des Case entspricht dem Callback der letzten Submission in diesem Case. D.h. der Callback der letzten Submission zählt. Fehlt der Callback in der Submission wird ist fortan kein Callback für den Case definiert. Auch bei einer ungültigen URL wird der Callback entfernt.→ Erwartetes Verhalten: Submission mit invaliden URLs wird abgelehnt (nochmals prüfen, aber nicht in der Implementierung ändern, da breaking change). -
Der NewReplies
Callback wird nach dem gleichen Schema wie derNewSubmissions
Callback wiederholt -
(outdated: 02.08.23) Eine einstellbare Zeit vor dem automatischen Schließen eines Cases werden Sender und Subscriber mit dem CallbackCaseClosureAnnouncement
informiert. -
(outdated: 02.08.23) Wenn durch den Patchactive
der Timer zurückgesetzt wird und erneut die einstellbare Zeit vor dem automatischen Schließen eines Cases erreicht, wird derCaseClosureAnnouncement
Callback erneut versendet. -
(neu 16.08.23) Werden neue Events wie accept-reply
oderreject-reply
so wird der Subscriber mittels Callback darüber informiert.
TODOs:
-
Bestehende Implementierung übernehmen und prüfen -
Akzeptanz Kriterien gegen den aktuellen Stand der Implementierung prüfen -
Spring Boot Tests für die bereits implementierten API Endpunkte umsetzen -
Ggf. Unit-Tests an kritischen Stellen "nach-implementieren" -
NEU (02.08.23) CaseClosure Callback wieder ausbauen -
API Spezifikation → erledigt in submission-api!169 (merged) -
Implementierung anpassen → erledigt in https://git.fitko.de/fit-connect/zustelldienst/-/merge_requests/245/diffs?commit_id=bbbcc237a8b2f409606c7bf88a6784b3e10f7a83
-
-
Event-> #1295 (closed)notify-reply
(äquivalent wie beinotify-submission
) wird bei Abruf oder Listing (zu überprüfen) von Replies mitnotifyType = polling
geschrieben (nur beim 1. Aufruf, da nicht jeder Zugriff protokolliert werden soll). Bei Callback Auslösung durch den Zustelldienst wird im EventnotifyType = callback
geschrieben. -
... -
Definition of Done wurde geprüft
Edited by Wojciech Gdaniec