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}