use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct DeletedSkillVersion {
pub id: String,
pub deleted: bool,
pub object: String,
pub version: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct SkillVersion {
pub id: String,
pub created_at: i64,
pub description: String,
pub name: String,
pub object: String,
pub skill_id: String,
pub version: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct SkillVersionList {
pub data: Vec<SkillVersion>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub first_id: Option<String>,
pub has_more: bool,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub last_id: Option<String>,
pub object: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct VersionCreateParams {
#[serde(skip_serializing_if = "Option::is_none", default)]
pub default: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub files: Option<serde_json::Value>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum VersionListParamsOrder {
#[serde(rename = "asc")]
Asc,
#[serde(rename = "desc")]
Desc,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct VersionListParams {
#[serde(skip_serializing_if = "Option::is_none", default)]
pub after: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub limit: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub order: Option<VersionListParamsOrder>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct DeletedSkill {
pub id: String,
pub deleted: bool,
pub object: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct Skill {
pub id: String,
pub created_at: i64,
pub default_version: String,
pub description: String,
pub latest_version: String,
pub name: String,
pub object: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct SkillCreateParams {
#[serde(skip_serializing_if = "Option::is_none", default)]
pub files: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct SkillList {
pub data: Vec<Skill>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub first_id: Option<String>,
pub has_more: bool,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub last_id: Option<String>,
pub object: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum SkillListParamsOrder {
#[serde(rename = "asc")]
Asc,
#[serde(rename = "desc")]
Desc,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct SkillListParams {
#[serde(skip_serializing_if = "Option::is_none", default)]
pub after: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub limit: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub order: Option<SkillListParamsOrder>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
pub struct SkillUpdateParams {
pub default_version: String,
}