from fastapi import APIRouter from app.logic.project_logic import ( create, delete, get_all, get_by_id, get_with_parent, update, ) from app.models.project import Project router = APIRouter(prefix="/projects", tags=["projects"]) @router.get("/") def get_default(): return {"message": "Root for Projects API"} @router.get("/all") def get_all_projects(): return get_all() @router.get("/{project_id}") def get_project_by_id(project_id: int): return get_by_id(project_id) @router.get("/parent/{parent_id}") def get_project_by_parent_id(parent_id: int): return get_with_parent(parent_id) @router.post("/") def create_project(project: Project): return create(project) @router.put("/{project_id}") def update_project( project_id: int, update_attribute: str, new_value: str | int | None, ): return update( project_id, update_attribute, new_value, ) @router.delete("/{project_id}") def delete_project(project_id: int): return delete(project_id)