use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PostTextMarkdownToPdfRequest {
#[serde(rename = "text")]
pub text: String,
#[serde(rename = "theme", skip_serializing_if = "Option::is_none")]
pub theme: Option<Theme>,
#[serde(rename = "paper_size", skip_serializing_if = "Option::is_none")]
pub paper_size: Option<PaperSize>,
}
impl PostTextMarkdownToPdfRequest {
pub fn new(text: String) -> PostTextMarkdownToPdfRequest {
PostTextMarkdownToPdfRequest {
text,
theme: None,
paper_size: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Theme {
#[serde(rename = "github")]
Github,
#[serde(rename = "minimal")]
Minimal,
#[serde(rename = "light")]
Light,
#[serde(rename = "dark")]
Dark,
}
impl Default for Theme {
fn default() -> Theme {
Self::Github
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PaperSize {
#[serde(rename = "A4")]
A4,
#[serde(rename = "Letter")]
Letter,
}
impl Default for PaperSize {
fn default() -> PaperSize {
Self::A4
}
}