Skip to main content

uapi_sdk_rust/models/generated/
post_text_markdown_to_pdf_request.rs

1/*
2 * UAPI
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PostTextMarkdownToPdfRequest {
16    /// 原始 Markdown 字符串,最大不超过 1MB。
17    #[serde(rename = "text")]
18    pub text: String,
19    /// PDF 的排版主题。可选 `github`、`minimal`、`light`、`dark`,默认是 `github`。
20    #[serde(rename = "theme", skip_serializing_if = "Option::is_none")]
21    pub theme: Option<Theme>,
22    /// PDF 的纸张大小。可选 `A4` 或 `Letter`,默认是 `A4`。
23    #[serde(rename = "paper_size", skip_serializing_if = "Option::is_none")]
24    pub paper_size: Option<PaperSize>,
25}
26
27impl PostTextMarkdownToPdfRequest {
28    pub fn new(text: String) -> PostTextMarkdownToPdfRequest {
29        PostTextMarkdownToPdfRequest {
30            text,
31            theme: None,
32            paper_size: None,
33        }
34    }
35}
36/// PDF 的排版主题。可选 `github`、`minimal`、`light`、`dark`,默认是 `github`。
37#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum Theme {
39    #[serde(rename = "github")]
40    Github,
41    #[serde(rename = "minimal")]
42    Minimal,
43    #[serde(rename = "light")]
44    Light,
45    #[serde(rename = "dark")]
46    Dark,
47}
48
49impl Default for Theme {
50    fn default() -> Theme {
51        Self::Github
52    }
53}
54/// PDF 的纸张大小。可选 `A4` 或 `Letter`,默认是 `A4`。
55#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
56pub enum PaperSize {
57    #[serde(rename = "A4")]
58    A4,
59    #[serde(rename = "Letter")]
60    Letter,
61}
62
63impl Default for PaperSize {
64    fn default() -> PaperSize {
65        Self::A4
66    }
67}
68