use crate::line_messaging_api::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DatetimePickerAction {
#[serde(rename = "label", skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(rename = "data", skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
pub mode: Option<Mode>,
#[serde(rename = "initial", skip_serializing_if = "Option::is_none")]
pub initial: Option<String>,
#[serde(rename = "max", skip_serializing_if = "Option::is_none")]
pub max: Option<String>,
#[serde(rename = "min", skip_serializing_if = "Option::is_none")]
pub min: Option<String>,
}
impl DatetimePickerAction {
pub fn new() -> DatetimePickerAction {
DatetimePickerAction {
label: None,
data: None,
mode: None,
initial: None,
max: None,
min: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[allow(non_camel_case_types)]
pub enum Mode {
#[serde(rename = "date")]
Date,
#[serde(rename = "time")]
Time,
#[serde(rename = "datetime")]
Datetime,
}
impl Default for Mode {
fn default() -> Mode {
Self::Date
}
}