diff --git a/ui/src/api/generated/schema.d.ts b/ui/src/api/generated/schema.d.ts new file mode 100644 index 0000000..7070caf --- /dev/null +++ b/ui/src/api/generated/schema.d.ts @@ -0,0 +1,311 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/api/v1/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Liveness-проба */ + get: operations["getHealth"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/ready": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Readiness-проба (готовность агента и зависимостей) */ + get: operations["getReady"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Метрики в формате Prometheus text exposition */ + get: operations["getPrometheusMetrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Сводный статус шлюза, туннеля и GeoIP */ + get: operations["getStatus"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Текущая конфигурация (без секретов) */ + get: operations["getConfig"]; + /** Атомарное применение конфигурации (validate → staging → apply → rollback) */ + put: operations["putConfig"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/config/validate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Сухая валидация конфигурации без применения */ + post: operations["validateConfig"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/routing/rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Список правил маршрутизации */ + get: operations["listRoutingRules"]; + put?: never; + /** Создать правило маршрутизации */ + post: operations["createRoutingRule"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/routing/rules/{rule_id}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description Идентификатор правила */ + rule_id: components["parameters"]["RuleId"]; + }; + cookie?: never; + }; + /** Правило по идентификатору */ + get: operations["getRoutingRule"]; + /** Изменить правило */ + put: operations["updateRoutingRule"]; + post?: never; + /** Удалить правило */ + delete: operations["deleteRoutingRule"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/routing/mode": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Переключить режим split-tunnel */ + put: operations["putRoutingMode"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/routing/geoip/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Обновить снапшот GeoIP (RIPE Stat → локальный кэш) */ + post: operations["updateGeoIp"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/routing/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Импорт .conf / JSON (пиры и правила) */ + post: operations["importRoutingConfig"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/metrics/stream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * WebSocket-поток метрик и статуса + * @description WebSocket-апгрейд на том же пути. Клиент передаёт токен либо заголовком + * `Authorization: Bearer *** либо query-параметром `token`. + * Сервер отправляет текстовые JSON-кадры схемы `WsFrame`; при `type=metrics` + * поле `data` соответствует `MetricsSample`, при `type=status` — `StatusResponse`, + * при `type=error` — `Error`. + */ + get: operations["streamMetrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/devices": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Устройства за шлюзом */ + get: operations["listDevices"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Журнал событий */ + get: operations["listLogs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/auth/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Аутентификация (сессия UI + токен API) */ + post: operations["login"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/auth/logout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Завершить сессию */ + post: operations["logout"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/v1/auth/session": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Текущая сессия и CSRF-токен */ + get: operations["getAuthSession"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +// __CHUNK__