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