/*
* Bluefin API
*
* Bluefin API
*
* The version of the OpenAPI document: 1.0.0
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AffiliateIntervalOverview {
/// The user's wallet address
#[serde(rename = "userAddress")]
pub user_address: String,
/// Name of the affiliate
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// The interval number for the affiliate's earnings data
#[serde(rename = "intervalNumber")]
pub interval_number: i32,
/// Start date of the interval in seconds
#[serde(rename = "intervalStartDate")]
pub interval_start_date: i32,
/// End date of the interval in seconds
#[serde(rename = "intervalEndDate")]
pub interval_end_date: i32,
/// Status of the interval
#[serde(rename = "status")]
pub status: Status,
/// Date when the user was referred
#[serde(rename = "referredSince")]
pub referred_since: String,
/// Referee earnings from perps trading (e9 format)
#[serde(rename = "perpsRefereeEarningsE9")]
pub perps_referee_earnings_e9: String,
/// Referee earnings from spot LP (e9 format)
#[serde(rename = "spotLPRefereeEarningsE9")]
pub spot_lp_referee_earnings_e9: String,
/// Referee earnings from lending (e9 format)
#[serde(rename = "lendingRefereeEarningsE9")]
pub lending_referee_earnings_e9: String,
/// Referee earnings from ember (e9 format)
#[serde(rename = "emberRefereeEarningsE9")]
pub ember_referee_earnings_e9: String,
/// Referral earnings from perps trading (e9 format)
#[serde(rename = "perpsReferralEarningsE9")]
pub perps_referral_earnings_e9: String,
/// Referral earnings from spot LP (e9 format)
#[serde(rename = "spotLPReferralEarningsE9")]
pub spot_lp_referral_earnings_e9: String,
/// Referral earnings from lending (e9 format)
#[serde(rename = "lendingReferralEarningsE9")]
pub lending_referral_earnings_e9: String,
/// Total earnings from ember (e9 format)
#[serde(rename = "emberTotalEarningsE9")]
pub ember_total_earnings_e9: String,
/// Total earnings from perps trading (e9 format)
#[serde(rename = "perpsTotalEarningsE9")]
pub perps_total_earnings_e9: String,
/// Total earnings from spot LP (e9 format)
#[serde(rename = "spotLPTotalEarningsE9")]
pub spot_lp_total_earnings_e9: String,
/// Total earnings from lending (e9 format)
#[serde(rename = "lendingTotalEarningsE9")]
pub lending_total_earnings_e9: String,
/// Total earnings from referrals (e9 format)
#[serde(rename = "totalReferralEarningsE9")]
pub total_referral_earnings_e9: String,
/// Total earnings from referee activities (e9 format)
#[serde(rename = "totalRefereeEarningsE9")]
pub total_referee_earnings_e9: String,
/// Total earnings combining referrals and referee activities (e9 format)
#[serde(rename = "totalEarningsE9")]
pub total_earnings_e9: String,
}
impl AffiliateIntervalOverview {
pub fn new(user_address: String, interval_number: i32, interval_start_date: i32, interval_end_date: i32, status: Status, referred_since: String, perps_referee_earnings_e9: String, spot_lp_referee_earnings_e9: String, lending_referee_earnings_e9: String, ember_referee_earnings_e9: String, perps_referral_earnings_e9: String, spot_lp_referral_earnings_e9: String, lending_referral_earnings_e9: String, ember_total_earnings_e9: String, perps_total_earnings_e9: String, spot_lp_total_earnings_e9: String, lending_total_earnings_e9: String, total_referral_earnings_e9: String, total_referee_earnings_e9: String, total_earnings_e9: String) -> AffiliateIntervalOverview {
AffiliateIntervalOverview {
user_address,
name: None,
interval_number,
interval_start_date,
interval_end_date,
status,
referred_since,
perps_referee_earnings_e9,
spot_lp_referee_earnings_e9,
lending_referee_earnings_e9,
ember_referee_earnings_e9,
perps_referral_earnings_e9,
spot_lp_referral_earnings_e9,
lending_referral_earnings_e9,
ember_total_earnings_e9,
perps_total_earnings_e9,
spot_lp_total_earnings_e9,
lending_total_earnings_e9,
total_referral_earnings_e9,
total_referee_earnings_e9,
total_earnings_e9,
}
}
}
/// Status of the interval
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "ACTIVE")]
Active,
#[serde(rename = "NOT_STARTED")]
NotStarted,
#[serde(rename = "FINALIZED")]
Finalized,
#[serde(rename = "COOLDOWN")]
Cooldown,
}
impl Default for Status {
fn default() -> Status {
Self::Active
}
}