figma_api/models/
variable_create.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct VariableCreate {
17 #[serde(rename = "action")]
19 pub action: Action,
20 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
22 pub id: Option<String>,
23 #[serde(rename = "name")]
25 pub name: String,
26 #[serde(rename = "variableCollectionId")]
28 pub variable_collection_id: String,
29 #[serde(rename = "resolvedType")]
31 pub resolved_type: ResolvedType,
32 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
34 pub description: Option<String>,
35 #[serde(rename = "hiddenFromPublishing", skip_serializing_if = "Option::is_none")]
37 pub hidden_from_publishing: Option<bool>,
38 #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
40 pub scopes: Option<Vec<models::VariableScope>>,
41 #[serde(rename = "codeSyntax", skip_serializing_if = "Option::is_none")]
42 pub code_syntax: Option<Box<models::VariableCodeSyntax>>,
43}
44
45impl VariableCreate {
46 pub fn new(action: Action, name: String, variable_collection_id: String, resolved_type: ResolvedType) -> VariableCreate {
48 VariableCreate {
49 action,
50 id: None,
51 name,
52 variable_collection_id,
53 resolved_type,
54 description: None,
55 hidden_from_publishing: None,
56 scopes: None,
57 code_syntax: None,
58 }
59 }
60}
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
63pub enum Action {
64 #[serde(rename = "CREATE")]
65 Create,
66}
67
68impl Default for Action {
69 fn default() -> Action {
70 Self::Create
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum ResolvedType {
76 #[serde(rename = "BOOLEAN")]
77 Boolean,
78 #[serde(rename = "FLOAT")]
79 Float,
80 #[serde(rename = "STRING")]
81 String,
82 #[serde(rename = "COLOR")]
83 Color,
84}
85
86impl Default for ResolvedType {
87 fn default() -> ResolvedType {
88 Self::Boolean
89 }
90}
91