diff --git a/backend/app/models/ai_session.py b/backend/app/models/ai_session.py index 3cc3f11d..0c10d9db 100644 --- a/backend/app/models/ai_session.py +++ b/backend/app/models/ai_session.py @@ -253,10 +253,12 @@ class AISession(Base): ) handoffs: Mapped[list["SessionHandoff"]] = relationship( "SessionHandoff", + back_populates="session", cascade="all, delete-orphan", order_by="SessionHandoff.created_at", ) resolution_outputs: Mapped[list["SessionResolutionOutput"]] = relationship( "SessionResolutionOutput", + back_populates="session", cascade="all, delete-orphan", ) diff --git a/backend/app/models/session_handoff.py b/backend/app/models/session_handoff.py index fe679353..0fd53128 100644 --- a/backend/app/models/session_handoff.py +++ b/backend/app/models/session_handoff.py @@ -44,7 +44,7 @@ class SessionHandoff(Base): created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc)) # Relationships - session: Mapped["AISession"] = relationship("AISession", foreign_keys=[session_id]) + session: Mapped["AISession"] = relationship("AISession", foreign_keys=[session_id], back_populates="handoffs") handed_off_by_user: Mapped["User"] = relationship("User", foreign_keys=[handed_off_by]) source_branch: Mapped[Optional["SessionBranch"]] = relationship("SessionBranch", foreign_keys=[source_branch_id]) claimed_by_user: Mapped[Optional["User"]] = relationship("User", foreign_keys=[claimed_by]) diff --git a/backend/app/models/session_resolution_output.py b/backend/app/models/session_resolution_output.py index 83803593..cb56fa42 100644 --- a/backend/app/models/session_resolution_output.py +++ b/backend/app/models/session_resolution_output.py @@ -36,4 +36,4 @@ class SessionResolutionOutput(Base): updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc), onupdate=lambda: datetime.now(timezone.utc)) # Relationships - session = relationship("AISession", foreign_keys="SessionResolutionOutput.session_id") + session = relationship("AISession", foreign_keys="SessionResolutionOutput.session_id", back_populates="resolution_outputs")