uapi-sdk-rust 0.1.17

UAPI Rust SDK - idiomatic, typed, domain-driven API client.
Documentation
/*
 * UAPI
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PostTextMarkdownToPdfRequest {
    /// 原始 Markdown 字符串,最大不超过 1MB。
    #[serde(rename = "text")]
    pub text: String,
    /// PDF 的排版主题。可选 `github`、`minimal`、`light`、`dark`,默认是 `github`。
    #[serde(rename = "theme", skip_serializing_if = "Option::is_none")]
    pub theme: Option<Theme>,
    /// PDF 的纸张大小。可选 `A4` 或 `Letter`,默认是 `A4`。
    #[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,
        }
    }
}
/// PDF 的排版主题。可选 `github`、`minimal`、`light`、`dark`,默认是 `github`。
#[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
    }
}
/// PDF 的纸张大小。可选 `A4` 或 `Letter`,默认是 `A4`。
#[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
    }
}