prepare new loading scheme for auto form data (not working yet)

This commit is contained in:
2026-07-15 17:28:24 +02:00
parent f4a4d2d98e
commit a40213a1ed
3 changed files with 316 additions and 19 deletions
+30
View File
@@ -177,6 +177,20 @@ class AutoFormDelete(Protocol):
) -> None: ...
class AutoFormToDb(Protocol):
def __call__(
self,
auto_form_data: Initrec,
) -> Initrec: ...
class AutoFormFromDb(Protocol):
def __call__(
self,
id_: int,
) -> Initrec: ...
@dc.dataclass(slots=True)
class Session:
user_id: UserId
@@ -209,6 +223,8 @@ class Page_InitRecCompany_State(PageState[Module]):
@dc.dataclass(slots=True, kw_only=True)
class AutoFormConfig:
model: type[FlatBaseModel]
to_db: AutoFormToDb
from_db: AutoFormFromDb
data_insert: AutoFormInsert
data_update: AutoFormUpdate
data_get: AutoFormGet
@@ -225,6 +241,7 @@ class AutoForm_State(PageState[Module]):
rec_id: RecId | None = None
form_data: dict[str, Any] | None = None
locked: bool
geloescht: bool = False
@dc.dataclass(slots=True, kw_only=True)
@@ -395,6 +412,19 @@ class FlatBaseModel(BaseModel):
# ** InitRec
class Initrec_FromDb(BaseModel):
rec_id: RecId
geloescht: AwareDatetime | None
Metadaten_aktualisierung: AwareDatetime
form_data: dict[str, Any]
class Initrec(BaseModel):
rec_id: RecId | None
geloescht: AwareDatetime | None = None
form_data: dict[str, Any]
class Grunderfassung_Unternehmen(FlatBaseModel):
# default in SQLAlchemy with lambda and timezone-aware datetime
Metadaten_erstellung: AwareDatetime | None = None