From 3df3a7d4a41de90e525bff973c0cf64390ba0b86 Mon Sep 17 00:00:00 2001
From: David Schwarzmann <david.schwarzmann@codecentric.de>
Date: Mon, 12 Jul 2021 18:13:17 +0200
Subject: [PATCH] Introduce service type inside a submission

---
 spec/schemas/create-submission.yml |  2 ++
 spec/schemas/service-type.yml      | 26 ++++++++++++++++++++++++++
 spec/schemas/submission.yml        |  2 ++
 3 files changed, 30 insertions(+)
 create mode 100644 spec/schemas/service-type.yml

diff --git a/spec/schemas/create-submission.yml b/spec/schemas/create-submission.yml
index 49f58f2f..39e4abb5 100644
--- a/spec/schemas/create-submission.yml
+++ b/spec/schemas/create-submission.yml
@@ -22,3 +22,5 @@ properties:
     minLength: 32
     maxLength: 36
     description: Optionale Vorgangsreferenz. Wird keine Vorgangsreferenz angegeben, wird ein neuer Vorgang eröffnet. Wird eine bestehende Vorgangsreferenz angegeben, so wird innerhalb eines bestehenden Vorgangs eine neue Einreichung erstellt (Reply).
+  serviceType:
+    $ref: './service-type.yml'
diff --git a/spec/schemas/service-type.yml b/spec/schemas/service-type.yml
new file mode 100644
index 00000000..17f42814
--- /dev/null
+++ b/spec/schemas/service-type.yml
@@ -0,0 +1,26 @@
+type: object
+title: Verwaltungsleistung
+description: Beschreibung der Art der Verwaltungsleistung. Eine Verwaltungsleistung
+  sollte immer mit einer LeiKa-Id beschrieben werden. Ist für die gegebene Verwaltungsleistung
+  keine LeiKa-Id vorhanden, kann die Verwaltungsleistung übergangsweise über die Angabe
+  eines Schemas (`otherIdentifiers`) beschrieben werden.
+required:
+  - name
+  - identifier
+properties:
+  name:
+    type: string
+    description: Name/Bezeichnung der Verwaltungsleistung
+  description:
+    type: string
+    description: "(Kurz-)Beschreibung der Verwaltungsleistung"
+  identifier:
+    title: Leistungsbezeichnung
+    description: 'URN einer Leistung. Im Falle einer Leistung aus dem Leistungskatalog
+        sollte hier `urn:de:fim:leika:leistung:` vorangestellt werden.
+
+        '
+    type: string
+    minLength: 7
+    maxLength: 255
+    pattern: "^urn:[a-z0-9][a-z0-9-]{0,31}:[a-z0-9()+,.:=@;$_!*'%/?#-]+$"
diff --git a/spec/schemas/submission.yml b/spec/schemas/submission.yml
index b9a0599a..691f2638 100644
--- a/spec/schemas/submission.yml
+++ b/spec/schemas/submission.yml
@@ -34,6 +34,8 @@ properties:
       format: uuid
       minLength: 32
       maxLength: 36
+  serviceType:
+    $ref: './service-type.yml'
   currentStatus:
     $ref: './submission-state.yml'
   encryptedMetadata:
-- 
GitLab