From 03fcd18d880b4943228fc40e615ec1fc46aa2e86 Mon Sep 17 00:00:00 2001
From: Michael Miera <michael.miera@fjd.de>
Date: Tue, 3 May 2022 11:40:09 +0200
Subject: [PATCH] feat: add reference to automatic deletion and email
 notification

t
---
 docs/getting-started/event-log/events.mdx     | 26 +++++++++++--------
 .../notifications-and-deletion-deadlines.mdx  | 14 +++++-----
 docs/receiving/notification.mdx               |  3 +++
 docs/receiving/overview.mdx                   |  3 +++
 docs/sending/attachments.mdx                  |  2 ++
 docs/sending/overview.mdx                     |  2 ++
 docs/sending/submit.mdx                       |  3 +++
 7 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/docs/getting-started/event-log/events.mdx b/docs/getting-started/event-log/events.mdx
index 014d18191..d8e5ce4f9 100644
--- a/docs/getting-started/event-log/events.mdx
+++ b/docs/getting-started/event-log/events.mdx
@@ -13,15 +13,15 @@ Das Akzeptieren oder Zurückweisen von Einreichungen auf einer rein technischen
 Gründe für technische Rückweisungen wären beispielsweise Probleme bei der Entschlüsselung oder Validierungsfehler der Datenstrukturen.
 In der folgenden Tabelle sind die möglichen Ereignisse, ihre Beschreibungen und die Autoren aufgeführt und beschrieben.
 
-| Event                                                                                    | Autor               | Bedeutung                     |
-|------------------------------------------------------------------------------------------|---------------------|-------------------------------|
-| `https://schema.fitko.de/fit-connect/events/create-submission`  [↓](#create-submission)  | Zustelldienst       | Die Einreichung wurde durch den Sender angelegt. |
-| `https://schema.fitko.de/fit-connect/events/submit-submission`  [↓](#submit-submission)  | Zustelldienst       | Die Einreichung wurde durch den Sender abgesendet. |
-| `https://schema.fitko.de/fit-connect/events/notify-submission`  [↓](#notify-submission)  | Zustelldienst       | Der Empfänger wurde per Webhook über die Einreichung informiert. |
-| `https://schema.fitko.de/fit-connect/events/forward-submission` [↓](#forward-submission) | Empfangendes System | Ein nachgelagertes System hat die Einreichung zur Weiterleitung übernommen. |
-| `https://schema.fitko.de/fit-connect/events/reject-submission`  [↓](#reject-submission)  | Empfangendes System | Die Einreichung wurde durch den Empfänger zurückgewiesen. |
-| `https://schema.fitko.de/fit-connect/events/accept-submission`  [↓](#accept-submission)  | Empfangendes System | Die Einreichung wurde durch den Empfänger akzeptiert. |
-| `https://schema.fitko.de/fit-connect/events/delete-submission`  [↓](#delete-submission)  | Zustelldienst       | Die Einreichung wurde durch den Zustelldienst gelöscht. |
+| Event                                                                                    | Autor                             | Bedeutung                     |
+|------------------------------------------------------------------------------------------|-----------------------------------|-------------------------------|
+| `https://schema.fitko.de/fit-connect/events/create-submission`  [↓](#create-submission)  | Zustelldienst                     | Die Einreichung wurde durch den Sender angelegt. |
+| `https://schema.fitko.de/fit-connect/events/submit-submission`  [↓](#submit-submission)  | Zustelldienst                     | Die Einreichung wurde durch den Sender abgesendet. |
+| `https://schema.fitko.de/fit-connect/events/notify-submission`  [↓](#notify-submission)  | Zustelldienst                     | Der Empfänger wurde per Webhook über die Einreichung informiert. |
+| `https://schema.fitko.de/fit-connect/events/forward-submission` [↓](#forward-submission) | Empfangendes System               | Ein nachgelagertes System hat die Einreichung zur Weiterleitung übernommen. |
+| `https://schema.fitko.de/fit-connect/events/reject-submission`  [↓](#reject-submission)  | Empfangendes System/Zustelldienst | Die Einreichung wurde durch den Empfänger zurückgewiesen *oder* die Einreichung war mehr als 14 Tage im Status `submitted` und wurde deshalb vom Zustelldienst zurückgewiesen. |
+| `https://schema.fitko.de/fit-connect/events/accept-submission`  [↓](#accept-submission)  | Empfangendes System               | Die Einreichung wurde durch den Empfänger akzeptiert. |
+| `https://schema.fitko.de/fit-connect/events/delete-submission`  [↓](#delete-submission)  | Zustelldienst                     | Die Einreichung wurde [durch den Zustelldienst gelöscht](../notifications-and-deletion-deadlines.mdx). |
 
 ## create-submission {#create-submission}
 
@@ -144,6 +144,9 @@ dass es die Einreichung zur Weiterleitung übernommen hat.
 Mit dem Event `https://schema.fitko.de/fit-connect/events/reject-submission` dokumentiert das empfangende System,
 dass die Einreichung zurückgewiesen wird.
 
+Alternativ kann auch der Zustelldienst Einreichungen als `reject` markieren, wenn diese mehr als 14 Tage im Status `submitted` verbleiben.
+Unter [Benachrichtigungen und Löschfristen](../notifications-and-deletion-deadlines.mdx) finden sich hierzu genaue Angaben.
+
 Das Event enthält ein Array `problems`, dass die Fehler der Einreichung dokumentiert.
 Der Aufbau ist an [RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807) angelehnt,
 lässt jedoch den Status aus, weil hier kein passender HTTP Status Code angegeben werden kann.
@@ -177,6 +180,7 @@ lässt jedoch den Status aus, weil hier kein passender HTTP Status Code angegebe
 }
 ```
 
+
 ## accept-submission {#accept-submission}
 
 Mit dem Event `https://schema.fitko.de/fit-connect/events/accept-submission` dokumentiert das empfangende System,
@@ -247,8 +251,8 @@ werden diese analog zu der `problems` Liste in [`reject-submission`](#reject-sub
 
 ## delete-submission {#delete-submission}
 
-Mit dem Event `https://schema.fitko.de/fit-connect/events/delete-submission` dokumentiert der Zustelldienst,
-dass die Einreichung gelöscht wurde.
+Mit dem Event `https://schema.fitko.de/fit-connect/events/delete-submission` dokumentiert der Zustelldienst, dass die Einreichung gelöscht wurde. 
+Die Fristen, wann eine Einreichungen mit welchem Status gelöscht wird, finden sich unter [Benachrichtigungen und Löschfristen](../notifications-and-deletion-deadlines.mdx).
 
 ```json
 {
diff --git a/docs/getting-started/notifications-and-deletion-deadlines.mdx b/docs/getting-started/notifications-and-deletion-deadlines.mdx
index 7c284aa04..fe8760cdf 100644
--- a/docs/getting-started/notifications-and-deletion-deadlines.mdx
+++ b/docs/getting-started/notifications-and-deletion-deadlines.mdx
@@ -1,12 +1,6 @@
 # Benachrichtigungen und Löschfristen
 
-| Zeitpunkt | Aktion |
-| --------- | ------ |
-| Tag 3 nach Eingang | Mail an Betreiber des empfangenden Systems |
-| Tag 14 nach Eingang | Reject-Event |
-| Tag 21 nach Eingang | Löschung der Einreichung |
-
-#### Löschung nach erfolgreicher Abholung
+### Löschung nach erfolgreicher Abholung
 Bei erfolgreicher Abholung einer Einreichung durch ein empfangendes System (Fachverfahren) wird dieser zustelldienstseitig nach 7 Tage gelöscht.
 
 ### Löschung unvollständiger Einreichungen
@@ -15,3 +9,9 @@ Unvollständige Einreichungen, die durch das sendende System (Onlinedienst) nich
 ### Löschung bei nicht erfolgter Abholung
 Bei nicht erfolgter Abholung einer Einreichung durch ein empfangendes System (Fachverfahren) erfolgt eine Benachrichtigung des technischen Kontakts auf Empfängerseite 3 Tage nach Eingang der Einreichung.
 14 Tage nach Eingang einer neuen Einreichung in der FIT-Connect-Infrastruktur erfolgt eine Markierung der Einreichung als nicht-zustellbar ("reject"-Event). Ab diesem Zeitpunkt können Einreichungen nicht mehr abgerufen werden. Nach weiteren 7 Tagen, die zu Debugging-Zwecken benötigt werden, erfolgt anschließend eine Löschung der übermittelten Einreichung.
+
+| Zeitpunkt | Aktion |
+| --------- | ------ |
+| Tag 3 nach Eingang | Mail an Betreiber des empfangenden Systems |
+| Tag 14 nach Eingang | Reject-Event |
+| Tag 21 nach Eingang | Löschung der Einreichung |
diff --git a/docs/receiving/notification.mdx b/docs/receiving/notification.mdx
index f2597c6ca..4f07ee177 100644
--- a/docs/receiving/notification.mdx
+++ b/docs/receiving/notification.mdx
@@ -66,3 +66,6 @@ $ curl \
   ]
 }
 ```
+
+## E-Mail
+Bei nicht erfolgter Abholung einer Einreichung durch ein empfangendes System (Fachverfahren) erfolgt eine Benachrichtigung des technischen Kontakts [auf Empfängerseite 3 Tage nach Eingang der Einreichung](../getting-started/notifications-and-deletion-deadlines.mdx).
diff --git a/docs/receiving/overview.mdx b/docs/receiving/overview.mdx
index aaa6c4918..13efc6efa 100644
--- a/docs/receiving/overview.mdx
+++ b/docs/receiving/overview.mdx
@@ -7,6 +7,9 @@ import Mermaid from '@site/src/components/Mermaid'
 Für den Empfang von Einreichungen und die Verarbeitung dieser werden in diesem und den folgenden Abschnitten alle notwendigen Aktionen beschrieben, um schnell die ersten Schritte machen zu können.
 Als Leitlinie dafür ist der unten dargestellte Prozessablauf heranzuziehen, dessen Schritte im Folgenden beschrieben werden.
 
+Bei nicht erfolgter Abholung einer Einreichung durch ein empfangendes System (Fachverfahren) erfolgt eine Benachrichtigung des technischen Kontakts auf Empfängerseite 3 Tage nach Eingang der Einreichung. 
+Sollte sich eine Einreichung mehr als 14 Tage im Status `submitted` befinden, wird [diese automatisch vom Server abgewiesen](../getting-started/notifications-and-deletion-deadlines.mdx) und in den Status `rejected` überführt.
+
 <Mermaid>
 sequenceDiagram
   participant C as Client;
diff --git a/docs/sending/attachments.mdx b/docs/sending/attachments.mdx
index a636a27fd..1bb439378 100644
--- a/docs/sending/attachments.mdx
+++ b/docs/sending/attachments.mdx
@@ -13,6 +13,8 @@ Vor dem Hochladen von Anlagen müssen diese durch den Sender [verschlüsselt wer
 
 Eine bereits verschlüsselte Datei kann über den Endpunkt <ApiLink api="submission-api" to="/v1/submissions/{submissionId}/attachments/{attachmentId}" withMethod="put" /> hochgeladen werden:
 
+Unvollständige Einreichungen, die durch das sendende System (Onlinedienst) nicht abgeschlosen wurden und dem empfangenden System noch nicht bekannt sind, [werden nach 1 Tag gelöscht](../getting-started/notifications-and-deletion-deadlines.mdx).
+
 <Tabs
   defaultValue="curl"
   values={[
diff --git a/docs/sending/overview.mdx b/docs/sending/overview.mdx
index 617f221ee..92e1b1a90 100644
--- a/docs/sending/overview.mdx
+++ b/docs/sending/overview.mdx
@@ -16,6 +16,8 @@ Das dafür benötigte Schlüsselmaterial wird als Teil der technischen Informati
 Während der Einreichung erhält man von der API eine `caseId`, mithilfe welcher man nach der Abgabe den Event Log der Einreichung abrufen kann.
 Dieser Event Log enthält eine Liste von Ereignissen, ähnlich wie im Interface einer Paketverfolgung, mit denen der aktuelle Zustellungsstatus der Einreichung sowie aller zukünftig zu diesem Case hinzugehörigen Einreichungen transparent wird.
 
+Einreichungen unterliegen diversen automatischen Löschfristen, nach welchen diese vom Server bereinigt werden. Genaue Fristen und Bedingungen finden sich in [Benachrichtigungen und Löschfristen](../getting-started/notifications-and-deletion-deadlines.mdx).
+
 ## Prozessablauf
 
 <Mermaid>
diff --git a/docs/sending/submit.mdx b/docs/sending/submit.mdx
index 5312cb3cd..ce15b347e 100644
--- a/docs/sending/submit.mdx
+++ b/docs/sending/submit.mdx
@@ -14,6 +14,9 @@ Diese PUT Methode kann nur folgreich durchgeführt werden, wenn folgende Bedingu
 - Sowohl der Metadatensatz als auch der Fachdatensatz müssen verschlüsselt im JWE-Format vorliegen.
 
 Wenn die Nutzung dieses Endpunkts erfolgreich war, wechselt die Einreichung in den Status `submitted` und die vollständige Einreichung (Anlagen, Metadatensatz und Fachdatz) liegt nun für das empfangende System zum Abruf bereit.
+Bei nicht erfolgter Abholung einer Einreichung durch ein empfangendes System (Fachverfahren) erfolgt eine Benachrichtigung des technischen Kontakts auf Empfängerseite 3 Tage nach Eingang der Einreichung. 
+Sollte sich eine Einreichung mehr als 14 Tage im Status `submitted` befinden, wird [diese automatisch vom Server abgewiesen](../getting-started/notifications-and-deletion-deadlines.mdx) und in den Status `rejected` überführt.
+
 
 Ein Beispiel für die Nutzung des Endpunkt ist im Folgenden Ausschnitt dargestellt:
 
-- 
GitLab