use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetFile {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "role")]
pub role: models::Role,
#[serde(rename = "lastModified")]
pub last_modified: String,
#[serde(rename = "editorType")]
pub editor_type: models::EditorType,
#[serde(rename = "thumbnailUrl", skip_serializing_if = "Option::is_none")]
pub thumbnail_url: Option<String>,
#[serde(rename = "version")]
pub version: String,
#[serde(rename = "document")]
pub document: Box<models::DocumentNode>,
#[serde(rename = "components")]
pub components: std::collections::HashMap<String, models::Component>,
#[serde(rename = "componentSets")]
pub component_sets: std::collections::HashMap<String, models::ComponentSet>,
#[serde(rename = "schemaVersion")]
pub schema_version: f64,
#[serde(rename = "styles")]
pub styles: std::collections::HashMap<String, models::Style>,
#[serde(rename = "linkAccess", skip_serializing_if = "Option::is_none")]
pub link_access: Option<String>,
#[serde(rename = "mainFileKey", skip_serializing_if = "Option::is_none")]
pub main_file_key: Option<String>,
#[serde(rename = "branches", skip_serializing_if = "Option::is_none")]
pub branches: Option<Vec<models::GetFileBranchesItem>>,
}
impl GetFile {
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 {
GetFile {
name,
role,
last_modified,
editor_type,
thumbnail_url: None,
version,
document: Box::new(document),
components,
component_sets,
schema_version,
styles,
link_access: None,
main_file_key: None,
branches: None,
}
}
}