Implement session outcomes, step timing, and live timer fixes
This commit is contained in:
@@ -10,7 +10,16 @@ from app.core.database import get_db
|
||||
from app.models.tree import Tree
|
||||
from app.models.session import Session
|
||||
from app.models.user import User
|
||||
from app.schemas.session import SessionCreate, SessionUpdate, SessionResponse, SessionExport, ScratchpadUpdate, SaveAsTreeRequest, SaveAsTreeResponse
|
||||
from app.schemas.session import (
|
||||
SessionCreate,
|
||||
SessionUpdate,
|
||||
SessionResponse,
|
||||
SessionExport,
|
||||
ScratchpadUpdate,
|
||||
SaveAsTreeRequest,
|
||||
SaveAsTreeResponse,
|
||||
SessionComplete,
|
||||
)
|
||||
from app.api.deps import get_current_active_user
|
||||
from app.core.permissions import can_access_tree
|
||||
from app.services.export_service import generate_markdown_export, generate_text_export, generate_html_export, generate_psa_export
|
||||
@@ -198,6 +207,7 @@ async def update_session(
|
||||
@router.post("/{session_id}/complete", response_model=SessionResponse)
|
||||
async def complete_session(
|
||||
session_id: UUID,
|
||||
completion_data: SessionComplete,
|
||||
db: Annotated[AsyncSession, Depends(get_db)],
|
||||
current_user: Annotated[User, Depends(get_current_active_user)]
|
||||
):
|
||||
@@ -224,6 +234,8 @@ async def complete_session(
|
||||
)
|
||||
|
||||
session.completed_at = datetime.now(timezone.utc)
|
||||
session.outcome = completion_data.outcome
|
||||
session.outcome_notes = completion_data.outcome_notes
|
||||
await db.commit()
|
||||
await db.refresh(session)
|
||||
return session
|
||||
|
||||
Reference in New Issue
Block a user