- Add 📝 Agenda button to each block in Today's Schedule on the Dashboard - Dialog allows setting a free-text activity/note for that block for the current day - Agenda replaces subject options in the TV center panel while set; clears on session end - Backend: new SessionBlockAgenda model, PUT /api/sessions/{id}/blocks/{block_id}/agenda - Agendas included in dashboard snapshot and session_update WS broadcast - New agenda_update WS event keeps TV in sync live when agenda is saved or cleared - Update README with feature description, project structure, and WS event table Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
34 lines
1.0 KiB
Python
34 lines
1.0 KiB
Python
# Import all models here so Alembic can discover them via Base.metadata
|
|
from app.models.base import Base, TimestampMixin
|
|
from app.models.user import User
|
|
from app.models.child import Child
|
|
from app.models.subject import Subject, SubjectOption
|
|
from app.models.schedule import ScheduleTemplate, ScheduleBlock
|
|
from app.models.session import DailySession, TimerEvent, TimerEventType
|
|
from app.models.activity import ActivityLog
|
|
from app.models.morning_routine import MorningRoutineItem
|
|
from app.models.break_activity import BreakActivityItem
|
|
from app.models.strike import StrikeEvent
|
|
from app.models.rule import RuleItem
|
|
from app.models.session_block_agenda import SessionBlockAgenda
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"TimestampMixin",
|
|
"User",
|
|
"Child",
|
|
"Subject",
|
|
"SubjectOption",
|
|
"ScheduleTemplate",
|
|
"ScheduleBlock",
|
|
"DailySession",
|
|
"TimerEvent",
|
|
"TimerEventType",
|
|
"ActivityLog",
|
|
"MorningRoutineItem",
|
|
"BreakActivityItem",
|
|
"StrikeEvent",
|
|
"RuleItem",
|
|
"SessionBlockAgenda",
|
|
]
|