From abfec8d287513cba6405f9a99badf958ef8ef6c5 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 19 Aug 2025 18:08:10 -0400 Subject: [PATCH 1/5] tsk-57: Adding utoipia crate for documentation --- Cargo.lock | 25 +++++++++++++++++++++++++ Cargo.toml | 1 + 2 files changed, 26 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 30c190e..5cfd928 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,6 +150,7 @@ dependencies = [ "serde_json", "tempfile", "time", + "utoipa", "uuid", ] @@ -161,6 +162,7 @@ checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", "hashbrown", + "serde", ] [[package]] @@ -527,6 +529,29 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +[[package]] +name = "utoipa" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" +dependencies = [ + "indexmap", + "serde", + "serde_json", + "utoipa-gen", +] + +[[package]] +name = "utoipa-gen" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "uuid" version = "1.17.0" diff --git a/Cargo.toml b/Cargo.toml index 1680962..ca39748 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,7 @@ rand = { version = "0.9.1" } time = { version = "0.3.41", features = ["formatting", "macros", "parsing", "serde"] } uuid = { version = "1.17.0", features = ["v4", "serde"] } josekit = { version = "0.10.3" } +utoipa = { version = "5.4.0" } [dev-dependencies] tempfile = { version = "3.20.0" } -- 2.43.0 From 0950267a488e271d6a502b5cdf1a8529df01cfd6 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 19 Aug 2025 18:21:06 -0400 Subject: [PATCH 2/5] tsk-57: Added uuid feature for utoipa --- Cargo.lock | 1 + Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 5cfd928..643dd7c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -550,6 +550,7 @@ dependencies = [ "proc-macro2", "quote", "syn", + "uuid", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index ca39748..0463a78 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ rand = { version = "0.9.1" } time = { version = "0.3.41", features = ["formatting", "macros", "parsing", "serde"] } uuid = { version = "1.17.0", features = ["v4", "serde"] } josekit = { version = "0.10.3" } -utoipa = { version = "5.4.0" } +utoipa = { version = "5.4.0", features = ["uuid"] } [dev-dependencies] tempfile = { version = "3.20.0" } -- 2.43.0 From 57fd5c302917db8d61070436ba781f2ccae8292b Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 19 Aug 2025 18:24:26 -0400 Subject: [PATCH 3/5] tsk-57: Added time feature to utoipa --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 0463a78..0002a03 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ rand = { version = "0.9.1" } time = { version = "0.3.41", features = ["formatting", "macros", "parsing", "serde"] } uuid = { version = "1.17.0", features = ["v4", "serde"] } josekit = { version = "0.10.3" } -utoipa = { version = "5.4.0", features = ["uuid"] } +utoipa = { version = "5.4.0", features = ["uuid", "time"] } [dev-dependencies] tempfile = { version = "3.20.0" } -- 2.43.0 From 1c1826ff324d19554393dfad4a288f392e022b1f Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 19 Aug 2025 18:24:55 -0400 Subject: [PATCH 4/5] tsk-57: Added schema to models --- src/access_level.rs | 2 +- src/coverart.rs | 2 +- src/login_result.rs | 2 +- src/song.rs | 2 +- src/user.rs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/access_level.rs b/src/access_level.rs index 3c828e1..35901f2 100644 --- a/src/access_level.rs +++ b/src/access_level.rs @@ -2,7 +2,7 @@ use std::default::Default; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize, utoipa::ToSchema)] pub struct AccessLevel { pub id: uuid::Uuid, pub level: String, diff --git a/src/coverart.rs b/src/coverart.rs index c0fcfe0..35c607b 100644 --- a/src/coverart.rs +++ b/src/coverart.rs @@ -2,7 +2,7 @@ use std::io::Read; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Default, Deserialize, Serialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize, utoipa::ToSchema)] pub struct CoverArt { pub id: uuid::Uuid, pub title: String, diff --git a/src/login_result.rs b/src/login_result.rs index 629d1c4..670be51 100644 --- a/src/login_result.rs +++ b/src/login_result.rs @@ -2,7 +2,7 @@ use std::default::Default; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize, utoipa::ToSchema)] pub struct LoginResult { pub id: uuid::Uuid, pub username: String, diff --git a/src/song.rs b/src/song.rs index fe85843..2fbd3d9 100644 --- a/src/song.rs +++ b/src/song.rs @@ -7,7 +7,7 @@ use crate::types; use rand::Rng; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Default, Deserialize, Serialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize, utoipa::ToSchema)] pub struct Song { #[serde(skip_serializing_if = "init::is_uuid_nil")] #[serde(alias = "id")] diff --git a/src/user.rs b/src/user.rs index 5095618..8b95b2c 100644 --- a/src/user.rs +++ b/src/user.rs @@ -4,7 +4,7 @@ use crate::init; use serde::{Deserialize, Serialize}; -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize, utoipa::ToSchema)] pub struct User { #[serde(skip_serializing_if = "init::is_uuid_nil")] pub id: uuid::Uuid, -- 2.43.0 From 13b030bbcabeff9c7a7593929db508dee5db6914 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 19 Aug 2025 18:26:22 -0400 Subject: [PATCH 5/5] tsk-57: Version bump --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 643dd7c..3354901 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -142,7 +142,7 @@ checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" [[package]] name = "icarus_models" -version = "0.5.5" +version = "0.5.6" dependencies = [ "josekit", "rand", diff --git a/Cargo.toml b/Cargo.toml index 0002a03..3ddb8f5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus_models" -version = "0.5.5" +version = "0.5.6" edition = "2024" rust-version = "1.88" description = "models used for the icarus project" -- 2.43.0