GonetsDocs/Documentation/API.md
2025-10-14 16:19:35 +05:00

44 lines
No EOL
4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# API
Клиентская часть приложения взаимодействует с сервером через HTTPS-запросы и WebSocket-соединение. Большинство запросов могут выполняться с любого подключённого узла (например, https://192.168.1.147:8001/ip/check_ip), за исключением запроса /network/get_hostname, который ограничен локальным хостом (localhost:8001), так как возвращает hostname корневого устройства, с которого запущен клиент.
Все HTTPS-запросы реализованы в файле /src/api/request.ts. WebSocket-соединение для работы с сетевыми интерфейсами настроено в файле /src/components/workSpace/modules/workModules/networkInterfaces.tsx.
(По-хорошему настройку WebSocket подключения нужно будет переносить тоже в /src/api, так будет лучше, когда будет писаться больше модулей рабочего пространства)
Список API-запросов
1. Проверка доступности IP-адреса
- Эндпоинт: https://<host>:8001/ip/check_ip
- Описание: Проверяет доступность указанного IP-адреса.
2. Сохранение изменений IP-адреса
- Эндпоинт: https://<host>:8001/ip/apply_ip
- Описание: Применяет изменения конфигурации IP-адреса.
3. Получение hostname корневого устройства
- Эндпоинт: https://localhost:8001/network/get_hostname
- Описание: Возвращает hostname устройства, с которого запущен клиент. Запрос ограничен локальным хостом.
4. Регистрация пользователя
- Эндпоинт: https://<host>:8001/auth/register
- Описание: Создаёт нового пользователя (устанавливает пароль оператора).
5. Авторизация пользователя
- Эндпоинт: https://<host>:8001/auth/login
- Описание: Выполняет вход пользователя, повышая его права до уровня оператора.
6. Выход пользователя
- Эндпоинт: https://<host>:8001/auth/logout
- Описание: Выполняет выход пользователя, снижая его права.
7. Проверка прав пользователя
- Эндпоинт: https://<host>:8001/auth/me
- Описание: Проверяет текущие права авторизованного пользователя.
8. Проверка наличия пользователя
- Эндпоинт: https://<host>:8001/auth/check_json
- Описание: Проверяет, существует ли пользователь на устройстве.
WebSocket-соединение
- Эндпоинт: wss://<host>:8001/api/v1
- Описание: Устанавливает WebSocket-соединение для получения данных о сетевых интерфейсах в реальном времени. Реализовано в файле /src/components/workSpace/modules/workModules/networkInterfaces.tsx.
Замечания для разработки и тестирования
- В режиме разработки (npm run dev) можно переключать протоколы с https на http и с wss на ws, если сервер настроен на поддержку HTTP-запросов.
- Убедитесь, что сервер работает в соответствующем режиме (HTTP или HTTPS), чтобы избежать ошибок подключения.