diff options
Diffstat (limited to 'server/src/helper')
-rw-r--r-- | server/src/helper/filter_sort.rs | 45 | ||||
-rw-r--r-- | server/src/helper/mod.rs | 4 |
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); |