staticlib/model/
permission.rsuse serde::Deserialize;
use serde::Serialize;
use uuid::Uuid;
#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Usage {
pub project_name: String,
pub entity_name: String,
pub entity_id: Uuid,
}
#[derive(Serialize, Deserialize, Default, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Permission {
pub path: String,
pub readers: Vec<Uuid>,
pub is_public: bool,
pub is_internal: bool,
pub reader_roles: Vec<String>,
pub reader_orgs: Vec<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub usages: Option<Vec<Usage>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub usages_to_delete: Option<Vec<Usage>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub extra: Option<serde_json::Value>,
}