29 lines
642 B
Python
29 lines
642 B
Python
|
|
"""Схемы пользователей."""
|
||
|
|
|
||
|
|
from pydantic import BaseModel, EmailStr
|
||
|
|
|
||
|
|
|
||
|
|
class UserCreate(BaseModel):
|
||
|
|
email: EmailStr
|
||
|
|
password: str # min 12 chars
|
||
|
|
role: str = "freelancer" # client | freelancer | both
|
||
|
|
full_name: str | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class UserLogin(BaseModel):
|
||
|
|
email: EmailStr
|
||
|
|
password: str
|
||
|
|
|
||
|
|
|
||
|
|
class UserProfileUpdate(BaseModel):
|
||
|
|
full_name: str | None = None
|
||
|
|
avatar_url: str | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class FreelancerProfileCreate(BaseModel):
|
||
|
|
bio: str | None = None
|
||
|
|
skills: list[str] = []
|
||
|
|
hourly_rate: float | None = None
|
||
|
|
experience_years: int | None = None
|
||
|
|
languages: list[str] = []
|