Change userManager to modern sqlmodel syntax

This commit is contained in:
2026-04-24 15:31:23 +02:00
parent ab222533ed
commit 2de444c8b0
2 changed files with 52 additions and 46 deletions

View File

@@ -20,35 +20,40 @@ class UserDB(UserBase, table=True):
id: int | None = Field(default=None, primary_key=True)
password: str
class UserUpdate(Base):
name: str | None = None
email: str | None = None
is_admin: bool | None = None
password: str | None = None
#### Special
class AaGroupLink(Base, table=True):
group_id: int | None = Field(default=None, foreign_key="group.id", primary_key=True)
accessauth_id: int | None = Field(default=None, foreign_key="accessauthorization.id", primary_key=True)
group_id: int | None = Field(default=None, foreign_key="groupdb.id", primary_key=True)
accessauth_id: int | None = Field(default=None, foreign_key="accessauthorizationdb.id", primary_key=True)
#### Group
class GroupBase(Base):
name: str = Field(index=True)
class GroupDB(GroupBase, table=True):
id: int | None = Field(default=None, primary_key=True)
cards: List["Card"] = Relationship(back_populates="group")
accessauths: List["AccessAuthorizationBase"] = Relationship(back_populates="groups", link_model=AaGroupLink)
accessauths: List["AccessAuthorizationDB"] = Relationship(back_populates="groups", link_model=AaGroupLink)
class GroupResponse(GroupBase):
id: int
cards: List["Card"]
accessauths: List["AccessAuthorizationBase"]
accessauths: List["AccessAuthorizationDB"]
#### AccessAuthorization
class AccessAuthorizationBase(Base):
name: str = Field(index=True)
is_active: bool
groups: List["GroupDB"] = Relationship(back_populates="accessauths", link_model=AaGroupLink)
timetables: List["Timetable"] = Relationship(back_populates="accessauth")
class AccessAuthorizationDB(Base, table=True):
id: int | None = Field(default=None, primary_key=True)
groups: List["GroupDB"] = Relationship(back_populates="accessauths", link_model=AaGroupLink)
timetables: List["Timetable"] = Relationship(back_populates="accessauth")
class AccessAuthorizationCreate(AccessAuthorizationBase):
pass