Skip to content

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

  1. Beim Absenden eines Replys wird, sofern der Sender im Case einen Callback hinterlegt hat, der Callback NewReplies ausgelöst
  2. 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).
  3. Der NewReplies Callback wird nach dem gleichen Schema wie der NewSubmissions Callback wiederholt
  4. (outdated: 02.08.23) Eine einstellbare Zeit vor dem automatischen Schließen eines Cases werden Sender und Subscriber mit dem Callback CaseClosureAnnouncement informiert.
  5. (outdated: 02.08.23) Wenn durch den Patch active der Timer zurückgesetzt wird und erneut die einstellbare Zeit vor dem automatischen Schließen eines Cases erreicht, wird der CaseClosureAnnouncement Callback erneut versendet.
  6. (neu 16.08.23) Werden neue Events wie accept-reply oder reject-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
  • Event notify-reply (äquivalent wie bei notify-submission) wird bei Abruf oder Listing (zu überprüfen) von Replies mit notifyType = polling geschrieben (nur beim 1. Aufruf, da nicht jeder Zugriff protokolliert werden soll). Bei Callback Auslösung durch den Zustelldienst wird im Event notifyType = callback geschrieben. -> #1295 (closed)
  • ...
  • Definition of Done wurde geprüft
Edited by Wojciech Gdaniec