Spaces:
Sleeping
Sleeping
| from fastapi import APIRouter, status | |
| from app.core.errors import not_found | |
| from app.schemas.common import StatusMessage | |
| from app.schemas.project import ProjectCreate, ProjectCreateResponse, ProjectDetail, ProjectListItem | |
| from app.services import project_service | |
| router = APIRouter(prefix="/projects", tags=["projects"]) | |
| def list_projects() -> list[dict]: | |
| return project_service.list_projects() | |
| def create_project(payload: ProjectCreate) -> dict: | |
| return project_service.create_project(payload.name, payload.description) | |
| def get_project(project_id: str) -> dict: | |
| project = project_service.get_project(project_id) | |
| if not project: | |
| not_found("project_not_found", "项目不存在") | |
| return project | |
| def delete_project(project_id: str) -> dict: | |
| deleted = project_service.delete_project(project_id) | |
| if not deleted: | |
| not_found("project_not_found", "项目不存在") | |
| return {"status": "success", "message": "项目已成功删除"} | |