aboutsummaryrefslogtreecommitdiff
path: root/server/src/helper
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/helper')
-rw-r--r--server/src/helper/filter_sort.rs45
-rw-r--r--server/src/helper/mod.rs4
2 files changed, 48 insertions, 1 deletions
diff --git a/server/src/helper/filter_sort.rs b/server/src/helper/filter_sort.rs
new file mode 100644
index 0000000..186aa86
--- /dev/null
+++ b/server/src/helper/filter_sort.rs
@@ -0,0 +1,45 @@
+/*
+ This file is part of jellything (https://codeberg.org/metamuffin/jellything)
+ which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
+ Copyright (C) 2025 metamuffin <metamuffin.org>
+*/
+
+use super::A;
+use jellycommon::{
+ api::NodeFilterSort,
+ user::{PlayerKind, Theme},
+};
+use rocket::{
+ async_trait,
+ form::{DataField, FromFormField, Result, ValueField},
+};
+
+#[async_trait]
+impl<'v> FromFormField<'v> for A<NodeFilterSort> {
+ fn from_value(field: ValueField<'v>) -> Result<'v, Self> {
+ Err(field.unexpected())?
+ }
+ async fn from_data(field: DataField<'v, '_>) -> Result<'v, Self> {
+ Err(field.unexpected())?
+ }
+}
+
+#[async_trait]
+impl<'v> FromFormField<'v> for A<Theme> {
+ fn from_value(field: ValueField<'v>) -> Result<'v, Self> {
+ Err(field.unexpected())?
+ }
+ async fn from_data(field: DataField<'v, '_>) -> Result<'v, Self> {
+ Err(field.unexpected())?
+ }
+}
+
+#[async_trait]
+impl<'v> FromFormField<'v> for A<PlayerKind> {
+ fn from_value(field: ValueField<'v>) -> Result<'v, Self> {
+ Err(field.unexpected())?
+ }
+ async fn from_data(field: DataField<'v, '_>) -> Result<'v, Self> {
+ Err(field.unexpected())?
+ }
+}
diff --git a/server/src/helper/mod.rs b/server/src/helper/mod.rs
index 125b159..7164175 100644
--- a/server/src/helper/mod.rs
+++ b/server/src/helper/mod.rs
@@ -5,7 +5,9 @@
*/
pub mod cache;
pub mod cors;
-pub mod session;
+pub mod filter_sort;
pub mod node_id;
+pub mod session;
+#[derive(Debug, Clone, Copy)]
pub struct A<T>(pub T);