GitHub Actions
Deploy v0.0.1 from GitHub Actions
314b374
from pydantic import BaseModel, Field
from typing import List, Optional
from datetime import datetime
class HealthProfile(BaseModel):
age: Optional[int] = Field(None, ge=1, le=120)
sex: Optional[str] = Field(None, pattern="^(male|female|other)$")
height_cm: Optional[float] = Field(None, ge=50, le=300)
weight_kg: Optional[float] = Field(None, ge=10, le=500)
is_diabetic: bool = False
is_hypertensive: bool = False
is_smoker: bool = False
family_history: bool = False
known_conditions: List[str] = Field(default_factory=list)
medications: List[str] = Field(default_factory=list)
class UserRegister(BaseModel):
email: str = Field(..., min_length=5, max_length=100)
password: str = Field(..., min_length=6, max_length=100)
name: str = Field(..., min_length=1, max_length=100)
class UserLogin(BaseModel):
email: str
password: str
class UserResponse(BaseModel):
id: str
email: str
name: str
device_ids: List[str] = Field(default_factory=list)
profile: Optional[HealthProfile] = None
created_at: datetime
class TokenResponse(BaseModel):
access_token: str
token_type: str = "bearer"