gitlib/model/
project_permission.rs
use std::collections::HashMap;
use serde::Deserialize;
use serde::Serialize;
use uuid::Uuid;
use crate::enums::participant_type::ParticipantType;
use crate::model::branch_permission::BranchPermission;
#[derive(Serialize, Deserialize, Default, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct ProjectPermission {
pub path: String,
pub readers: HashMap<Uuid, ParticipantType>,
pub is_public: bool,
pub is_internal: bool,
pub reader_orgs: HashMap<Uuid, ParticipantType>,
pub owner: Uuid,
pub owner_org: Uuid,
#[serde(skip_serializing_if = "Option::is_none")]
pub readers_to_remove: Option<Vec<Uuid>>,
pub branch_permission: Vec<BranchPermission>,
}