添加后端API和前端项目的初始目录结构,包括应用层模块、工具模块和模型定义 配置前后端的.dockerignore文件以排除开发环境文件 添加前端样式文件,包括字体、Tailwind CSS和主题配置 初始化Python虚拟环境中的类型标记文件
31 lines
965 B
Python
31 lines
965 B
Python
from datetime import datetime, timezone
|
|
from typing import Optional
|
|
|
|
from beanie import Document, PydanticObjectId
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class CheckupItem(BaseModel):
|
|
title: str
|
|
week: int
|
|
date: Optional[str] = None
|
|
items: list[str] = Field(default_factory=list)
|
|
preparations: list[str] = Field(default_factory=list)
|
|
notes: str = ""
|
|
status: str = "upcoming" # upcoming / completed / missed
|
|
importance: str = "medium" # high / medium / low
|
|
report_ids: list[str] = Field(default_factory=list) # linked report IDs
|
|
|
|
|
|
class CheckupPlan(Document):
|
|
user_id: PydanticObjectId
|
|
checkups: list[CheckupItem] = Field(default_factory=list)
|
|
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
updated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
|
|
|
class Settings:
|
|
name = "checkup_plans"
|
|
indexes = [
|
|
"user_id",
|
|
]
|