/*
 * VRChat API Documentation
 *
 *
 * Contact: me@ariesclark.com
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct File {
    #[serde(rename = "extension")]
    pub extension: String,
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "mimeType")]
    pub mime_type: crate::models::MimeType,
    #[serde(rename = "name")]
    pub name: String,
    /// A users unique ID, usually in the form of `usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469`. Legacy players can have old IDs in the form of `8JoV9XEdpo`. The ID can never be changed.
    #[serde(rename = "ownerId")]
    pub owner_id: String,
    #[serde(rename = "tags")]
    pub tags: Vec<String>,
    #[serde(rename = "versions")]
    pub versions: Vec<crate::models::FileVersion>,
}

impl File {
    pub fn new(extension: String, id: String, mime_type: crate::models::MimeType, name: String, owner_id: String, tags: Vec<String>, versions: Vec<crate::models::FileVersion>) -> File {
        File {
            extension,
            id,
            mime_type,
            name,
            owner_id,
            tags,
            versions,
        }
    }
}


