use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CustomTemplatesProjectDetails {
#[serde(rename = "accessLevel", skip_serializing_if = "Option::is_none")]
pub access_level: Option<AccessLevel>,
#[serde(rename = "additionalProperties", skip_serializing_if = "Option::is_none")]
pub additional_properties: Option<std::collections::HashMap<String, String>>,
#[serde(rename = "assigneeType", skip_serializing_if = "Option::is_none")]
pub assignee_type: Option<AssigneeType>,
#[serde(rename = "avatarId", skip_serializing_if = "Option::is_none")]
pub avatar_id: Option<i64>,
#[serde(rename = "categoryId", skip_serializing_if = "Option::is_none")]
pub category_id: Option<i64>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "enableComponents", skip_serializing_if = "Option::is_none")]
pub enable_components: Option<bool>,
#[serde(rename = "key", skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(rename = "language", skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(rename = "leadAccountId", skip_serializing_if = "Option::is_none")]
pub lead_account_id: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
impl CustomTemplatesProjectDetails {
pub fn new() -> CustomTemplatesProjectDetails {
CustomTemplatesProjectDetails {
access_level: None,
additional_properties: None,
assignee_type: None,
avatar_id: None,
category_id: None,
description: None,
enable_components: None,
key: None,
language: None,
lead_account_id: None,
name: None,
url: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AccessLevel {
#[serde(rename = "open")]
Open,
#[serde(rename = "limited")]
Limited,
#[serde(rename = "private")]
Private,
#[serde(rename = "free")]
Free,
}
impl Default for AccessLevel {
fn default() -> AccessLevel {
Self::Open
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AssigneeType {
#[serde(rename = "PROJECT_DEFAULT")]
ProjectDefault,
#[serde(rename = "COMPONENT_LEAD")]
ComponentLead,
#[serde(rename = "PROJECT_LEAD")]
ProjectLead,
#[serde(rename = "UNASSIGNED")]
Unassigned,
}
impl Default for AssigneeType {
fn default() -> AssigneeType {
Self::ProjectDefault
}
}