Skip to main content

artifacts/models/
purchase_gems_request_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct PurchaseGemsRequestSchema {
7    /// Number of gems to purchase.
8    #[serde(rename = "quantity")]
9    pub quantity: Quantity,
10}
11
12impl PurchaseGemsRequestSchema {
13    pub fn new(quantity: Quantity) -> PurchaseGemsRequestSchema {
14        PurchaseGemsRequestSchema { quantity }
15    }
16}
17/// Number of gems to purchase.
18#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
19#[cfg_attr(feature = "specta", derive(specta::Type))]
20#[derive(Default)]
21pub enum Quantity {
22    #[serde(rename = "500")]
23    #[default]
24    Variant500,
25    #[serde(rename = "1100")]
26    Variant1100,
27    #[serde(rename = "2400")]
28    Variant2400,
29    #[serde(rename = "6125")]
30    Variant6125,
31    #[serde(rename = "12500")]
32    Variant12500,
33}