feat(auth): enterprise authentication and user management
This commit is contained in:
parent
4bc8b20a21
commit
86a32a942c
36 changed files with 2239 additions and 324 deletions
|
|
@ -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()
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue