38 lines
2.5 KiB
Python
38 lines
2.5 KiB
Python
"""
|
||
Маршрутизация API-версии v1 для GONETS.
|
||
|
||
Модуль агрегирует и монтирует роутеры отдельных доменных областей под общим
|
||
корневым роутером. Каждый подключенный модуль предоставляет набор эндпоинтов
|
||
со своим префиксом и тегами для группировки в документации FastAPI.
|
||
|
||
Структура маршрутов:
|
||
- `/ufw` (UFW): управление правилами и состоянием Uncomplicated Firewall.
|
||
- `/ip` (IP): проверки и применение IP-конфигураций для сетевых профилей.
|
||
- `/network` (Network): получение и визуализация состояния интерфейсов,
|
||
управление позициями UI-контейнеров.
|
||
- `/auth` (Auth): регистрация, аутентификация (JWT), сессии.
|
||
- `/subnet` (Subnet): сканирование подсетей, заметки к устройствам,
|
||
взаимодействие с Wi‑Fi (скан/подключение/отключение/статус).
|
||
- `WebSocket`: обработчики взаимодействия по WS (без префикса, путь внутри
|
||
модуля), периодическая трансляция сетевых данных.
|
||
- `/settings` (Settings): сервисные операции над локальными JSON‑хранилищами
|
||
(очистка данных подсетей/wi‑fi и пр.).
|
||
|
||
Назначение:
|
||
- Централизованная точка подключения доменных роутеров к приложению.
|
||
- Единообразие тегов и префиксов для автогенерации схемы и документации.
|
||
"""
|
||
from fastapi import APIRouter
|
||
from .v1 import ufw, websocket, ip, network, auth, subnet, settings
|
||
|
||
router = APIRouter()
|
||
|
||
router.include_router(ufw.router, prefix="/ufw", tags=["UFW"])
|
||
router.include_router(websocket.router, tags=["WebSocket"])
|
||
router.include_router(ip.router, prefix="/ip", tags=["IP"])
|
||
router.include_router(network.router, prefix="/network", tags=["Network"])
|
||
router.include_router(auth.router, prefix="/auth", tags=["Auth"])
|
||
|
||
router.include_router(subnet.router, prefix="/subnet", tags=["Subnet"])
|
||
|
||
router.include_router(settings.router, prefix="/settings", tags=["Settings"])
|