feat: implement automation module
- Event-based triggers (Phase 1): - Trigger/TriggerLog models with field_change type - TriggerService for condition evaluation and action execution - Trigger CRUD API endpoints - Task integration (status, assignee, priority changes) - Frontend: TriggerList, TriggerForm components - Weekly reports (Phase 2): - ScheduledReport/ReportHistory models - ReportService for stats generation - APScheduler for Friday 16:00 job - Report preview/generate/history API - Frontend: WeeklyReportPreview, ReportHistory components - Tests: 23 new tests (14 triggers + 9 reports) - OpenSpec: add-automation change archived 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -36,3 +36,7 @@ class User(Base):
|
||||
notifications = relationship("Notification", back_populates="user", cascade="all, delete-orphan")
|
||||
reported_blockers = relationship("Blocker", foreign_keys="Blocker.reported_by", back_populates="reporter")
|
||||
resolved_blockers = relationship("Blocker", foreign_keys="Blocker.resolved_by", back_populates="resolver")
|
||||
|
||||
# Automation relationships
|
||||
created_triggers = relationship("Trigger", back_populates="creator")
|
||||
scheduled_reports = relationship("ScheduledReport", back_populates="recipient", cascade="all, delete-orphan")
|
||||
|
||||
Reference in New Issue
Block a user