feat(api): роутеры API v1 и WebSocket-поток метрик (Refs #19)
- ops: health/ready/metrics без аутентификации (503 = схема Error). - auth: login/logout/session, cookie-сессия + CSRF-токен. - status/config/routing/devices+logs: все эндпоинты контракта. - ws/metrics: /api/v1/metrics/stream, токен в заголовке или query.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
"""Состояние туннеля: /api/v1/status."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from awg_api.deps import StateDep, require_token
|
||||
|
||||
router = APIRouter(prefix="/api/v1", tags=["status"], dependencies=[Depends(require_token)])
|
||||
|
||||
|
||||
@router.get("/status")
|
||||
async def get_status(state: StateDep) -> dict[str, Any]:
|
||||
return state.get_status()
|
||||
Reference in New Issue
Block a user