user.py 525 B

12345678910111213141516171819202122232425
  1. from typing import Optional
  2. from pydantic import BaseModel, Field
  3. class UserIDRequest(BaseModel):
  4. id: int
  5. class RegisterUserRequest(BaseModel):
  6. name: str
  7. email: str
  8. rut: str
  9. class User(BaseModel):
  10. """User model matching the database schema"""
  11. id: int
  12. email: str
  13. name: str
  14. rut: str
  15. pin_hash: str
  16. kleincoins: str
  17. created_at: str
  18. class LoginRequest(BaseModel):
  19. email: str
  20. pin: str = Field(min_length=4, max_length=4, description="4-digit PIN for user authentication")