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

1from datetime import datetime 

2from pydantic import BaseModel, ConfigDict, Field, EmailStr 

3 

4 

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) 

9 

10 

11class UserResponseSchema(BaseModel): 

12 id: int 

13 username: str 

14 email: EmailStr 

15 avatar: str | None 

16 

17 model_config = ConfigDict(from_attributes=True) 

18 

19 

20class TokenSchema(BaseModel): 

21 access_token: str 

22 refresh_token: str 

23 token_type: str = "bearer" 

24 

25 

26class RequestEmail(BaseModel): 

27 email: EmailStr 

28 

29 

30class UserDb(BaseModel): 

31 id: int 

32 username: str 

33 email: str 

34 created_at: datetime 

35 avatar: str | None 

36 

37 model_config = ConfigDict(from_attributes=True)