added functionality for consulting session saving, updating and soft deleting

This commit is contained in:
2026-07-11 10:02:58 +02:00
parent 6eb358e0aa
commit 5563e5a6b9
3 changed files with 162 additions and 105 deletions
+10 -2
View File
@@ -1,6 +1,7 @@
from __future__ import annotations
import datetime
import enum
import json
from typing import Annotated, Any, Final, Literal
@@ -38,7 +39,7 @@ def translate_pydantic_errors(
err_type = error.get("type", None)
if err_type is None or err_type not in GERMAN_ERROR_MESSAGES:
error["msg"] = "[fehleden Übersetzung, nur Englisch]: " + error["msg"]
error["msg"] = "[fehlende Übersetzung, nur Englisch]: " + error["msg"]
translated_errors.append(error)
continue
@@ -346,6 +347,11 @@ class Grunderfassung_Sprachen(BaseModel):
# ** Consulting
class ConsultingType(enum.StrEnum):
PAUSCHAL = enum.auto()
INDIVIDUAL = enum.auto()
class Beratungsgespraech_Vorgang(BaseModel):
model_config = ConfigDict(str_strip_whitespace=True)
@@ -353,11 +359,12 @@ class Beratungsgespraech_Vorgang(BaseModel):
un_id: int | None
pers_id: int | None
titel: str
beratungs_typ: Literal["pauschal", "individuell"]
beratungs_typ: ConsultingType
# default in SQLAlchemy with lambda and timezone-aware datetime
erstellt: AwareDatetime | None = Field(default=None, exclude=True)
aktualisiert: AwareDatetime | None = Field(default=None, exclude=True) # see above
geloescht: AwareDatetime | None = None
beratungen: list[Beratungsgespraech_Einzelgespraech]
@@ -379,3 +386,4 @@ class Beratungsgespraech_Einzelgespraech(BaseModel):
# default in SQLAlchemy with lambda and timezone-aware datetime
erstellt: AwareDatetime | None = Field(default=None, exclude=True)
aktualisiert: AwareDatetime | None = Field(default=None, exclude=True) # see above
geloescht: AwareDatetime | None = None