Добавлен API registry проектов
Этот коммит содержится в:
@@ -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,
|
||||||
|
}
|
||||||
Ссылка в новой задаче
Block a user