Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, EmailStr | |
| from typing import Optional | |
| from datetime import datetime | |
| class RegisterRequest(BaseModel): | |
| """ | |
| Schema for user registration request. | |
| Attributes: | |
| email: User's email address (must be valid email format) | |
| password: User's password (minimum 8 characters will be validated in endpoint) | |
| """ | |
| email: EmailStr | |
| password: str | |
| class RegisterResponse(BaseModel): | |
| """ | |
| Schema for user registration response. | |
| Attributes: | |
| id: Unique identifier of the created user | |
| email: Email address of the created user | |
| created_at: Timestamp when the user was created | |
| """ | |
| id: str # UUID as string | |
| email: EmailStr | |
| created_at: datetime | |
| class LoginRequest(BaseModel): | |
| """ | |
| Schema for user login request. | |
| Attributes: | |
| email: User's email address | |
| password: User's password | |
| """ | |
| email: EmailStr | |
| password: str | |
| class LoginResponse(BaseModel): | |
| """ | |
| Schema for user login response. | |
| Attributes: | |
| access_token: JWT token for authentication | |
| token_type: Type of token (usually "bearer") | |
| user_id: Unique identifier of the authenticated user | |
| email: Email address of the authenticated user | |
| """ | |
| access_token: str | |
| token_type: str | |
| user_id: str # UUID as string | |
| email: EmailStr |