figma-api 0.31.4

This is the OpenAPI specification for the [Figma REST API](https://www.figma.com/developers/api). Note: we are releasing the OpenAPI specification as a beta given the large surface area and complexity of the REST API. If you notice any inaccuracies with the specification, please [file an issue](https://github.com/figma/rest-api-spec/issues).
Documentation
/*
 * Figma API
 *
 * This is the OpenAPI specification for the [Figma REST API](https://www.figma.com/developers/api).  Note: we are releasing the OpenAPI specification as a beta given the large surface area and complexity of the REST API. If you notice any inaccuracies with the specification, please [file an issue](https://github.com/figma/rest-api-spec/issues).
 *
 * The version of the OpenAPI document: 0.31.0
 * Contact: support@figma.com
 * Generated by: https://openapi-generator.tech
 */

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

/// PublishedVariable : A Variable is a single design token that defines values for each of the modes in its VariableCollection. These values can be applied to various kinds of design properties.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PublishedVariable {
    /// The unique identifier of this variable.
    #[serde(rename = "id")]
    pub id: String,
    /// The ID of the variable that is used by subscribing files. This ID changes every time the variable is modified and published.
    #[serde(rename = "subscribed_id")]
    pub subscribed_id: String,
    /// The name of this variable.
    #[serde(rename = "name")]
    pub name: String,
    /// The key of this variable.
    #[serde(rename = "key")]
    pub key: String,
    /// The id of the variable collection that contains this variable.
    #[serde(rename = "variableCollectionId")]
    pub variable_collection_id: String,
    /// The resolved type of the variable.
    #[serde(rename = "resolvedDataType")]
    pub resolved_data_type: ResolvedDataType,
    /// The UTC ISO 8601 time at which the variable was last updated.
    #[serde(rename = "updatedAt")]
    pub updated_at: String,
}

impl PublishedVariable {
    /// A Variable is a single design token that defines values for each of the modes in its VariableCollection. These values can be applied to various kinds of design properties.
    pub fn new(id: String, subscribed_id: String, name: String, key: String, variable_collection_id: String, resolved_data_type: ResolvedDataType, updated_at: String) -> PublishedVariable {
        PublishedVariable {
            id,
            subscribed_id,
            name,
            key,
            variable_collection_id,
            resolved_data_type,
            updated_at,
        }
    }
}
/// The resolved type of the variable.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ResolvedDataType {
    #[serde(rename = "BOOLEAN")]
    Boolean,
    #[serde(rename = "FLOAT")]
    Float,
    #[serde(rename = "STRING")]
    String,
    #[serde(rename = "COLOR")]
    Color,
}

impl Default for ResolvedDataType {
    fn default() -> ResolvedDataType {
        Self::Boolean
    }
}