teo_runtime/value/convert/into/
delete.rs1use teo_result::Error;
2use crate::value::interface_enum_variant::InterfaceEnumVariant;
3use crate::model::relation::delete::Delete;
4use crate::value::Value;
5
6impl TryFrom<&Value> for Delete {
7
8 type Error = Error;
9
10 fn try_from(value: &Value) -> Result<Self, Self::Error> {
11 let interface_enum_variant: InterfaceEnumVariant = value.try_into()?;
12 match interface_enum_variant.value.as_str() {
13 "noAction" => Ok(Delete::NoAction),
14 "nullify" => Ok(Delete::Nullify),
15 "cascade" => Ok(Delete::Cascade),
16 "deny" => Ok(Delete::Deny),
17 "default" => Ok(Delete::Default),
18 _ => Err(Error::new(format!("invalid delete name: {:?}", value)))
19 }
20 }
21}