appwrite_openapi 1.0.0

AUTO-GENERATED client for Appwrite. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
Documentation
/*
 * Appwrite
 *
 * Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
 *
 * The version of the OpenAPI document: 1.4.9
 * Contact: team@appwrite.io
 * Generated by: https://openapi-generator.tech
 */

/// Collection : Collection



#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Collection {
    /// Collection ID.
    #[serde(rename = "$id")]
    pub dollar_id: String,
    /// Collection creation date in ISO 8601 format.
    #[serde(rename = "$createdAt")]
    pub dollar_created_at: String,
    /// Collection update date in ISO 8601 format.
    #[serde(rename = "$updatedAt")]
    pub dollar_updated_at: String,
    /// Collection permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
    #[serde(rename = "$permissions")]
    pub dollar_permissions: Vec<String>,
    /// Database ID.
    #[serde(rename = "databaseId")]
    pub database_id: String,
    /// Collection name.
    #[serde(rename = "name")]
    pub name: String,
    /// Collection enabled. Can be 'enabled' or 'disabled'. When disabled, the collection is inaccessible to users, but remains accessible to Server SDKs using API keys.
    #[serde(rename = "enabled")]
    pub enabled: bool,
    /// Whether document-level permissions are enabled. [Learn more about permissions](https://appwrite.io/docs/permissions).
    #[serde(rename = "documentSecurity")]
    pub document_security: bool,
    /// Collection attributes.
    #[serde(rename = "attributes")]
    pub attributes: Vec<serde_json::Value>,
    /// Collection indexes.
    #[serde(rename = "indexes")]
    pub indexes: Vec<crate::models::Index>,
}

impl Collection {
    /// Collection
    pub fn new(dollar_id: String, dollar_created_at: String, dollar_updated_at: String, dollar_permissions: Vec<String>, database_id: String, name: String, enabled: bool, document_security: bool, attributes: Vec<serde_json::Value>, indexes: Vec<crate::models::Index>) -> Collection {
        Collection {
            dollar_id,
            dollar_created_at,
            dollar_updated_at,
            dollar_permissions,
            database_id,
            name,
            enabled,
            document_security,
            attributes,
            indexes,
        }
    }
}