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