from datetime import datetime from pydantic import BaseModel, Field class LearnerCreate(BaseModel): phone: str = Field(min_length=6, max_length=32) current_name: str = Field(min_length=1, max_length=64) student_no: str | None = Field(default=None, max_length=64) remark: str | None = None class LearnerUpdate(BaseModel): phone: str = Field(min_length=6, max_length=32) current_name: str = Field(min_length=1, max_length=64) student_no: str | None = Field(default=None, max_length=64) status: str = Field(default="active", pattern="^(active|disabled|deleted)$") remark: str | None = None class LearnerOut(BaseModel): id: int phone: str current_name: str student_no: str | None status: str remark: str | None created_at: datetime updated_at: datetime model_config = {"from_attributes": True}