jira_v3_openapi 1.6.1

Jira Cloud platform REST API lib (OpenAPI document version: 1001.0.0-SNAPSHOT-af42c50d50804c2f1b8ad4bb80d52c53890867e2)
Documentation
/*
 * The Jira Cloud platform REST API
 *
 * Jira Cloud platform REST API documentation
 *
 * The version of the OpenAPI document: 1001.0.0-SNAPSHOT-af42c50d50804c2f1b8ad4bb80d52c53890867e2
 * Contact: ecosystem@atlassian.com
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// FieldCapabilityPayload : Defines the payload for the fields, screens, screen schemes, issue type screen schemes, field layouts, and field layout schemes
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FieldCapabilityPayload {
    /// The custom field definitions. See https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/\\#api-rest-api-3-field-post
    #[serde(rename = "customFieldDefinitions", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub custom_field_definitions: Option<Option<Vec<models::CustomFieldPayload>>>,
    #[serde(rename = "fieldLayoutScheme", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub field_layout_scheme: Option<Option<Box<models::FieldLayoutSchemePayload>>>,
    /// The field layouts configuration.
    #[serde(rename = "fieldLayouts", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub field_layouts: Option<Option<Vec<models::FieldLayoutPayload>>>,
    /// The issue layouts configuration
    #[serde(rename = "issueLayouts", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub issue_layouts: Option<Option<Vec<models::IssueLayoutPayload>>>,
    #[serde(rename = "issueTypeScreenScheme", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub issue_type_screen_scheme: Option<Option<Box<models::IssueTypeScreenSchemePayload>>>,
    /// The screen schemes See https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-schemes/\\#api-rest-api-3-screenscheme-post
    #[serde(rename = "screenScheme", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub screen_scheme: Option<Option<Vec<models::ScreenSchemePayload>>>,
    /// The screens. See https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screens/\\#api-rest-api-3-screens-post
    #[serde(rename = "screens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub screens: Option<Option<Vec<models::ScreenPayload>>>,
}

impl FieldCapabilityPayload {
    /// Defines the payload for the fields, screens, screen schemes, issue type screen schemes, field layouts, and field layout schemes
    pub fn new() -> FieldCapabilityPayload {
        FieldCapabilityPayload {
            custom_field_definitions: None,
            field_layout_scheme: None,
            field_layouts: None,
            issue_layouts: None,
            issue_type_screen_scheme: None,
            screen_scheme: None,
            screens: None,
        }
    }
}