From eebd58f5a68e3416e54c42c06d91e1eb28144f02 Mon Sep 17 00:00:00 2001 From: Ethan Girouard Date: Sat, 11 May 2024 12:53:57 -0400 Subject: [PATCH] Add MediaType struct --- src/lib.rs | 2 ++ src/media_type.rs | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/media_type.rs diff --git a/src/lib.rs b/src/lib.rs index 89cd04e..23bc098 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,6 +13,8 @@ pub mod users; pub mod search; pub mod fileserv; pub mod error_template; +pub mod media_type; + use cfg_if::cfg_if; cfg_if! { diff --git a/src/media_type.rs b/src/media_type.rs new file mode 100644 index 0000000..f97c5c2 --- /dev/null +++ b/src/media_type.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +/// Differentiates between different types of media +/// Used to display a short text near a corresponging image / title to indicate what type of media it is +#[derive(Serialize, Deserialize)] +pub enum MediaType { + Song, + Album, + Artist, +} + +impl ToString for MediaType { + fn to_string(&self) -> String { + match self { + MediaType::Song => "Song".to_string(), + MediaType::Album => "Album".to_string(), + MediaType::Artist => "Artist".to_string(), + } + } +}