Skip to content

Add oas for settings endpoints#292

Open
hartman wants to merge 1 commit into
developfrom
task/settings-oas
Open

Add oas for settings endpoints#292
hartman wants to merge 1 commit into
developfrom
task/settings-oas

Conversation

@hartman

@hartman hartman commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

This fixes #279

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds OpenAPI generation and documentation surfacing for the internal /settings management endpoints, aligning Settings API docs with the existing Documenten/WOPI documentation approach and linking them from the docs site and the admin portal.

Changes:

  • Adds Ktor OpenAPI describe { ... } metadata to all Settings API route groups (DMF settings, application settings, API connections, storage repositories).
  • Introduces a dedicated SettingsOpenApiSpecification and registers it so /docs/openapi/settings.{json,yaml} is generated.
  • Exposes Settings API docs via Swagger UI (settings-api.html), updates docs/specification.md, and adds admin-portal navigation + a Scalar explorer page.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/main/kotlin/shared/api/ApiConstants.kt Adds SETTINGS_API_BASE_PATH constant used for Settings OpenAPI generation.
src/main/kotlin/settings/api/routes/DmfSettingsRoutes.kt Adds OpenAPI operation metadata for DMF key/value settings endpoints.
src/main/kotlin/settings/api/routes/BlobStorageRepositorySettingsRoutes.kt Adds OpenAPI operation metadata for blob storage repository settings endpoints.
src/main/kotlin/settings/api/routes/ApplicationSettingsRoutes.kt Adds OpenAPI operation metadata for application credentials endpoints (incl. rotate-secret).
src/main/kotlin/settings/api/routes/ApiConnectionSettingsRoutes.kt Adds OpenAPI operation metadata for external API connection settings endpoints.
src/main/kotlin/infra/api/models/SettingsOpenApiSpecification.kt Adds Settings API OpenAPI spec metadata (info/tags/security/basePath).
src/main/kotlin/infra/api/models/OpenApiSpecification.kt Registers Settings spec in the list of generated OpenAPI documents.
frontend/swagger-ui/settings-api.html Adds Swagger UI entry page that points to /docs/openapi/settings.json.
frontend/admin-portal/lib/navigation.tsx Adds Settings API explorer + JSON/YAML links in the admin portal navigation.
frontend/admin-portal/app/(main)/settings/openapi-ui/page.tsx Adds Settings API Scalar explorer route page.
frontend/admin-portal/app/(main)/settings/openapi-ui/loading.tsx Adds loading skeleton for the new explorer route.
frontend/admin-portal/app/(main)/settings/openapi-ui/error.tsx Adds error boundary UI for the new explorer route.
frontend/admin-portal/app/(main)/settings/openapi-ui/api-reference.tsx Fetches Settings OpenAPI JSON from backend and renders it in the shared Scalar client component.
docs/specification.md Documents Settings API Swagger UI + JSON/YAML endpoints alongside existing specs.

Comment on lines +11 to +14
override val name: String get() = "Settings"

override val basePath: String get() = SETTINGS_API_BASE_PATH

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Genereer openapi specificatie voor /settings

2 participants