use chrono::serde::ts_seconds;
use chrono::serde::ts_seconds_option;
use chrono::{DateTime, Utc};
use serde::Deserialize;
#[derive(Debug, Eq, PartialEq, Deserialize)]
pub enum ActivationMethod {
Offline,
Online,
}
#[derive(Debug, Deserialize)]
pub struct LicenseTokenClaims {
pub method: ActivationMethod,
#[serde(rename = "p:rel")]
pub product_latest_version: Option<String>,
#[serde(rename = "u:name")]
pub user_name: String,
#[serde(rename = "sig")]
pub device_signature: String,
#[serde(rename = "validated", with = "ts_seconds")]
pub last_validated: DateTime<Utc>,
#[serde(rename = "exp", with = "ts_seconds_option", default)]
pub expires_at: Option<DateTime<Utc>>,
pub trial: bool,
}