use serde::{Deserialize, Serialize};
use serde_json::Value;
#[derive(Debug, Serialize, Deserialize)]
pub struct Extension {
pub extension: String,
pub extension_type: String,
pub spec: Value,
pub status: Value,
pub status_summary: String,
pub created: String,
pub updated: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct CreateExtensionRequest {
pub extension_type: String,
pub spec: Value,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct CreateExtensionResponse {
pub extension: Extension,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct UpdateExtensionRequest {
pub spec: Value,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct UpdateExtensionResponse {
pub extension: Extension,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ListExtensionsResponse {
pub extensions: Vec<Extension>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ExtensionTypeMetadata {
pub extension_type: String,
pub display_name: String,
pub description: String,
pub documentation: String,
pub spec_schema: Value,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ListExtensionTypesResponse {
pub extension_types: Vec<ExtensionTypeMetadata>,
}