Coverage for src/schemas/user.py: 100%
25 statements
« prev ^ index » next coverage.py v7.5.4, created at 2024-07-01 22:29 +0200
« prev ^ index » next coverage.py v7.5.4, created at 2024-07-01 22:29 +0200
1from datetime import datetime
2from pydantic import BaseModel, ConfigDict, Field, EmailStr
5class UserSchema(BaseModel):
6 username: str = Field(min_length=3, max_length=50)
7 email: EmailStr
8 password: str = Field(min_length=6, max_length=10)
11class UserResponseSchema(BaseModel):
12 id: int
13 username: str
14 email: EmailStr
15 avatar: str | None
17 model_config = ConfigDict(from_attributes=True)
20class TokenSchema(BaseModel):
21 access_token: str
22 refresh_token: str
23 token_type: str = "bearer"
26class RequestEmail(BaseModel):
27 email: EmailStr
30class UserDb(BaseModel):
31 id: int
32 username: str
33 email: str
34 created_at: datetime
35 avatar: str | None
37 model_config = ConfigDict(from_attributes=True)