extension.rs

 1use chrono::{DateTime, Utc};
 2use serde::{Deserialize, Serialize};
 3
 4#[derive(Serialize, Deserialize, Debug, PartialEq)]
 5pub struct ExtensionApiManifest {
 6    pub name: String,
 7    pub version: String,
 8    pub description: Option<String>,
 9    pub authors: Vec<String>,
10    pub repository: String,
11    pub schema_version: Option<i32>,
12    pub wasm_api_version: Option<String>,
13}
14
15#[derive(Debug, Serialize, PartialEq)]
16pub struct ExtensionMetadata {
17    pub id: String,
18    #[serde(flatten)]
19    pub manifest: ExtensionApiManifest,
20    pub published_at: DateTime<Utc>,
21    pub download_count: u64,
22}