#[derive(Default, Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AccessRequest {
#[serde(rename = "requestId")]
pub request_id: String,
#[serde(rename = "lastUpdated", skip_serializing_if = "Option::is_none")]
pub last_updated: Option<chrono::DateTime<chrono::Utc>>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(rename = "access")]
pub access: Box<crate::models::AccessTemplate>,
#[serde(rename = "links", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub links: Option<Option<Box<crate::models::Links>>>,
#[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub tags: Option<Option<::std::collections::HashMap<String, String>>>,
}
impl AccessRequest {
pub fn new(request_id: String, access: crate::models::AccessTemplate) -> AccessRequest {
AccessRequest {
request_id,
last_updated: None,
status: None,
access: Box::new(access),
links: None,
tags: None,
}
}
}
#[derive(Default, Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[default]
#[serde(rename = "OPEN")]
Open,
#[serde(rename = "APPROVED")]
Approved,
#[serde(rename = "DENIED")]
Denied,
#[serde(rename = "DELETED")]
Deleted,
}