vrchatapi 1.20.7

VRChat API Client for Rust
Documentation
/*
 * VRChat API Documentation
 *
 *
 * Contact: vrchatapi.lpv0t@aries.fyi
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ImagePurpose : Indication of the purpose for uploading images.
/// Indication of the purpose for uploading images.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ImagePurpose {
    #[serde(rename = "admin")]
    Admin,
    #[serde(rename = "avatargallery")]
    Avatargallery,
    #[serde(rename = "avatarimage")]
    Avatarimage,
    #[serde(rename = "bundle")]
    Bundle,
    #[serde(rename = "emoji")]
    Emoji,
    #[serde(rename = "emojianimated")]
    Emojianimated,
    #[serde(rename = "gallery")]
    Gallery,
    #[serde(rename = "icon")]
    Icon,
    #[serde(rename = "listinggallery")]
    Listinggallery,
    #[serde(rename = "product")]
    Product,
    #[serde(rename = "sticker")]
    Sticker,
}

impl std::fmt::Display for ImagePurpose {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Admin => write!(f, "admin"),
            Self::Avatargallery => write!(f, "avatargallery"),
            Self::Avatarimage => write!(f, "avatarimage"),
            Self::Bundle => write!(f, "bundle"),
            Self::Emoji => write!(f, "emoji"),
            Self::Emojianimated => write!(f, "emojianimated"),
            Self::Gallery => write!(f, "gallery"),
            Self::Icon => write!(f, "icon"),
            Self::Listinggallery => write!(f, "listinggallery"),
            Self::Product => write!(f, "product"),
            Self::Sticker => write!(f, "sticker"),
        }
    }
}

impl Default for ImagePurpose {
    fn default() -> ImagePurpose {
        Self::Admin
    }
}