diff --git a/CHANGELOG.md b/CHANGELOG.md index cf84200730d38876c5ab74d05d4a6295a5364afd..facf6c61fa03d10bee1ccaaf41999264998fc2a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,10 @@ Don’t forget to tag @ https://git.fitko.de/fit-connect/submission-api/-/tags ## Unreleased +### Changed + +* Erweiterung des destination Schemas um `senderAccessRestricted`, d.h. um die Möglichkeit, das Senden an diesen Zustellpunkt nur bestimmten Sendern zu erlauben ([planning#2534](https://git.fitko.de/fit-connect/planning/-/issues/2534)). + ## [1.12.0] ### Added diff --git a/spec/schemas/client-id.yaml b/spec/schemas/client-id.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5e260f46cdb464fb552cdd49b1487e7089d756d2 --- /dev/null +++ b/spec/schemas/client-id.yaml @@ -0,0 +1,5 @@ +type: string +format: uuid +minLength: 32 +maxLength: 36 +description: Die UUID eines Clients diff --git a/spec/schemas/destination-private.yaml b/spec/schemas/destination-private.yaml index 16d2ed67edf7106bee2c1afaa2650d98c7009296..6e15ea1d2a49ab4c01fca199df312a25f15379bb 100644 --- a/spec/schemas/destination-private.yaml +++ b/spec/schemas/destination-private.yaml @@ -49,3 +49,5 @@ properties: $ref: './contact-information.yaml' callback: $ref: './callback-url.yaml' + senderAccessRestricted: + $ref: './destination-sender-access-restricted.yaml' diff --git a/spec/schemas/destination-public.yaml b/spec/schemas/destination-public.yaml index 62ab79c16677e8d61efb725f83fc306b844c8829..15ae3a150c54e6347c09894e7f5522aae8e42cd1 100644 --- a/spec/schemas/destination-public.yaml +++ b/spec/schemas/destination-public.yaml @@ -1,5 +1,5 @@ title: Zustellpunkt -description: Repräsentation eines Zustellpunktes +description: Öffentliche Daten eines Zustellpunktes type: object required: - destinationId @@ -43,3 +43,5 @@ properties: description: > Status des Zustellpunktes. Eine Beschreibung der Status finden Sie in den Detailinformationen unter [Zustellpunktverwaltung](https://docs.fitko.de/fit-connect/docs/details/destination-management). + senderAccessRestricted: + $ref: './destination-sender-access-restricted.yaml' diff --git a/spec/schemas/destination-sender-access-restricted.yaml b/spec/schemas/destination-sender-access-restricted.yaml new file mode 100644 index 0000000000000000000000000000000000000000..05f63fd2eed903709e4e531bff5b35d3a8dc8da6 --- /dev/null +++ b/spec/schemas/destination-sender-access-restricted.yaml @@ -0,0 +1,20 @@ +type: object +required: + - enabled + - allowedSenders +properties: + enabled: + type: boolean + description: | + Gibt an, ob das Senden an diesen Zustellpunkt beschränkt ist oder nicht. + Falls `true` dürfen ausschließlich Clients, deren ID in `allowedSenders` enthalten ist, + an diesen Zustellpunkt senden. + allowedSenders: + type: array + uniqueItems: true + items: + $ref: './client-id.yaml' + description: | + Auflistung der Client-IDs, die an diesen Zustellpunkt senden dürfen. + Die Clients müssen existieren und vom Typ `SENDER` sein. + minItems: 0