Files
icarus_models/src/token.rs
phoenix 61ad88a258
All checks were successful
Release Tagging / release (push) Successful in 29s
Rust Build / Check (push) Successful in 26s
Rust Build / Test Suite (push) Successful in 26s
Rust Build / Rustfmt (push) Successful in 33s
Rust Build / Clippy (push) Successful in 30s
Rust Build / build (push) Successful in 28s
First model change (#23)
Reviewed-on: #23
Co-authored-by: phoenix <kundeng94@gmail.com>
Co-committed-by: phoenix <kundeng94@gmail.com>
2025-04-04 01:48:27 +00:00

71 lines
1.5 KiB
Rust

use std::default::Default;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Token {
pub scope: String,
pub expiration: i32,
pub audience: String,
pub issuer: String,
pub issued: i32,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct AccessToken {
#[serde(alias = "init::is_uuid_nil")]
pub user_id: uuid::Uuid,
#[serde(alias = "username")]
pub username: String,
#[serde(alias = "token")]
pub token: String,
#[serde(alias = "token_type")]
pub token_type: String,
#[serde(alias = "expiration")]
pub expiration: i32,
#[serde(alias = "message")]
pub message: String,
}
impl Default for Token {
fn default() -> Self {
Token {
scope: String::new(),
expiration: -1,
audience: String::new(),
issuer: String::new(),
issued: -1,
}
}
}
impl AccessToken {
pub fn bearer_token(&self) -> String {
let mut token: String = String::from("Bearer ");
token += &self.token.clone();
token
}
}
impl Token {
pub fn _to_json(&self) -> Result<String, serde_json::Error> {
serde_json::to_string_pretty(&self)
}
// TODO: Implement
pub fn token_expired(&self) -> bool {
false
}
// TODO: Implement
pub fn contains_scope(&self, des_scope: &String) -> bool {
let extracted_token: String = String::from("Token");
if extracted_token == *des_scope {
return true;
}
false
}
}