#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Session {
#[serde(rename = "object")]
pub object: Object,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "user_id")]
pub user_id: String,
#[serde(rename = "client_id")]
pub client_id: String,
#[serde(rename = "actor", skip_serializing_if = "Option::is_none")]
pub actor: Option<serde_json::Value>,
#[serde(rename = "status")]
pub status: Status,
#[serde(rename = "last_active_organization_id", skip_serializing_if = "Option::is_none")]
pub last_active_organization_id: Option<String>,
#[serde(rename = "last_active_at")]
pub last_active_at: i64,
#[serde(rename = "expire_at")]
pub expire_at: i64,
#[serde(rename = "abandon_at")]
pub abandon_at: i64,
#[serde(rename = "updated_at")]
pub updated_at: i64,
#[serde(rename = "created_at")]
pub created_at: i64,
}
impl Session {
pub fn new(
object: Object,
id: String,
user_id: String,
client_id: String,
status: Status,
last_active_at: i64,
expire_at: i64,
abandon_at: i64,
updated_at: i64,
created_at: i64,
) -> Session {
Session {
object,
id,
user_id,
client_id,
actor: None,
status,
last_active_organization_id: None,
last_active_at,
expire_at,
abandon_at,
updated_at,
created_at,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
#[serde(rename = "session")]
Session,
}
impl Default for Object {
fn default() -> Object {
Self::Session
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "active")]
Active,
#[serde(rename = "revoked")]
Revoked,
#[serde(rename = "ended")]
Ended,
#[serde(rename = "expired")]
Expired,
#[serde(rename = "removed")]
Removed,
#[serde(rename = "abandoned")]
Abandoned,
#[serde(rename = "replaced")]
Replaced,
}
impl Default for Status {
fn default() -> Status {
Self::Active
}
}