use serde::Serialize;
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateRepositoryParams<'a> {
pub name: &'a str,
pub description: &'a str,
#[serde(skip_serializing_if = "Option::is_none")]
pub public_access: Option<bool>,
}
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateRepositoryProperties<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub public_access: Option<bool>,
}
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateRepositoryParams<'a> {
pub name: &'a str,
pub properties: UpdateRepositoryProperties<'a>,
}
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct DeleteRepositoryParams<'a> {
pub name: &'a str,
}
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRepositoriesFilter<'a, S: AsRef<str>> {
#[serde(serialize_with = "super::super::serialize_option_asref_str_seq")]
#[serde(skip_serializing_if = "Option::is_none")]
pub owners: Option<&'a [S]>,
#[serde(serialize_with = "super::super::serialize_option_asref_str_seq")]
#[serde(skip_serializing_if = "Option::is_none")]
pub names: Option<&'a [S]>,
#[serde(skip_serializing_if = "Option::is_none")]
pub search_name: Option<&'a str>,
}
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub enum SortDirection {
Asc,
Desc,
}
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
#[serde(bound(serialize = ""))]
pub struct GetRepositoriesParams<'a, S: AsRef<str>> {
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub filter: Option<GetRepositoriesFilter<'a, S>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sort: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sort_direction: Option<SortDirection>,
}