use crate::http::object_access_controls::ProjectTeam;
pub mod delete;
pub mod get;
pub mod insert;
pub mod list;
pub mod patch;
#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, serde::Deserialize, serde::Serialize, Debug)]
#[serde(rename_all = "camelCase")]
pub enum PredefinedBucketAcl {
AuthenticatedRead,
Private,
ProjectPrivate,
PublicRead,
PublicReadWrite,
}
#[derive(Clone, PartialEq, Eq, Default, serde::Deserialize, serde::Serialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct BucketAccessControl {
pub role: BucketACLRole,
pub id: String,
pub entity: String,
pub entity_id: Option<String>,
pub email: Option<String>,
pub domain: Option<String>,
pub project_team: Option<ProjectTeam>,
pub self_link: String,
pub etag: String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, serde::Deserialize, serde::Serialize, Debug, Default)]
pub enum BucketACLRole {
OWNER,
#[default]
READER,
WRITER,
}