uapi-sdk-rust 0.1.14

UAPI Rust SDK - idiomatic, typed, domain-driven API client.
Documentation
/*
 * UAPI
 *
 * UAPI 官方接口文档
 *
 * 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 PostAiTranslateRequest {
    /// 待翻译的文本内容。最大长度10,000字符。
    #[serde(rename = "text")]
    pub text: String,
    /// 源语言代码,可选。如果不指定,系统会自动检测源语言。
    #[serde(rename = "source_lang", skip_serializing_if = "Option::is_none")]
    pub source_lang: Option<String>,
    /// 翻译风格,可选。支持casual(随意口语化)、professional(专业商务,默认)、academic(学术正式)、literary(文学艺术)。
    #[serde(rename = "style", skip_serializing_if = "Option::is_none")]
    pub style: Option<Style>,
    /// 翻译上下文场景,可选。支持general(通用,默认)、business(商务)、technical(技术)、medical(医疗)、legal(法律)、marketing(市场营销)、entertainment(娱乐)、education(教育)、news(新闻)。
    #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
    pub context: Option<Context>,
    /// 是否保留原文格式,包括换行、缩进等。
    #[serde(rename = "preserve_format", skip_serializing_if = "Option::is_none")]
    pub preserve_format: Option<bool>,
}

impl PostAiTranslateRequest {
    pub fn new(text: String) -> PostAiTranslateRequest {
        PostAiTranslateRequest {
            text,
            source_lang: None,
            style: None,
            context: None,
            preserve_format: None,
        }
    }
}
/// 翻译风格,可选。支持casual(随意口语化)、professional(专业商务,默认)、academic(学术正式)、literary(文学艺术)。
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Style {
    #[serde(rename = "casual")]
    Casual,
    #[serde(rename = "professional")]
    Professional,
    #[serde(rename = "academic")]
    Academic,
    #[serde(rename = "literary")]
    Literary,
}

impl Default for Style {
    fn default() -> Style {
        Self::Casual
    }
}
/// 翻译上下文场景,可选。支持general(通用,默认)、business(商务)、technical(技术)、medical(医疗)、legal(法律)、marketing(市场营销)、entertainment(娱乐)、education(教育)、news(新闻)。
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Context {
    #[serde(rename = "general")]
    General,
    #[serde(rename = "business")]
    Business,
    #[serde(rename = "technical")]
    Technical,
    #[serde(rename = "medical")]
    Medical,
    #[serde(rename = "legal")]
    Legal,
    #[serde(rename = "marketing")]
    Marketing,
    #[serde(rename = "entertainment")]
    Entertainment,
    #[serde(rename = "education")]
    Education,
    #[serde(rename = "news")]
    News,
}

impl Default for Context {
    fn default() -> Context {
        Self::General
    }
}