#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AuthorResponseDTO {
#[serde(rename = "_id")]
pub id: String,
pub name: String,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "canonicalLink")]
pub canonical_link: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AuthorsResponseDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub authors: Vec<AuthorResponseDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BlogGetResponseWrapperDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub data: Vec<BlogResponseDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BlogPostCreateResponseWrapperDTO {
pub data: BlogPostResponseDTO,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BlogPostGetResponseWrapperDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub blogs: Vec<BlogPostResponseDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BlogPostResponseDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub categories: Vec<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
pub archived: bool,
#[serde(rename = "_id")]
pub id: String,
pub title: String,
pub description: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
pub status: String,
#[serde(rename = "imageAltText")]
pub image_alt_text: String,
#[serde(rename = "urlSlug")]
pub url_slug: String,
#[serde(
rename = "canonicalLink",
default,
skip_serializing_if = "Option::is_none"
)]
pub canonical_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub author: Option<String>,
#[serde(rename = "publishedAt")]
pub published_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BlogPostUpdateResponseWrapperDTO {
#[serde(rename = "updatedBlogPost")]
pub updated_blog_post: BlogPostResponseDTO,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BlogResponseDTO {
#[serde(rename = "_id")]
pub id: String,
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CategoriesResponseDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub categories: Vec<CategoryResponseDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CategoryResponseDTO {
#[serde(rename = "_id")]
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "canonicalLink")]
pub canonical_link: String,
#[serde(rename = "urlSlug")]
pub url_slug: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateBlogPostParams {
pub title: String,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "blogId")]
pub blog_id: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
pub description: String,
#[serde(rename = "rawHTML")]
pub raw_html: String,
pub status: String,
#[serde(rename = "imageAltText")]
pub image_alt_text: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub categories: Vec<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
pub author: String,
#[serde(rename = "urlSlug")]
pub url_slug: String,
#[serde(
rename = "canonicalLink",
default,
skip_serializing_if = "Option::is_none"
)]
pub canonical_link: Option<String>,
#[serde(rename = "publishedAt")]
pub published_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateBlogPostParams {
pub title: String,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "blogId")]
pub blog_id: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
pub description: String,
#[serde(rename = "rawHTML")]
pub raw_html: String,
pub status: String,
#[serde(rename = "imageAltText")]
pub image_alt_text: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub categories: Vec<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
pub author: String,
#[serde(rename = "urlSlug")]
pub url_slug: String,
#[serde(rename = "wordCount")]
pub word_count: f64,
#[serde(
rename = "canonicalLink",
default,
skip_serializing_if = "Option::is_none"
)]
pub canonical_link: Option<String>,
#[serde(rename = "publishedAt")]
pub published_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UrlSlugCheckResponseDTO {
pub exists: bool,
}