Files
embeddevio e989e46b19
contract-openapi / openapi-contract (push) Failing after 0s
contract-openapi / ts-client-is-current (push) Failing after 0s
contract-openapi / openapi-contract (pull_request) Failing after 0s
contract-openapi / ts-client-is-current (pull_request) Failing after 1s
chore(ui): generated TS client schema.d.ts (block 5/5: operations tail)
2026-10-28 21:12:09 +03:00
..

ui/src/api/generated — сгенерированный API-клиент

Файлы в этой папке не редактируются руками.

Файл Источник
schema.d.ts docs/openapi.yaml (контракт API v1, issue #19) через openapi-typescript@7

Перегенерация

bash ui/scripts/generate-api.sh

Требуется Node.js >= 20. CI-джоба ts-client-is-current повторяет генерацию и падает, если закоммиченный файл расходится со спецификацией.

Секреты

Поля private_key (TunnelConfig), preshared_key (PeerConfig) и password (AuthLoginRequest) помечены в контракте writeOnly:

  • их можно передавать в запросах (PUT /api/v1/config, POST /api/v1/auth/login);
  • их нельзя ожидать в ответах — сервер обязан их вырезать (см. контрактный тест backend/tests/test_contract_responses.py::test_responses_contain_no_secret_material).

Поэтому UI читает секреты только из полей ввода и никогда не рендерит их из ответов API.