user.py 659 B

12345678910111213141516171819202122232425262728
  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 PinUserRequest(BaseModel):
  10. pin: str = Field(min_length=4, max_length=4, description="4-digit PIN for user authentication")
  11. class User(BaseModel):
  12. """User model matching the database schema"""
  13. id: int
  14. email: str
  15. name: str
  16. rut: str
  17. pin_hash: str
  18. kleincoins: str
  19. created_at: str
  20. class LoginRequest(BaseModel):
  21. email: str
  22. pin: str = Field(min_length=4, max_length=4, description="4-digit PIN for user authentication")