/// DeleteRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct DeleteRequest {
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
    pub guide_id: String,
}
/// ListRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct ListRequest {
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
}
/// GetRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct GetRequest {
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
    pub guide_id: String,
}
/// GetContentRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct GetContentRequest {
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
    pub guide_id: String,
}
/// PatchRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct PatchRequest {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub content: Option<String>,
    /// lucide icon name for guide, see https://lucide.dev/icons/ for complete list of options
    #[serde(default)]
    #[serde(skip_serializing_if = "crate::core::patch::Patch::is_undefined")]
    pub icon: crate::core::patch::Patch<String>,
    /// the label that shows on the navbar for this guide
    #[serde(skip_serializing_if = "Option::is_none")]
    pub nav_label: Option<String>,
    #[serde(default)]
    #[serde(skip_serializing_if = "crate::core::patch::Patch::is_undefined")]
    pub next_id: crate::core::patch::Patch<String>,
    #[serde(default)]
    #[serde(skip_serializing_if = "crate::core::patch::Patch::is_undefined")]
    pub prev_id: crate::core::patch::Patch<String>,
    /// the url slug (route) for this guide. Must be one word. Use - for spaces. optimize the name for SEO
    #[serde(skip_serializing_if = "Option::is_none")]
    pub slug: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub table_of_contents: Option<bool>,
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
    pub guide_id: String,
}
/// CreateRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct CreateRequest {
    pub content: String,
    /// lucide icon name for guide, see https://lucide.dev/icons/ for complete list of options
    #[serde(skip_serializing_if = "Option::is_none")]
    pub icon: Option<String>,
    pub is_parent: bool,
    /// the label that shows on the navbar for this guide
    pub nav_label: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub next_id: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub parent_id: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub prev_id: Option<String>,
    /// the url slug (route) for this guide. Must be one word. Use - for spaces. optimize the name for SEO
    pub slug: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub table_of_contents: Option<bool>,
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
}
/// ReorderRequest
#[derive(serde::Serialize, serde::Deserialize, Debug, Default, Clone)]
pub struct ReorderRequest {
    pub data: Vec<crate::models::ReorderGuide>,
    /// Unique project name or the uuid
    pub doc_name: String,
    pub doc_version: crate::models::IdOrInt,
}
