From 28de5d6f222375a15b44e48e38e70ee62faa2fdd Mon Sep 17 00:00:00 2001
From: Alexander Kaschta <alexander.kaschta9@kit.edu>
Date: Mon, 30 Dec 2024 03:04:19 +0100
Subject: [PATCH] WIP: Start modelling BCD request

---
 model/bcd_request.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 model/bcd_request.py

diff --git a/model/bcd_request.py b/model/bcd_request.py
new file mode 100644
index 0000000..3c8c1b4
--- /dev/null
+++ b/model/bcd_request.py
@@ -0,0 +1,30 @@
+from enum import Enum
+from typing import Optional
+
+from pydantic import BaseModel, Field
+
+
+class BCDProtectionRequirements(Enum):
+    """
+    BCD Firewall Protection Requirements
+    """
+    LEVEL_1 = 1
+    LEVEL_2 = 2
+    SPECIAL = 10
+
+class BCDSystemType(Enum):
+    CLIENT = 1
+    SERVER = 2
+    PRINTER = 3
+    IOT_DEVICES = 4
+    VPN_WIFI_ONLY = 5
+    OTHER = 6
+
+class BCDRequestModel(BaseModel):
+    oe: str = Field()
+    group: str = Field()
+    protection_requirement: BCDProtectionRequirements = Field()
+    protection_requirement_note: Optional[str] = Field(default=None)
+    type_of_system: BCDSystemType = Field()
+    type_of_system_note: Optional[str] = Field(default=None)
+    load_balancer: bool = Field()
-- 
GitLab