2025-10-14 11:42:57 +05:00
|
|
|
|
"""
|
|
|
|
|
|
Маршрутизация 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 и пр.).
|
|
|
|
|
|
|
|
|
|
|
|
Назначение:
|
|
|
|
|
|
- Централизованная точка подключения доменных роутеров к приложению.
|
|
|
|
|
|
- Единообразие тегов и префиксов для автогенерации схемы и документации.
|
|
|
|
|
|
"""
|
2025-06-09 10:17:12 +05:00
|
|
|
|
from fastapi import APIRouter
|
2025-06-23 15:19:56 +05:00
|
|
|
|
from .v1 import ufw, websocket, ip, network, auth, subnet, settings
|
2025-06-09 10:17:12 +05:00
|
|
|
|
|
|
|
|
|
|
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"])
|
|
|
|
|
|
|
2025-06-12 16:32:05 +05:00
|
|
|
|
router.include_router(subnet.router, prefix="/subnet", tags=["Subnet"])
|
2025-06-23 15:19:56 +05:00
|
|
|
|
|
|
|
|
|
|
router.include_router(settings.router, prefix="/settings", tags=["Settings"])
|