44 lines
No EOL
4 KiB
Markdown
44 lines
No EOL
4 KiB
Markdown
# 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), чтобы избежать ошибок подключения. |