Next release #38

Merged
phoenix merged 3 commits from devel into main 2025-04-10 23:49:20 +00:00
2 changed files with 25 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "icarus_models" name = "icarus_models"
version = "0.4.1" version = "0.4.3"
edition = "2024" edition = "2024"
rust-version = "1.86" rust-version = "1.86"
description = "models used for the icarus project" description = "models used for the icarus project"

View File

@@ -5,10 +5,10 @@ use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Token { pub struct Token {
pub scope: String, pub scope: String,
pub expiration: i32, pub expiration: i64,
pub audience: String, pub audience: String,
pub issuer: String, pub issuer: String,
pub issued: i32, pub issued: i64,
} }
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Debug, Deserialize, Serialize)]
@@ -22,7 +22,7 @@ pub struct AccessToken {
#[serde(alias = "token_type")] #[serde(alias = "token_type")]
pub token_type: String, pub token_type: String,
#[serde(alias = "expiration")] #[serde(alias = "expiration")]
pub expiration: i32, pub expiration: i64,
#[serde(alias = "message")] #[serde(alias = "message")]
pub message: String, pub message: String,
} }
@@ -57,14 +57,27 @@ impl Token {
false false
} }
// TODO: Implement
pub fn contains_scope(&self, des_scope: &String) -> bool { pub fn contains_scope(&self, des_scope: &String) -> bool {
let extracted_token: String = String::from("Token"); self.scope.contains(des_scope)
}
if extracted_token == *des_scope {
return true;
} }
false #[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_token_scope_check() {
let mut token = Token::default();
token.scope = String::from("song:read song:upload song:download");
let check_scope = String::from("song:download");
let result = token.contains_scope(&check_scope);
assert!(
result,
"Error: The scope {:?} was not found in the token's scope {:?}",
check_scope, token.scope
);
} }
} }