use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TokenModel {
#[serde(rename = "pk")]
pub pk: i32,
#[serde(rename = "provider")]
pub provider: Box<models::OAuth2Provider>,
#[serde(rename = "user")]
pub user: Box<models::User>,
#[serde(rename = "is_expired")]
pub is_expired: bool,
#[serde(rename = "expires", skip_serializing_if = "Option::is_none")]
pub expires: Option<String>,
#[serde(rename = "scope")]
pub scope: Vec<String>,
#[serde(rename = "id_token")]
pub id_token: String,
#[serde(rename = "revoked", skip_serializing_if = "Option::is_none")]
pub revoked: Option<bool>,
}
impl TokenModel {
pub fn new(pk: i32, provider: models::OAuth2Provider, user: models::User, is_expired: bool, scope: Vec<String>, id_token: String) -> TokenModel {
TokenModel {
pk,
provider: Box::new(provider),
user: Box::new(user),
is_expired,
expires: None,
scope,
id_token,
revoked: None,
}
}
}