40 lines
619 B
Python
40 lines
619 B
Python
from dataclasses import dataclass
|
|
from typing import Optional
|
|
|
|
|
|
@dataclass
|
|
class User:
|
|
"""User model for API requests and responses"""
|
|
|
|
email: str
|
|
password: str
|
|
display_name: str
|
|
id: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class RegisterRequest:
|
|
"""Request payload for /auth/register endpoint"""
|
|
|
|
email: str
|
|
password: str
|
|
display_name: str
|
|
|
|
|
|
@dataclass
|
|
class LoginRequest:
|
|
"""Request payload for /auth/login endpoint"""
|
|
|
|
email: str
|
|
password: str
|
|
|
|
|
|
@dataclass
|
|
class AuthResponse:
|
|
"""Response from authentication endpoints"""
|
|
|
|
success: bool
|
|
message: str
|
|
user: Optional[User] = None
|
|
token: Optional[str] = None
|