From 0be02e48717ea19e92ad4e2d4a98406b1085cd2f Mon Sep 17 00:00:00 2001
From: Felix Blanke <info@fblanke.de>
Date: Tue, 4 Mar 2025 02:48:50 +0100
Subject: [PATCH] Add missing fields to schema

---
 schemas/solver-input.json  | 13 ++++++++-----
 schemas/solver-output.json |  2 ++
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/schemas/solver-input.json b/schemas/solver-input.json
index f3b0637..a55057d 100644
--- a/schemas/solver-input.json
+++ b/schemas/solver-input.json
@@ -3,9 +3,9 @@
   "$id": "/schema/solver-input.schema.json",
   "type": "object",
   "properties": {
-      "aks": {"type": "array", "items": {"$ref": "/schema/ak.schema.json"}},
-      "rooms": {"type": "array", "items": {"$ref": "/schema/room.schema.json"}},
-      "participants": {"type": "array", "items": {"$ref": "/schema/participant.schema.json"}},
+      "aks": {"type": "array", "items": {"$ref": "/schema/ak.schema.json"}, "uniqueItems": true},
+      "rooms": {"type": "array", "items": {"$ref": "/schema/room.schema.json"}, "uniqueItems": true},
+      "participants": {"type": "array", "items": {"$ref": "/schema/participant.schema.json"}, "uniqueItems": true},
       "timeslots": {"$ref": "/schema/timeslot.schema.json"},
       "info": {
         "type": "object",
@@ -14,7 +14,10 @@
           "slug": {"type": "string"},
           "place": {"type": "string"},
           "contact_email": {"type": "string"}
-        }
+        },
+        "additionalProperties": false
       }
-  }
+  },
+  "required": ["aks", "rooms", "participants", "timeslots", "info"],
+  "additionalProperties": false
 }
diff --git a/schemas/solver-output.json b/schemas/solver-output.json
index 15ee653..2a15247 100644
--- a/schemas/solver-output.json
+++ b/schemas/solver-output.json
@@ -2,6 +2,8 @@
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "$id": "/schema/solver-output.schema.json",
   "type": "object",
+  "additionalProperties": false,
+  "required": ["input", "scheduled_aks"],
   "properties": {
     "input": {"$ref": "/schema/solver-input.schema.json"},
     "scheduled_aks": {
-- 
GitLab