feat: Präfix System- für Tool-Serien reserviert, Kreditraten-Serie heißt System-Kreditraten (A12-T1)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
"""Reservierte Namen (Ausbaustufe 12).
|
||||
|
||||
Alles, was mit SYSTEM_PREFIX beginnt, gehört dem Tool: synthetische Serien
|
||||
wie „System-Ist" (v_projection) oder „System-Kreditraten" (Planungs-Panel).
|
||||
Kategorien und Szenarien dürfen solche Namen nicht tragen, sonst verschmelzen
|
||||
sie in Grafana mit den Tool-Serien.
|
||||
"""
|
||||
from fastapi import HTTPException
|
||||
|
||||
SYSTEM_PREFIX = "System-"
|
||||
RESERVED_MESSAGE = (f"Namen, die mit »{SYSTEM_PREFIX}« beginnen, sind für "
|
||||
"vom Tool erzeugte Einträge reserviert")
|
||||
|
||||
|
||||
def is_reserved_name(name: str) -> bool:
|
||||
"""True, wenn name (ohne Randleerzeichen, Groß/klein egal) mit dem
|
||||
System-Präfix beginnt."""
|
||||
return name.strip().casefold().startswith(SYSTEM_PREFIX.casefold())
|
||||
|
||||
|
||||
def check_reserved_name(name: str | None) -> None:
|
||||
"""None (Feld nicht gesetzt) -> keine Prüfung; reserviert -> 422."""
|
||||
if name is not None and is_reserved_name(name):
|
||||
raise HTTPException(422, RESERVED_MESSAGE)
|
||||
Reference in New Issue
Block a user