62 lines
1.9 KiB
Markdown
62 lines
1.9 KiB
Markdown
# 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.
|