add auth user pydantic schemas

This commit is contained in:
Jakub Miazek
2023-07-24 12:51:55 +02:00
parent d13d5abcda
commit 603225a0de
+34
View File
@@ -0,0 +1,34 @@
from uuid import UUID
from pydantic import BaseModel, Field, EmailStr, ConfigDict
config = ConfigDict(from_attributes=True)
# TODO: add pydantic field validator for strong password
class UserSchema(BaseModel):
model_config = config
email: EmailStr = Field(title="User’s email", description="User’s email")
first_name: str = Field(title="User’s first name", description="User’s first name")
last_name: str = Field(title="User’s last name", description="User’s last name")
password: str = Field(title="User’s password", description="User’s password")
class UserResponse(BaseModel):
uuid: UUID = Field(title="User’s id", description="User’s id")
email: EmailStr = Field(title="User’s email", description="User’s email")
first_name: str = Field(title="User’s first name", description="User’s first name")
last_name: str = Field(title="User’s last name", description="User’s last name")
access_token: str = Field(title="User’s token", description="User’s token")
class TokenResponse(BaseModel):
access_token: str = Field(title="User’s access token", description="User’s access token")
token_type: str = Field(title="User’s token type", description="User’s token type")
class UserLogin(BaseModel):
model_config = config
email: EmailStr = Field(title="User’s email", description="User’s email")
password: str = Field(title="User’s password", description="User’s password")