Files
simodels/src/access_level.rs
T
2025-04-04 02:21:31 +00:00

43 lines
922 B
Rust

use std::default::Default;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Serialize)]
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)
}
}