Files
icarus_models/src/access_level.rs
phoenix 2d6b550ae6
All checks were successful
Rust Build / Check (push) Successful in 31s
Rust Build / Test Suite (push) Successful in 1m0s
Rust Build / Rustfmt (push) Successful in 31s
Rust Build / Clippy (push) Successful in 37s
Rust Build / build (push) Successful in 46s
tsk-57: Adding derive Schema to models (#58)
Closes #57

Reviewed-on: #58
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-08-24 23:42:04 +00:00

43 lines
940 B
Rust

use std::default::Default;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Serialize, utoipa::ToSchema)]
pub struct AccessLevel {
pub id: uuid::Uuid,
pub level: String,
pub song_id: uuid::Uuid,
}
impl Default for AccessLevel {
fn default() -> Self {
AccessLevel {
id: uuid::Uuid::nil(),
level: String::new(),
song_id: uuid::Uuid::new_v4(),
}
}
}
pub fn default_level() -> AccessLevel {
AccessLevel {
id: uuid::Uuid::nil(),
level: String::from("Public"),
song_id: uuid::Uuid::new_v4(),
}
}
pub fn private_level() -> AccessLevel {
AccessLevel {
id: uuid::Uuid::new_v4(),
level: String::from("Private"),
song_id: uuid::Uuid::new_v4(),
}
}
impl AccessLevel {
pub fn _to_json(&self) -> Result<String, serde_json::Error> {
serde_json::to_string_pretty(&self)
}
}