aboutsummaryrefslogtreecommitdiff
path: root/common/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/lib.rs')
-rw-r--r--common/src/lib.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/common/src/lib.rs b/common/src/lib.rs
index a96df9e..9d5a31e 100644
--- a/common/src/lib.rs
+++ b/common/src/lib.rs
@@ -7,6 +7,7 @@ pub mod config;
pub mod r#impl;
use bincode::{Decode, Encode};
+use rocket::{FromFormField, UriDisplayQuery};
use serde::{Deserialize, Serialize};
use std::path::PathBuf;
@@ -57,17 +58,19 @@ pub enum AssetLocation {
Assets(PathBuf),
}
-#[derive(Debug, Clone, Deserialize, Serialize)]
+#[rustfmt::skip]
+#[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq, Eq, Default)]
+#[cfg_attr(feature = "rocket", derive(FromFormField, UriDisplayQuery))]
#[serde(rename_all = "snake_case")]
pub enum NodeKind {
- Movie,
- Video,
- Collection,
- Channel,
- Show,
- Series,
- Season,
- Episode,
+ #[cfg_attr(feature = "rocket", field(value = "movie"))] #[default] Movie,
+ #[cfg_attr(feature = "rocket", field(value = "video"))] Video,
+ #[cfg_attr(feature = "rocket", field(value = "collection"))] Collection,
+ #[cfg_attr(feature = "rocket", field(value = "channel"))] Channel,
+ #[cfg_attr(feature = "rocket", field(value = "show"))] Show,
+ #[cfg_attr(feature = "rocket", field(value = "series"))] Series,
+ #[cfg_attr(feature = "rocket", field(value = "season"))] Season,
+ #[cfg_attr(feature = "rocket", field(value = "episode"))] Episode,
}
#[derive(Debug, Clone, Deserialize, Serialize)]