feat(auth): enterprise authentication and user management

This commit is contained in:
Schubert Ferenc 2026-07-02 22:19:12 +02:00
parent 4bc8b20a21
commit 86a32a942c
36 changed files with 2239 additions and 324 deletions

View file

@ -1,4 +1,9 @@
from datetime import datetime
from sqlalchemy import Boolean
from sqlalchemy import DateTime
from sqlalchemy import String
from sqlalchemy import func
from sqlalchemy.orm import Mapped
from sqlalchemy.orm import mapped_column
@ -10,6 +15,18 @@ class User(Base):
id: Mapped[int] = mapped_column(primary_key=True)
first_name: Mapped[str] = mapped_column(
String(100),
default="",
server_default=""
)
last_name: Mapped[str] = mapped_column(
String(100),
default="",
server_default=""
)
username: Mapped[str] = mapped_column(
String(50),
unique=True,
@ -23,4 +40,27 @@ class User(Base):
password_hash: Mapped[str] = mapped_column(
String(255)
)
)
role: Mapped[str] = mapped_column(
String(50),
default="user",
server_default="user"
)
is_active: Mapped[bool] = mapped_column(
Boolean,
default=True,
server_default="true"
)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True),
server_default=func.now()
)
updated_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True),
server_default=func.now(),
onupdate=func.now()
)