use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ApplicationPromptTts {
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "startDelay", skip_serializing_if = "Option::is_none")]
pub start_delay: Option<i32>,
#[serde(rename = "endPause", skip_serializing_if = "Option::is_none")]
pub end_pause: Option<i32>,
#[serde(rename = "text")]
pub text: String,
#[serde(rename = "gender", skip_serializing_if = "Option::is_none")]
pub gender: Option<Gender>,
#[serde(rename = "language", skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(rename = "voice", skip_serializing_if = "Option::is_none")]
pub voice: Option<String>,
}
impl ApplicationPromptTts {
pub fn new(key: String, text: String) -> ApplicationPromptTts {
ApplicationPromptTts {
key,
enabled: None,
start_delay: None,
end_pause: None,
text,
gender: None,
language: None,
voice: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Gender {
#[serde(rename = "male")]
Male,
#[serde(rename = "female")]
Female,
#[serde(rename = "neutral")]
Neutral,
}
impl Default for Gender {
fn default() -> Gender {
Self::Male
}
}