Record a StrikeEvent row whenever a strike is added or removed, and surface them in the activity log timeline with timestamp, child name, and whether the strike was added or removed. - New strike_events table (auto-created on startup) - children router records prev/new strikes on every update - GET /api/logs/strikes and DELETE /api/logs/strikes/:id endpoints - Log view merges strike entries into the timeline (red dot, "✕ Strike added (2/3)" / "↩ Strike removed (1/3)") Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
718 B
Python
26 lines
718 B
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.strike import StrikeEvent
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"TimestampMixin",
|
|
"User",
|
|
"Child",
|
|
"Subject",
|
|
"SubjectOption",
|
|
"ScheduleTemplate",
|
|
"ScheduleBlock",
|
|
"DailySession",
|
|
"TimerEvent",
|
|
"TimerEventType",
|
|
"ActivityLog",
|
|
"StrikeEvent",
|
|
]
|