Рефакторинг API-слоя, операций и БД

This commit is contained in:
2026-07-31 17:13:54 +04:00
parent 82a3be2067
commit 0783319fd1
15 changed files with 986 additions and 257 deletions
+20 -5
View File
@@ -1,5 +1,10 @@
"""
Операции с сервисами Nubes — получение списка и деталей через API.
Используется:
- main.py → список сервисов для UI
- api_test.py → операции сервиса (modify/delete/...)
- scenario.py → поиск svcOperationId для операции
"""
from api.http_client import HttpClient
@@ -7,16 +12,26 @@ from api.http_client import HttpClient
def get_services(client):
"""GET /services → список ВСЕХ сервисов пользователя.
Возвращает list[dict], каждый с ключами: svcId, svc, svcExtendedName, operations, ..."""
Возвращает list[dict], каждый с ключами:
svcId, svc (короткое имя), svcExtendedName (полное имя), operations[]
operations — это ДОСТУПНЫЕ операции, не путать с запущенными."""
data = client.get("/services")
return data.get("results", [])
def get_service_detail(client, svc_id):
"""GET /services/{svcId} → детали одного сервиса.
Возвращает dict с ключами: svc, operations[], ...
operations — список доступных операций (create, modify, delete, ...)."""
Возвращает dict с ключами:
svc, svcShort, operations[]
operations — список доступных операций:
[{svcOperationId, operation, isCreate, ...}, ...]
svcOperationId — ЧИСЛОВОЙ ID операции, нужен для:
- POST /instanceOperations (поле svcOperationId)
- GET /instanceOperations/default/{svcOperationId} (шаблон параметров)"""
data = client.get(f"/services/{svc_id}")
return data.get("svc", {})