use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClaimReferralCodeDtoData {
#[serde(rename = "sender")]
pub sender: String,
#[serde(rename = "intent")]
pub intent: Intent,
#[serde(rename = "signedAt")]
pub signed_at: i64,
#[serde(rename = "code")]
pub code: String,
}
impl ClaimReferralCodeDtoData {
pub fn new(
sender: String,
intent: Intent,
signed_at: i64,
code: String,
) -> ClaimReferralCodeDtoData {
ClaimReferralCodeDtoData {
sender,
intent,
signed_at,
code,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Intent {
#[serde(rename = "0")]
REFERRAL_ACTIVATION,
#[serde(rename = "1")]
REFERRAL_CLAIM,
#[serde(rename = "2")]
REFERRAL_READ,
}
impl Default for Intent {
fn default() -> Intent {
Self::REFERRAL_ACTIVATION
}
}