Spaces:
Sleeping
Sleeping
| """API routes for frontend operations.""" | |
| import json | |
| from nicegui import app | |
| from frontend.ui import get_authed_client | |
| async def update_project_status(request): | |
| """ | |
| Update project status for stage navigation. | |
| Request body: | |
| { | |
| "project_id": "uuid", | |
| "status": "Stage 1: Grouping" | "Stage 2: Building" | "Stage 3: Scoring" | |
| } | |
| """ | |
| try: | |
| # Parse JSON from request body | |
| body = await request.body() | |
| data = json.loads(body.decode('utf-8')) | |
| project_id = data.get('project_id') | |
| new_status = data.get('status') | |
| print(f"Update status request: project_id={project_id}, status={new_status}") | |
| if not project_id or not new_status: | |
| return {'error': 'Missing project_id or status'}, 400 | |
| # Get authenticated client | |
| auth_client = get_authed_client() | |
| if not auth_client: | |
| return {'error': 'Not authenticated'}, 401 | |
| # Update project status | |
| result = auth_client.table("projects") \ | |
| .update({"status": new_status}) \ | |
| .eq("id", project_id) \ | |
| .execute() | |
| print(f"Update successful") | |
| return {'success': True} | |
| except Exception as e: | |
| print(f"Error updating project status: {e}") | |
| import traceback | |
| traceback.print_exc() | |
| return {'error': str(e)}, 500 | |