Skip to main content

qobuz_api/models/
subscription.rs

1//! Subscription and user data models.
2
3use serde::{Deserialize, Serialize};
4
5use crate::models::credential::Credential;
6
7/// User subscription details.
8#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
9pub struct Subscription {
10    /// Subscription ID.
11    pub id: Option<i32>,
12    /// Subscription plan name.
13    pub offer: Option<String>,
14    /// Subscription start date.
15    pub start_date: Option<String>,
16    /// Subscription end date.
17    pub end_date: Option<String>,
18    /// Subscription status.
19    pub status: Option<String>,
20    /// Whether the subscription is active.
21    pub is_active: Option<bool>,
22}
23
24/// A Qobuz user.
25#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
26pub struct User {
27    /// User ID.
28    pub id: Option<i32>,
29    /// User credentials/capabilities.
30    pub credential: Option<Credential>,
31    /// Subscription details.
32    pub subscription: Option<Subscription>,
33    /// Display name.
34    pub display_name: Option<String>,
35}