use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PostTextConvertRequest {
#[serde(rename = "text")]
pub text: String,
#[serde(rename = "from")]
pub from: From,
#[serde(rename = "to")]
pub to: To,
#[serde(rename = "options", skip_serializing_if = "Option::is_none")]
pub options: Option<std::collections::HashMap<String, serde_json::Value>>,
}
impl PostTextConvertRequest {
pub fn new(text: String, from: From, to: To) -> PostTextConvertRequest {
PostTextConvertRequest {
text,
from,
to,
options: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum From {
#[serde(rename = "plain")]
Plain,
#[serde(rename = "base64")]
Base64,
#[serde(rename = "hex")]
Hex,
#[serde(rename = "url")]
Url,
#[serde(rename = "html")]
Html,
#[serde(rename = "unicode")]
Unicode,
#[serde(rename = "binary")]
Binary,
#[serde(rename = "md5")]
Md5,
#[serde(rename = "sha1")]
Sha1,
#[serde(rename = "sha256")]
Sha256,
#[serde(rename = "sha512")]
Sha512,
}
impl Default for From {
fn default() -> From {
Self::Plain
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum To {
#[serde(rename = "plain")]
Plain,
#[serde(rename = "base64")]
Base64,
#[serde(rename = "hex")]
Hex,
#[serde(rename = "url")]
Url,
#[serde(rename = "html")]
Html,
#[serde(rename = "unicode")]
Unicode,
#[serde(rename = "binary")]
Binary,
#[serde(rename = "md5")]
Md5,
#[serde(rename = "sha1")]
Sha1,
#[serde(rename = "sha256")]
Sha256,
#[serde(rename = "sha512")]
Sha512,
}
impl Default for To {
fn default() -> To {
Self::Plain
}
}