28 lines
638 B
Python
28 lines
638 B
Python
from fastapi import APIRouter
|
|
|
|
from app.logic.project_logic import create, get_all, get_by_id, get_with_parent
|
|
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(parent: int | None = None):
|
|
if parent:
|
|
return get_with_parent(parent)
|
|
return get_all()
|
|
|
|
|
|
@router.get("/project/{project_id}")
|
|
def get_project_by_id(project_id: int):
|
|
return get_by_id(project_id)
|
|
|
|
|
|
@router.post("/")
|
|
def create_project(project: Project):
|
|
return create(project)
|