| from dataclasses import dataclass, field | |
| from datetime import date, datetime | |
| from typing import Optional | |
| class Page: | |
| id: str | |
| user_id: str | |
| title: str | |
| date: date | |
| raw_text: str | |
| annotations: dict = field(default_factory=dict) | |
| created_at: Optional[datetime] = None | |
| class Exercise: | |
| id: str | |
| user_id: str | |
| page_id: Optional[str] | |
| kind: str # 'text' | 'dialogue' | 'visual' | 'pronunciation' | |
| prompt: Optional[str] = None | |
| model_answer: Optional[str] = None | |
| content: dict = field(default_factory=dict) | |
| created_at: Optional[datetime] = None | |