use super::common::*;
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct ResetRequest<CustomDataType = crate::NoCustomData> {
#[cfg_attr(feature = "serde", serde(rename = "customData"))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
pub custom_data: Option<CustomDataType>,
#[cfg_attr(feature = "serde", serde(rename = "evseId"))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
pub evse_id: Option<i64>,
pub r#type: ResetEnum,
}
impl<CustomDataType> crate::Action for ResetRequest<CustomDataType> {
const ACTION: &'static str = "Reset";
}
#[cfg(feature = "validate")]
impl<CustomDataType> crate::validate::Validate for ResetRequest<CustomDataType> {
fn validate(&self) -> Result<(), crate::validate::ValidationError> {
if let Some(value) = self.evse_id {
crate::validate::check_min_i64(value, 0i64)
.map_err(|error| error.in_field("evseId"))?;
}
crate::validate::Validate::validate(&self.r#type)
.map_err(|error| error.in_field("type"))?;
Ok(())
}
}