feat: integrate SvelteKit for seamless navigation and improved data loading
This commit is contained in:
61
specs/004-integrate-svelte-kit/contracts/api.md
Normal file
61
specs/004-integrate-svelte-kit/contracts/api.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# API Contracts: SvelteKit Frontend
|
||||
|
||||
The SvelteKit frontend will interact with the following existing backend API endpoints.
|
||||
|
||||
## Settings API (`/api/settings`)
|
||||
|
||||
### Get All Settings
|
||||
- **Endpoint**: `GET /api/settings/`
|
||||
- **Response**: `AppConfig` (JSON)
|
||||
- **Usage**: Load initial configuration for the application.
|
||||
|
||||
### Update Global Settings
|
||||
- **Endpoint**: `PATCH /api/settings/global`
|
||||
- **Request Body**: `GlobalSettings` (JSON)
|
||||
- **Response**: `GlobalSettings` (JSON)
|
||||
- **Usage**: Save changes to global settings.
|
||||
|
||||
### List Environments
|
||||
- **Endpoint**: `GET /api/settings/environments`
|
||||
- **Response**: `List[Environment]` (JSON)
|
||||
- **Usage**: Display configured Superset environments.
|
||||
|
||||
### Add Environment
|
||||
- **Endpoint**: `POST /api/settings/environments`
|
||||
- **Request Body**: `Environment` (JSON)
|
||||
- **Response**: `Environment` (JSON)
|
||||
- **Usage**: Create a new environment configuration.
|
||||
|
||||
### Update Environment
|
||||
- **Endpoint**: `PUT /api/settings/environments/{id}`
|
||||
- **Request Body**: `Environment` (JSON)
|
||||
- **Response**: `Environment` (JSON)
|
||||
- **Usage**: Modify an existing environment.
|
||||
|
||||
### Delete Environment
|
||||
- **Endpoint**: `DELETE /api/settings/environments/{id}`
|
||||
- **Response**: `{"message": "..."}`
|
||||
- **Usage**: Remove an environment.
|
||||
|
||||
### Test Connection
|
||||
- **Endpoint**: `POST /api/settings/environments/{id}/test`
|
||||
- **Response**: `{"status": "success/error", "message": "..."}`
|
||||
- **Usage**: Verify connectivity to a Superset instance.
|
||||
|
||||
## Plugins API (`/api/plugins`)
|
||||
|
||||
### List Plugins
|
||||
- **Endpoint**: `GET /api/plugins/`
|
||||
- **Response**: `List[PluginConfig]` (JSON)
|
||||
- **Usage**: Display available plugins on the Dashboard.
|
||||
|
||||
## Tasks API (`/api/tasks`)
|
||||
*(Inferred from file list, used for running plugin tasks)*
|
||||
|
||||
### List Tasks
|
||||
- **Endpoint**: `GET /api/tasks/`
|
||||
- **Usage**: Show active or historical tasks.
|
||||
|
||||
### Run Task
|
||||
- **Endpoint**: `POST /api/tasks/{plugin_id}`
|
||||
- **Usage**: Execute a plugin-specific task.
|
||||
Reference in New Issue
Block a user