safeapp-notifier 0.7.2

Safe App Notifications Service
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WelcomePayload {
    pub user_name: String,
    pub plan_name: String,
    pub dashboard_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PaymentSucceededPayload {
    pub user_name: String,
    pub plan_name: String,
    pub amount_formatted: String,
    pub paid_date: String,
    pub dashboard_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PaymentFailedPayload {
    pub user_name: String,
    pub plan_name: String,
    pub amount_formatted: String,
    pub attempt_date: String,
    pub update_payment_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BillingPaymentFailedPayload {
    pub user_name: String,
    pub invoice_date: String,
    pub amount_due_formatted: String,
    pub payment_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OverageInvoiceCreatedPayload {
    pub user_name: String,
    pub period: String,
    pub overage_disputes: String,
    pub overage_amount_formatted: String,
    pub payment_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UpcomingInvoicePayload {
    pub user_name: String,
    pub plan_name: String,
    pub amount_formatted: String,
    pub invoice_date: String,
    pub dashboard_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrialExpiredPayload {
    pub user_name: String,
    pub plan_name: String,
    pub upgrade_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrialEndingPayload {
    pub user_name: String,
    pub plan_name: String,
    pub trial_end_date: String,
    pub days_remaining: String,
    pub upgrade_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrialStartedPayload {
    pub user_name: String,
    pub plan_name: String,
    pub trial_period_days: String,
    pub trial_end_date: String,
    pub dashboard_url: String,
    pub upgrade_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanDowngradedPayload {
    pub user_name: String,
    pub old_tier: String,
    pub new_tier: String,
    pub effective_date: String,
    pub plan_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanUpgradedPayload {
    pub user_name: String,
    pub new_tier: String,
    pub effective_date: String,
    pub plan_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanRenewedPayload {
    pub user_name: String,
    pub plan_name: String,
    pub amount_formatted: String,
    pub next_billing_date: String,
    pub dashboard_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanCancelledPayload {
    pub user_name: String,
    pub plan_name: String,
    pub cancel_at: String,
    pub plans_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BillingPlanCancelledPayload {
    pub user_name: String,
    pub cancellation_date: String,
    pub dashboard_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PlanPurchasedPayload {
    pub user_name: String,
    pub plan_name: String,
    pub billing_interval: String,
    pub amount_formatted: String,
    pub next_billing_date: String,
    pub dashboard_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SuccessFeeInvoicePayload {
    pub recovered_amount_formatted: String,
    pub period: String,
    pub success_fee_amount_formatted: String,
    pub user_name: String,
    pub disputes_won_count: String,
    pub payment_url: String,
    pub support_url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SuccessFeeAddedPayload {
    pub user_name: String,
    pub order_number: String,
    pub success_fee_recorded_formatted: String,
    pub dispute_id: String,
    pub billing_url: String,
    pub dashboard_url: String,
    pub support_url: String,
}