use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ShareAiArtifactRequest {
#[serde(rename = "artifact_id")]
pub artifact_id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "kind")]
pub kind: Kind,
#[serde(rename = "version")]
pub version: i32,
#[serde(rename = "content")]
pub content: String,
}
impl ShareAiArtifactRequest {
pub fn new(artifact_id: String, name: String, kind: Kind, version: i32, content: String) -> ShareAiArtifactRequest {
ShareAiArtifactRequest {
artifact_id,
name,
kind,
version,
content,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Kind {
#[serde(rename = "md")]
Md,
#[serde(rename = "html")]
Html,
}
impl Default for Kind {
fn default() -> Kind {
Self::Md
}
}