use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub struct SeasonRewardSchema {
#[serde(rename = "code")]
pub code: String,
#[serde(rename = "type")]
pub r#type: models::RewardType,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "required_points")]
pub required_points: i32,
#[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
pub quantity: Option<i32>,
#[serde(rename = "member_required", skip_serializing_if = "Option::is_none")]
pub member_required: Option<bool>,
#[serde(rename = "first_only", skip_serializing_if = "Option::is_none")]
pub first_only: Option<bool>,
}
impl SeasonRewardSchema {
pub fn new(
code: String,
r#type: models::RewardType,
description: String,
required_points: i32,
) -> SeasonRewardSchema {
SeasonRewardSchema {
code,
r#type,
description,
required_points,
quantity: None,
member_required: None,
first_only: None,
}
}
}