feat(web): add OpenAPI TypeScript codegen and CI freshness check

Генерируем api.gen.ts из docs/openapi.yaml (openapi-typescript), добавляем scripts/check-openapi-gen.sh в CI. Закрываем решение по X-Tenant-Id как unimplemented; обновляем docs/README под React/ReUI и apps/web.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-07-31 12:19:02 +07:00
co-authored by Cursor
parent a0cfbcdab1
commit 13e3d21ce2
9 changed files with 6782 additions and 32 deletions
+2 -1
View File
@@ -19,7 +19,8 @@ info:
**Роли API key** (матрица): `viewer`, `editor`, `operator`, `node`. Нода использует отдельные пути и ключ с ролью `node`.
JWT permissions мапятся на ту же лестницу (`:read`→viewer, `:write`→editor, `:admin`→operator).
Заголовок `X-Tenant-Id` допускается только для супер-ролей (явный tenant); иначе tenant берётся из API-ключа / portal tenant env.
Заголовок `X-Tenant-Id`: **не реализован в handlers** (документировано в docs/access.md).
Tenant всегда из API-ключа / portal JWT claim / `EVOBGP_PORTAL_TENANT_ID`. Спецификация сохраняет заголовок как reserved future; не полагаться на него в клиентах.
license:
name: Proprietary
identifier: LicenseRef-Proprietary