Skip to content
Snippets Groups Projects
Commit 5a35d2b1 authored by Andreas Huber's avatar Andreas Huber
Browse files

Statusmodells einer Destination

parent e0c32061
No related branches found
No related tags found
1 merge request!47Statusmodells einer Destination
......@@ -63,10 +63,62 @@ $ curl -X PATCH \
</TabItem>
</Tabs>
## Statusmodell eines Zustellpunktes
![Statusdiagramm](/images/status/status_destination.svg)
- Die durchgezogenen Linien sind manuelle Übergänge, die über die API oder das Self-Service-Portal vorgenommen werden können.
- Die gestrichelte Linie ist ein automatischer Löschvorgang.
| Status | Beschreibung |
| --- | --- |
| created | Die Destination wurde erzeugt. Sie kann vorbereitet werden und sollte erst bei fertig aufgesetzter Fachanwendung in den Status `active` wechseln. |
| active | Die Destination ist ab jetzt aktiv und kann Anträge annehmen. |
| inactive | Wenn die Destination in den Status `inactive` versetzt wird, können keine neuen Anträge mehr angelegt werden. Alle anderen Optionen bleiben möglich. Sie kann wieder in den Status `active` versetzt werden. |
| decommissioned | Wenn eine Destination in den Status `decommissioned` versetzt wird, ist weder das Anlegen von Anträgen möglich, noch ist es möglich, neue Antworten zu versenden. Status-Updates können allerdings noch gesetzt werden. |
| (gelöscht) | Eine Destination kann im Status `created` manuell gelöscht werden. Nach zwei Jahren im Zustand `decommissioned` wird sie automatisiert gelöscht. |
### Status des Zustellpunkts ändern
Der Status kann über den Endpunkt <ApiLink to="/v1/destinations/{destinationId}" withMethod="patch" /> aktualisiert werden.
### Beispiel
<Tabs
defaultValue="curl"
values={[
{label: 'curl', value: 'curl',},
{label: 'Self-Service-Portal', value: 'ssp',},
]}>
<TabItem value="curl" label="foo">
#### Aktualisierung des Verschlüsselungsschlüssels eines Zustellpunktes
```shell
$ SERVICE_URL=...
$ JWT_TOKEN=...
$ DESTINATION_ID=...
# Aktivieren einer Destination
$ curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JWT_TOKEN" \
--data '{"status": "active"}' \
"$SERVICE_URL/v1/destinations/$DESTINATION_ID"
```
</TabItem>
<TabItem value="ssp">
:::caution Hinweis
Über das Self-Service-Portal können Zustellpunkte aktuell noch nicht aktualisiert werden.
:::
</TabItem>
</Tabs>
## Zustellpunkt löschen
Das Löschen von Zustellpunkten kann im Self-Service-Portal durchgeführt werden.
Ein Zustellpunkt kann nur gelöscht werden, wenn kein Client mit diesem verknüpft ist.
Das Löschen von Zustellpunkten kann über den API-Endpunkt <ApiLink to="/v1/destinations/{destinationId}" withMethod="delete" /> oder im Self-Service-Portal durchgeführt werden.
Durch einen Klick auf die `Destination-ID` in der Zustellpunktverwaltung öffnet sich die Detailansicht für den ausgewählten Zustellpunkt.
<div class="center">
......
......@@ -14,6 +14,7 @@ Um eine Einreichung an die fachlich korrekte Stelle sicherzustellen und die tech
Um an einen Zustellpunkt eine Einreichung korrekt zu übermitteln, ist es notwendig, die im Zustellpunkt hinterlegten technischen Parameter für die Einreichung zu ermitteln.
Diese Informationen sind:
- Der Status (`status`) gibt an, ob der Zustellpunkt aktiv ist. Nur im Status `active` können neue Einreichungen versendet werden.
- Die Verwaltungsleistungen (`services`), die über diesen Zustellpunkt abgebildet werden, bestehend aus:
- einem Identifikator der Verwaltungsleitung (`identifier`): Typischerweise entspricht dieser einem LeiKa-Schlüssel (siehe [Leistungskatalog im FIM-Portal](https://fimportal.de/kataloge#download-leistungen)).
- einer Liste an zulässigen Fachdatenschemata (`submissionSchemas`): Hiermit legt das empfangende System fest, welchem Schema die übergebenen Fachdatensätze entsprechen müssen. Welches der angegebenen Schemata verwendet werden muss, bestimmt das sendende System aus dem eigenen fachlichen Kontext heraus. Wenn bspw. ein Antrag für einen Schwerbehindertenausweis gestellt wird, muss der Fachdatensatz aus den dort hinterlegten Schemata gemäß dem dortigen Schema für den Schwerbehindertenausweis (bspw. ein FIM/XFall Schema) entsprechen.
......
......@@ -63,6 +63,7 @@ abgebildet. Fachliche schon.
| https://schema.fitko.de/fit-connect/submission-api/problems/attachment-not-announced | 422 Unprocessable Entity | |
| https://schema.fitko.de/fit-connect/submission-api/problems/attachment-not-found | 404 Not Found | |
| https://schema.fitko.de/fit-connect/submission-api/problems/destination-not-found | 404 Not Found | |
| https://schema.fitko.de/fit-connect/submission-api/problems/destination-state-invalid | 422 Unprocessable Entity | Der Zustellpunkt existiert, hat aber einen für die Aktion unzulässigen Status. |
| https://schema.fitko.de/fit-connect/submission-api/problems/empty-attachment | 400 Bad Request | |
| https://schema.fitko.de/fit-connect/submission-api/problems/jwk-not-valid | 422 Unprocessable Entity | JWK fachlich nicht zulässig. Details stehen im Feld `detail`. |
......
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="black" stroke-linecap="square" width="795" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="1" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="95" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0" image-rendering="auto">
<!--Generated by ySVG 2.5-->
<defs id="genericDefs"/>
<g>
<defs id="defs1">
<linearGradient x1="80" gradientUnits="userSpaceOnUse" x2="200" y1="0" y2="45" id="linearGradient1" spreadMethod="reflect">
<stop stop-opacity="1" stop-color="rgb(255,223,158)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,202,97)" offset="100%"/>
</linearGradient>
<linearGradient x1="0" gradientUnits="userSpaceOnUse" x2="45" y1="0" y2="45" id="linearGradient2" spreadMethod="reflect">
<stop stop-opacity="1" stop-color="rgb(217,255,217)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(194,255,194)" offset="100%"/>
</linearGradient>
<linearGradient x1="240" gradientUnits="userSpaceOnUse" x2="360" y1="0" y2="45" id="linearGradient3" spreadMethod="reflect">
<stop stop-opacity="1" stop-color="rgb(255,223,158)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,202,97)" offset="100%"/>
</linearGradient>
<linearGradient x1="400" gradientUnits="userSpaceOnUse" x2="520" y1="-2.5" y2="42.5" id="linearGradient4" spreadMethod="reflect">
<stop stop-opacity="1" stop-color="rgb(255,223,158)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,202,97)" offset="100%"/>
</linearGradient>
<linearGradient x1="560" gradientUnits="userSpaceOnUse" x2="680" y1="-2.5" y2="42.5" id="linearGradient5" spreadMethod="reflect">
<stop stop-opacity="1" stop-color="rgb(255,223,158)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,202,97)" offset="100%"/>
</linearGradient>
<linearGradient x1="720" gradientUnits="userSpaceOnUse" x2="765" y1="-2.5" y2="42.5" id="linearGradient6" spreadMethod="reflect">
<stop stop-opacity="1" stop-color="rgb(255,217,217)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(255,194,194)" offset="100%"/>
</linearGradient>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
<path d="M0 0 L795 0 L795 95 L0 95 L0 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
<path d="M-15 -35 L780 -35 L780 60 L-15 60 L-15 -35 Z"/>
</clipPath>
</defs>
<g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="translate(15,35)" stroke="white">
<rect x="-15" width="795" height="95" y="-35" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g fill="url(#linearGradient1)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke="url(#linearGradient1)">
<ellipse rx="60" ry="22.5" clip-path="url(#clipPath2)" cx="140" cy="22.5" stroke="none"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" fill="rgb(158,105,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" stroke="rgb(158,105,0)" stroke-width="2" stroke-miterlimit="1.45">
<ellipse rx="60" fill="none" ry="22.5" clip-path="url(#clipPath2)" cx="140" cy="22.5"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" font-weight="bold" stroke-miterlimit="1.45">
<text x="117.1133" xml:space="preserve" y="27.0352" clip-path="url(#clipPath2)" stroke="none">created</text>
</g>
<g fill="url(#linearGradient2)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke="url(#linearGradient2)">
<circle r="22.5" clip-path="url(#clipPath2)" cx="22.5" cy="22.5" stroke="none"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" fill="rgb(0,158,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" stroke="rgb(0,158,0)" stroke-width="2" stroke-miterlimit="1.45">
<circle fill="none" r="22.5" clip-path="url(#clipPath2)" cx="22.5" cy="22.5"/>
</g>
<g fill="url(#linearGradient3)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke="url(#linearGradient3)">
<ellipse rx="60" ry="22.5" clip-path="url(#clipPath2)" cx="300" cy="22.5" stroke="none"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" fill="rgb(158,105,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" stroke="rgb(158,105,0)" stroke-width="2" stroke-miterlimit="1.45">
<ellipse rx="60" fill="none" ry="22.5" clip-path="url(#clipPath2)" cx="300" cy="22.5"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" font-weight="bold" stroke-miterlimit="1.45">
<text x="281.8213" xml:space="preserve" y="27.0352" clip-path="url(#clipPath2)" stroke="none">active</text>
</g>
<g fill="url(#linearGradient4)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke="url(#linearGradient4)">
<ellipse rx="60" ry="22.5" clip-path="url(#clipPath2)" cx="460" cy="20" stroke="none"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" fill="rgb(158,105,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" stroke="rgb(158,105,0)" stroke-width="2" stroke-miterlimit="1.45">
<ellipse rx="60" fill="none" ry="22.5" clip-path="url(#clipPath2)" cx="460" cy="20"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" font-weight="bold" stroke-miterlimit="1.45">
<text x="435.9297" xml:space="preserve" y="24.5352" clip-path="url(#clipPath2)" stroke="none">inactive</text>
</g>
<g fill="url(#linearGradient5)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke="url(#linearGradient5)">
<ellipse rx="60" ry="22.5" clip-path="url(#clipPath2)" cx="620" cy="20" stroke="none"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" fill="rgb(158,105,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" stroke="rgb(158,105,0)" stroke-width="2" stroke-miterlimit="1.45">
<ellipse rx="60" fill="none" ry="22.5" clip-path="url(#clipPath2)" cx="620" cy="20"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" font-weight="bold" stroke-miterlimit="1.45">
<text x="567.8955" xml:space="preserve" y="24.5352" clip-path="url(#clipPath2)" stroke="none">decommissioned</text>
</g>
<g fill="url(#linearGradient6)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke="url(#linearGradient6)">
<circle r="22.5" clip-path="url(#clipPath2)" cx="742.5" cy="20" stroke="none"/>
</g>
<g stroke-linecap="butt" transform="matrix(1,0,0,1,15,35)" fill="rgb(158,0,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" stroke="rgb(158,0,0)" stroke-width="2" stroke-miterlimit="1.45">
<circle fill="none" r="22.5" clip-path="url(#clipPath2)" cx="742.5" cy="20"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke-linecap="butt">
<path fill="none" d="M45.0189 22.5 L72.0339 22.5" clip-path="url(#clipPath2)"/>
</g>
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,35)" stroke-linecap="butt">
<path d="M80.0339 22.5 L68.0339 17.5 L71.0339 22.5 L68.0339 27.5 Z" stroke="none" clip-path="url(#clipPath2)"/>
<path fill="none" d="M199.9609 22.5 L231.9668 22.5" clip-path="url(#clipPath2)"/>
<path d="M239.9668 22.5 L227.9668 17.5 L230.9668 22.5 L227.9668 27.5 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M354.5784 13.125 L394.8438 13.125" clip-path="url(#clipPath2)"/>
<path d="M402.8438 13.125 L390.8438 8.125 L393.8438 13.125 L390.8438 18.125 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M405.4216 29.375 L365.1562 29.375" clip-path="url(#clipPath2)"/>
<path d="M357.1562 29.375 L369.1562 34.375 L366.1562 29.375 L369.1562 24.375 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M519.9609 20 L551.9668 20" clip-path="url(#clipPath2)"/>
<path d="M559.9668 20 L547.9668 15 L550.9668 20 L547.9668 25 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" stroke-dasharray="6,2" d="M680.0238 20 L712.0171 20" clip-path="url(#clipPath2)"/>
<path stroke-dasharray="6,2" d="M720.0171 20 L708.0171 15 L711.0171 20 L708.0171 25 Z" clip-path="url(#clipPath2)" stroke="none"/>
<path fill="none" d="M168.0957 2.5989 L200 -20 L680 -20 L716.4109 4.1605" clip-path="url(#clipPath2)"/>
<path d="M723.0769 8.5837 L715.8425 -2.2173 L715.5777 3.6076 L710.3134 6.1151 Z" clip-path="url(#clipPath2)" stroke="none"/>
</g>
</g>
</svg>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment