Files
piaps-course-work-university/backend/app/schemas/user.py

41 lines
1.2 KiB
Python

from pydantic import (
Field,
)
from app.models.user import UserRole
from .general import EmailSchema, PasswordSchema
class UserBaseSchema(EmailSchema):
name: str = Field(
min_length=3, max_length=50, description="Имя, от 3 до 50 символов"
)
surname: str = Field(
min_length=3, max_length=50, description="Фамилия, от 3 до 50 символов"
)
patronymic: str = Field(
min_length=3,
max_length=50,
description="Отчество, от 3 до 50 символов",
default=None,
)
role: UserRole = Field(description="Роль пользователя в системе", default=UserRole.GUEST)
class UserCreateSchema(PasswordSchema, UserBaseSchema):
pass
class UserAddDBSchema(UserBaseSchema):
password: str = Field(min_length=5, description="Пароль в формате HASH-строки")
class UserAuthSchema(EmailSchema):
password: str = Field(
min_length=5, max_length=50, description="Пароль, от 5 до 50 знаков"
)
class UserSchema(UserBaseSchema):
id: int = Field(description="Идентификатор пользователя")