use serde::{Deserialize, Serialize};
use crate::credentials::TokenExpiry;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserToken {
pub(crate) refresh_token: String,
pub(crate) access_token: String,
pub(crate) expiry: u64,
}
impl UserToken {
pub fn access_token(&self) -> String {
self.access_token.to_string()
}
pub fn as_header(&self) -> String {
format!("Bearer {}", self.access_token)
}
}
impl<'a> TokenExpiry<'a> for UserToken {
fn expires_at_secs(&self) -> u64 {
self.expiry
}
}