asana 0.1.1

asana bindings for rust
Documentation
/*
 * Asana
 *
 * This is the interface for interacting with the [Asana Platform](https://developers.asana.com). Our API reference is generated from our [OpenAPI spec] (https://raw.githubusercontent.com/Asana/developer-docs/master/defs/asana_oas.yaml).
 *
 * The version of the OpenAPI document: 1.0
 *
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ProjectDuplicateRequest {
    /// The name of the new project.
    #[serde(rename = "name")]
    pub name: String,
    /// Sets the team of the new project. If team is not defined, the new project will be in the same team as the the original project.
    #[serde(rename = "team", skip_serializing_if = "Option::is_none")]
    pub team: Option<String>,
    /// The elements that will be duplicated to the new project. Tasks are always included.
    #[serde(rename = "include", skip_serializing_if = "Option::is_none")]
    pub include: Option<Include>,
    #[serde(
        rename = "schedule_dates",
        skip_serializing_if = "Option::is_none"
    )]
    pub schedule_dates:
        Option<Box<crate::models::ProjectDuplicateRequestScheduleDates>>,
}

impl ProjectDuplicateRequest {
    pub fn new(name: String) -> ProjectDuplicateRequest {
        ProjectDuplicateRequest {
            name,
            team: None,
            include: None,
            schedule_dates: None,
        }
    }
}

/// The elements that will be duplicated to the new project. Tasks are always included.
#[derive(
    Clone,
    Copy,
    Debug,
    Eq,
    PartialEq,
    Ord,
    PartialOrd,
    Hash,
    Serialize,
    Deserialize
)]
pub enum Include {
    #[serde(rename = "members")]
    Members,
    #[serde(rename = "notes")]
    Notes,
    #[serde(rename = "task_notes")]
    TaskNotes,
    #[serde(rename = "task_assignee")]
    TaskAssignee,
    #[serde(rename = "task_subtasks")]
    TaskSubtasks,
    #[serde(rename = "task_attachments")]
    TaskAttachments,
    #[serde(rename = "task_dates")]
    TaskDates,
    #[serde(rename = "task_dependencies")]
    TaskDependencies,
    #[serde(rename = "task_followers")]
    TaskFollowers,
    #[serde(rename = "task_tags")]
    TaskTags,
    #[serde(rename = "task_projects")]
    TaskProjects,
}