use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateRepositoryRequest {
#[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub description: Option<Option<String>>,
#[serde(rename = "format")]
pub format: String,
#[serde(rename = "format_key", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub format_key: Option<Option<String>>,
#[serde(rename = "index_upstream_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub index_upstream_url: Option<Option<String>>,
#[serde(rename = "is_public", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub is_public: Option<Option<bool>>,
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "member_repos", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub member_repos: Option<Option<Vec<models::CreateVirtualMemberInput>>>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "quota_bytes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub quota_bytes: Option<Option<i64>>,
#[serde(rename = "repo_type")]
pub repo_type: String,
#[serde(rename = "storage_backend", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub storage_backend: Option<Option<String>>,
#[serde(rename = "upstream_auth_type", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub upstream_auth_type: Option<Option<String>>,
#[serde(rename = "upstream_password", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub upstream_password: Option<Option<String>>,
#[serde(rename = "upstream_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub upstream_url: Option<Option<String>>,
#[serde(rename = "upstream_username", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub upstream_username: Option<Option<String>>,
}
impl CreateRepositoryRequest {
pub fn new(format: String, key: String, name: String, repo_type: String) -> CreateRepositoryRequest {
CreateRepositoryRequest {
description: None,
format,
format_key: None,
index_upstream_url: None,
is_public: None,
key,
member_repos: None,
name,
quota_bytes: None,
repo_type,
storage_backend: None,
upstream_auth_type: None,
upstream_password: None,
upstream_url: None,
upstream_username: None,
}
}
}