File size: 1,010 Bytes
20adca1
 
 
 
 
 
1f8ac0c
20adca1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from typing import Any, Dict

from app.db.database import get_db
from app.db import models, schemas
from app.core.dependencies import get_current_active_user

router = APIRouter(
    prefix="/api/sessions",
    tags=["sessions"]
)

@router.put("/iteration-status")
def update_iteration_status(

    session_update: schemas.SessionUpdate,

    current_user: models.User = Depends(get_current_active_user),

    db: Session = Depends(get_db)

) -> Dict[str, bool]:
    """Update the iteration status of the current session."""
    session = db.query(models.Session).filter(
        models.Session.user_id == current_user.id
    ).first()
    
    if not session:
        raise HTTPException(status_code=404, detail="Active session not found")
    
    session.iteration_active = session_update.iteration_active
    db.commit()
    
    return {"iteration_active": session.iteration_active}