From 9c8852368230ba475dca77e7751660e2f78b5649 Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 24 Jul 2026 11:24:23 +0200 Subject: [PATCH] Revert "API: generate /api/state documentation from UI types" (#32109) --- .github/workflows/documentation.yml | 2 +- .github/workflows/openapi-validate.yml | 3 +- .gitignore | 1 - .../components/ChargingPlans/ChargingPlan.vue | 4 +- .../ChargingPlans/ChargingPlanModal.vue | 8 +- .../components/ChargingPlans/PlanStrategy.vue | 2 +- .../ChargingPlans/PlansRepeatingSettings.vue | 2 +- .../ChargingPlans/PlansSettings.vue | 16 +- .../js/components/ChargingPlans/Warnings.vue | 3 +- assets/js/components/ChargingPlans/types.d.ts | 39 + assets/js/components/Forecast/Chart.vue | 3 +- assets/js/components/Forecast/GridDetails.vue | 3 +- assets/js/components/Forecast/PriceChart.vue | 3 +- assets/js/components/Forecast/SolarChart.vue | 2 +- .../js/components/Forecast/SolarDetails.vue | 2 +- assets/js/components/Forecast/ValueChart.vue | 2 +- .../js/components/Forecast/ValueDetails.vue | 2 +- assets/js/components/Forecast/echarts.ts | 2 +- assets/js/components/Forecast/types.ts | 27 + assets/js/components/Loadpoints/Loadpoint.vue | 2 +- .../js/components/Tariff/SmartCostLimit.vue | 3 +- assets/js/components/Vehicles/Title.vue | 2 +- assets/js/components/Vehicles/Vehicle.vue | 2 +- assets/js/types/evcc.ts | 630 +- assets/js/utils/forecast.ts | 2 +- cmd/openapi/openapi.go | 28 + eslint.config.mts | 1 - go.mod | 1 + package-lock.json | 412 +- package.json | 10 +- scripts/state-schema/index.ts | 33 - scripts/state-schema/openapi.ts | 40 - scripts/state-schema/schemas.ts | 221 - scripts/state-schema/validate.ts | 114 - server/mcp/openapi.json | 8451 ++++++----------- server/mcp/openapi.md | 44 +- server/openapi.go | 3 +- server/openapi.state.yaml | 1818 ---- server/openapi.yaml | 117 +- server/openapi_test.go | 1 - tests/state-api.spec.ts | 28 - tsconfig.json | 2 +- 42 files changed, 3359 insertions(+), 8732 deletions(-) create mode 100644 assets/js/components/ChargingPlans/types.d.ts create mode 100644 assets/js/components/Forecast/types.ts create mode 100644 cmd/openapi/openapi.go delete mode 100644 scripts/state-schema/index.ts delete mode 100644 scripts/state-schema/openapi.ts delete mode 100644 scripts/state-schema/schemas.ts delete mode 100644 scripts/state-schema/validate.ts delete mode 100644 server/openapi.state.yaml delete mode 100644 tests/state-api.spec.ts diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index f5dc4598c..37d36e1a4 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -58,7 +58,7 @@ jobs: - name: Prepare OpenAPI spec run: | mkdir -p ./openapi-deploy - npx --yes @redocly/cli@2 bundle ./server/openapi.yaml -o ./openapi-deploy/openapi.yaml + cp ./server/openapi.yaml ./openapi-deploy/openapi.yaml - name: Deploy OpenAPI spec to docs repo uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4 diff --git a/.github/workflows/openapi-validate.yml b/.github/workflows/openapi-validate.yml index 3a6176d76..6e0999ad6 100644 --- a/.github/workflows/openapi-validate.yml +++ b/.github/workflows/openapi-validate.yml @@ -8,7 +8,6 @@ on: pull_request: paths: - "server/openapi.yaml" - - "server/openapi.state.yaml" - ".github/workflows/openapi-validate.yml" jobs: @@ -23,4 +22,4 @@ jobs: with: go-version: stable - name: Validate OpenAPI spec - run: go run github.com/getkin/kin-openapi/cmd/validate@v0.133.0 -ext -- server/openapi.yaml + run: go run github.com/getkin/kin-openapi/cmd/validate@v0.133.0 -- server/openapi.yaml diff --git a/.gitignore b/.gitignore index dd0405372..48573ca2a 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,6 @@ testdata/**/* !assets/js/**/*.yaml !package*.json !evcc.dist.yaml -!server/openapi.state.yaml !.coderabbit.yaml !tests/**/*.evcc.yaml !tests/**/*.tpl.yaml diff --git a/assets/js/components/ChargingPlans/ChargingPlan.vue b/assets/js/components/ChargingPlans/ChargingPlan.vue index 96eeda0bc..ab3edd481 100644 --- a/assets/js/components/ChargingPlans/ChargingPlan.vue +++ b/assets/js/components/ChargingPlans/ChargingPlan.vue @@ -38,7 +38,9 @@ import formatter from "@/mixins/formatter"; import minuteTicker from "@/mixins/minuteTicker"; import { optionStep, fmtEnergy } from "@/utils/energyOptions.ts"; import { defineComponent, type PropType } from "vue"; -import type { CURRENCY, Forecast, PlanStrategy, Vehicle } from "@/types/evcc"; +import type { CURRENCY, Vehicle } from "@/types/evcc"; +import type { PlanStrategy } from "./types"; +import type { Forecast } from "@/types/evcc.ts"; export default defineComponent({ name: "ChargingPlan", diff --git a/assets/js/components/ChargingPlans/ChargingPlanModal.vue b/assets/js/components/ChargingPlans/ChargingPlanModal.vue index 9a4784ebe..bc019dd27 100644 --- a/assets/js/components/ChargingPlans/ChargingPlanModal.vue +++ b/assets/js/components/ChargingPlans/ChargingPlanModal.vue @@ -47,17 +47,13 @@ import GenericModal from "../Helper/GenericModal.vue"; import PlansSettings from "./PlansSettings.vue"; import api from "@/api"; import type { - CURRENCY, - Forecast, PlanStrategy, RepeatingPlan, - SMART_COST_TYPE, StaticEnergyPlan, StaticPlan, StaticSocPlan, - UiLoadpoint, - Vehicle, -} from "@/types/evcc"; +} from "./types"; +import type { CURRENCY, Forecast, SMART_COST_TYPE, UiLoadpoint, Vehicle } from "@/types/evcc"; export default defineComponent({ name: "ChargingPlanModal", diff --git a/assets/js/components/ChargingPlans/PlanStrategy.vue b/assets/js/components/ChargingPlans/PlanStrategy.vue index 0e63f3f83..a8014a76b 100644 --- a/assets/js/components/ChargingPlans/PlanStrategy.vue +++ b/assets/js/components/ChargingPlans/PlanStrategy.vue @@ -64,7 +64,7 @@