pinakes-server: add utoipa annotations to all routes; fix tests
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I28cf5b7b7cff8e90e123d624d97cf9656a6a6964
This commit is contained in:
parent
8bde7f8fc2
commit
625077f341
60 changed files with 3493 additions and 242 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use pinakes_plugin_api::{UiPage, UiWidget};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[derive(Debug, Serialize, utoipa::ToSchema)]
|
||||
pub struct PluginResponse {
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
|
|
@ -12,22 +12,23 @@ pub struct PluginResponse {
|
|||
pub enabled: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[derive(Debug, Deserialize, utoipa::ToSchema)]
|
||||
pub struct InstallPluginRequest {
|
||||
pub source: String, // URL or file path
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[derive(Debug, Deserialize, utoipa::ToSchema)]
|
||||
pub struct TogglePluginRequest {
|
||||
pub enabled: bool,
|
||||
}
|
||||
|
||||
/// A single plugin UI page entry in the list response
|
||||
#[derive(Debug, Serialize)]
|
||||
#[derive(Debug, Serialize, utoipa::ToSchema)]
|
||||
pub struct PluginUiPageEntry {
|
||||
/// Plugin ID that provides this page
|
||||
pub plugin_id: String,
|
||||
/// Full page definition
|
||||
#[schema(value_type = Object)]
|
||||
pub page: UiPage,
|
||||
/// Endpoint paths this plugin is allowed to fetch (empty means no
|
||||
/// restriction)
|
||||
|
|
@ -35,19 +36,21 @@ pub struct PluginUiPageEntry {
|
|||
}
|
||||
|
||||
/// A single plugin UI widget entry in the list response
|
||||
#[derive(Debug, Serialize)]
|
||||
#[derive(Debug, Serialize, utoipa::ToSchema)]
|
||||
pub struct PluginUiWidgetEntry {
|
||||
/// Plugin ID that provides this widget
|
||||
pub plugin_id: String,
|
||||
/// Full widget definition
|
||||
#[schema(value_type = Object)]
|
||||
pub widget: UiWidget,
|
||||
}
|
||||
|
||||
/// Request body for emitting a plugin event
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[derive(Debug, Deserialize, utoipa::ToSchema)]
|
||||
pub struct PluginEventRequest {
|
||||
pub event: String,
|
||||
#[serde(default)]
|
||||
#[schema(value_type = Object)]
|
||||
pub payload: serde_json::Value,
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue