Add authentification
This commit is contained in:
@@ -3,22 +3,35 @@ from enum import StrEnum
|
||||
from typing import Optional
|
||||
import datetime
|
||||
|
||||
class ContractType(SQLModel, table=True):
|
||||
id: int | None = Field(default=None, primary_key=True)
|
||||
name: str
|
||||
|
||||
class UserContractTypeLink(SQLModel, table=True):
|
||||
user_id: int = Field(foreign_key="user.id", primary_key=True)
|
||||
contract_type_id: int = Field(foreign_key="contracttype.id", primary_key=True)
|
||||
|
||||
class UserBase(SQLModel):
|
||||
name: str
|
||||
email: str
|
||||
|
||||
class UserPublic(UserBase):
|
||||
id: int
|
||||
roles: list[ContractType]
|
||||
|
||||
class User(UserBase, table=True):
|
||||
id: int | None = Field(default=None, primary_key=True)
|
||||
roles: list[ContractType] = Relationship(
|
||||
link_model=UserContractTypeLink
|
||||
)
|
||||
|
||||
class UserUpdate(SQLModel):
|
||||
name: str | None
|
||||
email: str | None
|
||||
role_names: list[str] | None
|
||||
|
||||
class UserCreate(UserBase):
|
||||
pass
|
||||
role_names: list[str] | None
|
||||
|
||||
class PaymentMethodBase(SQLModel):
|
||||
name: str
|
||||
|
||||
Reference in New Issue
Block a user