feat: integrate SvelteKit for seamless navigation and improved data loading

This commit is contained in:
2025-12-20 22:41:23 +03:00
parent 58831c536a
commit 9b7b743319
106 changed files with 16217 additions and 123 deletions

View 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.