diff --git a/backend/projects_api.py b/backend/projects_api.py new file mode 100644 index 0000000..de9596f --- /dev/null +++ b/backend/projects_api.py @@ -0,0 +1,36 @@ +from fastapi import APIRouter +from pydantic import BaseModel + +from backend.projects_registry import load_projects, save_project + +router = APIRouter(prefix='/api/projects', tags=['projects']) + + +class ProjectRegistryRequest(BaseModel): + name: str + repo_url: str + workspace: str + stack: str | None = None + + +@router.get('/list') +async def projects_list(): + return { + 'success': True, + 'projects': load_projects(), + } + + +@router.post('/register') +async def register_project(payload: ProjectRegistryRequest): + projects = save_project({ + 'name': payload.name, + 'repo_url': payload.repo_url, + 'workspace': payload.workspace, + 'stack': payload.stack, + }) + + return { + 'success': True, + 'projects': projects, + }