figma_api/models/
get_file.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct GetFile {
16 #[serde(rename = "name")]
18 pub name: String,
19 #[serde(rename = "role")]
20 pub role: models::Role,
21 #[serde(rename = "lastModified")]
23 pub last_modified: String,
24 #[serde(rename = "editorType")]
25 pub editor_type: models::EditorType,
26 #[serde(rename = "thumbnailUrl", skip_serializing_if = "Option::is_none")]
28 pub thumbnail_url: Option<String>,
29 #[serde(rename = "version")]
31 pub version: String,
32 #[serde(rename = "document")]
33 pub document: Box<models::DocumentNode>,
34 #[serde(rename = "components")]
36 pub components: std::collections::HashMap<String, models::Component>,
37 #[serde(rename = "componentSets")]
39 pub component_sets: std::collections::HashMap<String, models::ComponentSet>,
40 #[serde(rename = "schemaVersion")]
42 pub schema_version: f64,
43 #[serde(rename = "styles")]
45 pub styles: std::collections::HashMap<String, models::Style>,
46 #[serde(rename = "linkAccess", skip_serializing_if = "Option::is_none")]
48 pub link_access: Option<String>,
49 #[serde(rename = "mainFileKey", skip_serializing_if = "Option::is_none")]
51 pub main_file_key: Option<String>,
52 #[serde(rename = "branches", skip_serializing_if = "Option::is_none")]
54 pub branches: Option<Vec<models::GetFileBranchesItem>>,
55}
56
57impl GetFile {
58 pub fn new(name: String, role: models::Role, last_modified: String, editor_type: models::EditorType, version: String, document: models::DocumentNode, components: std::collections::HashMap<String, models::Component>, component_sets: std::collections::HashMap<String, models::ComponentSet>, schema_version: f64, styles: std::collections::HashMap<String, models::Style>) -> GetFile {
59 GetFile {
60 name,
61 role,
62 last_modified,
63 editor_type,
64 thumbnail_url: None,
65 version,
66 document: Box::new(document),
67 components,
68 component_sets,
69 schema_version,
70 styles,
71 link_access: None,
72 main_file_key: None,
73 branches: None,
74 }
75 }
76}
77