floorball_stas/app/models/user.py

30 lines
701 B
Python

from typing import Optional
from pydantic import EmailStr
from sqlmodel import SQLModel, Field
from app.db.base_class import Base
class UserBase(SQLModel):
full_name: Optional[str] = Field(index=True)
email: Optional[EmailStr] = Field(unique=True, index=True, nullable=False)
hashed_password: Optional[str] = Field(nullable=False)
is_active: Optional[bool] = Field(default=True)
is_superuser: bool = Field(default=False)
class User(UserBase, Base, table=True):
pass
class UserCreate(UserBase):
email: EmailStr
password: str
# Properties to receive via API on update
class UserUpdate(UserBase):
password: Optional[str] = None