#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DatabasesCreateRelationshipAttributeRequest {
#[serde(rename = "relatedCollectionId")]
pub related_collection_id: String,
#[serde(rename = "type")]
pub r#type: Type,
#[serde(rename = "twoWay", skip_serializing_if = "Option::is_none")]
pub two_way: Option<bool>,
#[serde(rename = "key", skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(rename = "twoWayKey", skip_serializing_if = "Option::is_none")]
pub two_way_key: Option<String>,
#[serde(rename = "onDelete", skip_serializing_if = "Option::is_none")]
pub on_delete: Option<OnDelete>,
}
impl DatabasesCreateRelationshipAttributeRequest {
pub fn new(related_collection_id: String, r#type: Type) -> DatabasesCreateRelationshipAttributeRequest {
DatabasesCreateRelationshipAttributeRequest {
related_collection_id,
r#type,
two_way: None,
key: None,
two_way_key: None,
on_delete: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "oneToOne")]
OneToOne,
#[serde(rename = "manyToOne")]
ManyToOne,
#[serde(rename = "manyToMany")]
ManyToMany,
#[serde(rename = "oneToMany")]
OneToMany,
}
impl Default for Type {
fn default() -> Type {
Self::OneToOne
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OnDelete {
#[serde(rename = "cascade")]
Cascade,
#[serde(rename = "restrict")]
Restrict,
#[serde(rename = "setNull")]
SetNull,
}
impl Default for OnDelete {
fn default() -> OnDelete {
Self::Cascade
}
}