#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ObjectRelationship {
#[serde(rename = "actions", skip_serializing_if = "Option::is_none")]
pub actions: Option<::std::collections::HashMap<String, ::std::collections::HashMap<String, String>>>,
#[serde(rename = "deletionType", skip_serializing_if = "Option::is_none")]
pub deletion_type: Option<DeletionType>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(rename = "label", skip_serializing_if = "Option::is_none")]
pub label: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "objectDefinitionExternalReferenceCode1", skip_serializing_if = "Option::is_none")]
pub object_definition_external_reference_code1: Option<String>,
#[serde(rename = "objectDefinitionExternalReferenceCode2", skip_serializing_if = "Option::is_none")]
pub object_definition_external_reference_code2: Option<String>,
#[serde(rename = "objectDefinitionId1", skip_serializing_if = "Option::is_none")]
pub object_definition_id1: Option<i64>,
#[serde(rename = "objectDefinitionId2", skip_serializing_if = "Option::is_none")]
pub object_definition_id2: Option<i64>,
#[serde(rename = "objectDefinitionName2", skip_serializing_if = "Option::is_none")]
pub object_definition_name2: Option<String>,
#[serde(rename = "parameterObjectFieldId", skip_serializing_if = "Option::is_none")]
pub parameter_object_field_id: Option<i64>,
#[serde(rename = "parameterObjectFieldName", skip_serializing_if = "Option::is_none")]
pub parameter_object_field_name: Option<String>,
#[serde(rename = "reverse", skip_serializing_if = "Option::is_none")]
pub reverse: Option<bool>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<RHashType>,
#[serde(rename = "x-class-name", skip_serializing_if = "Option::is_none")]
pub x_class_name: Option<String>,
}
impl ObjectRelationship {
pub fn new() -> ObjectRelationship {
ObjectRelationship {
actions: None,
deletion_type: None,
id: None,
label: None,
name: None,
object_definition_external_reference_code1: None,
object_definition_external_reference_code2: None,
object_definition_id1: None,
object_definition_id2: None,
object_definition_name2: None,
parameter_object_field_id: None,
parameter_object_field_name: None,
reverse: None,
r#type: None,
x_class_name: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DeletionType {
#[serde(rename = "cascade")]
Cascade,
#[serde(rename = "disassociate")]
Disassociate,
#[serde(rename = "prevent")]
Prevent,
}
impl Default for DeletionType {
fn default() -> DeletionType {
Self::Cascade
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RHashType {
#[serde(rename = "oneToMany")]
OneToMany,
#[serde(rename = "oneToOne")]
OneToOne,
#[serde(rename = "manyToMany")]
ManyToMany,
}
impl Default for RHashType {
fn default() -> RHashType {
Self::OneToMany
}
}