Compare commits

..

4 Commits

Author SHA1 Message Date
6aa4c3d741 Merge pull request 'Next release' (#38) from devel into main
All checks were successful
Release Tagging / release (push) Successful in 42s
Rust Build / Check (push) Successful in 33s
Rust Build / Test Suite (push) Successful in 39s
Rust Build / Rustfmt (push) Successful in 31s
Rust Build / Clippy (push) Successful in 37s
Rust Build / build (push) Successful in 30s
Rust Build / Check (pull_request) Successful in 27s
Rust Build / Test Suite (pull_request) Successful in 25s
Rust Build / Rustfmt (pull_request) Successful in 25s
Rust Build / Clippy (pull_request) Successful in 27s
Rust Build / build (pull_request) Successful in 26s
Reviewed-on: #38
2025-04-10 23:49:19 +00:00
47475639b0 Version bump (#40)
All checks were successful
Release Tagging / release (push) Successful in 47s
Rust Build / Check (push) Successful in 32s
Rust Build / Test Suite (push) Successful in 40s
Rust Build / Rustfmt (push) Successful in 32s
Rust Build / Clippy (push) Successful in 39s
Rust Build / build (push) Successful in 33s
Rust Build / Check (pull_request) Successful in 40s
Rust Build / Test Suite (pull_request) Successful in 42s
Rust Build / Rustfmt (pull_request) Successful in 25s
Rust Build / Clippy (pull_request) Successful in 40s
Rust Build / build (pull_request) Successful in 39s
Reviewed-on: #40
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-04-10 23:28:00 +00:00
73c17840ff Implemented functionality and wrote test for checking token scope (#39)
All checks were successful
Release Tagging / release (push) Successful in 54s
Rust Build / Check (push) Successful in 40s
Rust Build / Test Suite (push) Successful in 34s
Rust Build / Rustfmt (push) Successful in 36s
Rust Build / Clippy (push) Successful in 31s
Rust Build / build (push) Successful in 37s
Rust Build / Check (pull_request) Successful in 28s
Rust Build / Test Suite (pull_request) Successful in 41s
Rust Build / Rustfmt (pull_request) Successful in 33s
Rust Build / Clippy (pull_request) Successful in 37s
Rust Build / build (pull_request) Successful in 27s
Reviewed-on: #39
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-04-10 22:30:01 +00:00
2dbed9fec9 token_type_change (#37)
All checks were successful
Release Tagging / release (push) Successful in 33s
Rust Build / Check (push) Successful in 29s
Rust Build / Test Suite (push) Successful in 38s
Rust Build / Rustfmt (push) Successful in 31s
Rust Build / Clippy (push) Successful in 38s
Rust Build / build (push) Successful in 29s
Rust Build / Check (pull_request) Successful in 30s
Rust Build / Test Suite (pull_request) Successful in 37s
Rust Build / Rustfmt (pull_request) Successful in 29s
Rust Build / Clippy (pull_request) Successful in 36s
Rust Build / build (pull_request) Successful in 31s
Reviewed-on: #37
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-04-09 02:38: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;
} #[cfg(test)]
mod tests {
false 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
);
} }
} }