use indexmap::IndexSet;
use serde::{Deserialize, Serialize};
use serde_json::Value;
use crate::tina::{data::id::Id, util::string::AsStr};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LoginUser {
pub user_id: Option<Id>,
pub user_name: Option<String>,
pub token: Option<String>,
pub login_time: Option<i64>,
pub expire_time: Option<i64>,
pub ipaddr: Option<String>,
pub login_location: Option<String>,
pub device: Option<String>,
pub os: Option<String>,
pub permissions: Option<IndexSet<String>>,
pub user: Option<Value>,
}
impl LoginUser {
pub fn get_username(&self) -> &str {
self.user_name.as_str()
}
}