aboutsummaryrefslogtreecommitdiff
path: root/common/src/impl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/impl.rs')
-rw-r--r--common/src/impl.rs98
1 files changed, 6 insertions, 92 deletions
diff --git a/common/src/impl.rs b/common/src/impl.rs
index 5b35be3..690a189 100644
--- a/common/src/impl.rs
+++ b/common/src/impl.rs
@@ -4,10 +4,8 @@
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
use crate::{
- Node, NodeID, NodeIDOrSlug, ObjectIds, PeopleGroup, SourceTrack, SourceTrackKind, TmdbKind,
- TraktKind,
+ Node, NodeID, NodeIDOrSlug, ObjectIds, SourceTrack, SourceTrackKind, TmdbKind, TraktKind,
};
-use hex::FromHexError;
use serde::{Deserialize, Serialize};
use std::{fmt::Display, str::FromStr};
@@ -111,58 +109,6 @@ impl Display for ObjectIds {
Ok(())
}
}
-impl Display for PeopleGroup {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- f.write_str(match self {
- PeopleGroup::Cast => "Cast",
- PeopleGroup::Writing => "Writing",
- PeopleGroup::Directing => "Directing",
- PeopleGroup::Art => "Art",
- PeopleGroup::Sound => "Sound",
- PeopleGroup::Camera => "Camera",
- PeopleGroup::Lighting => "Lighting",
- PeopleGroup::Crew => "Crew",
- PeopleGroup::Editing => "Editing",
- PeopleGroup::Production => "Production",
- PeopleGroup::Vfx => "Visual Effects",
- PeopleGroup::CostumeMakeup => "Costume & Makeup",
- PeopleGroup::CreatedBy => "Created by:",
- PeopleGroup::Performance => "Performance",
- PeopleGroup::Instrument => "Instrument",
- PeopleGroup::Vocal => "Vocal",
- PeopleGroup::Arranger => "Arranger",
- PeopleGroup::Producer => "Producer",
- PeopleGroup::Engineer => "Engineer",
- })
- }
-}
-impl FromStr for PeopleGroup {
- type Err = ();
- fn from_str(s: &str) -> Result<Self, Self::Err> {
- Ok(match s {
- "Cast" => PeopleGroup::Cast,
- "Writing" => PeopleGroup::Writing,
- "Directing" => PeopleGroup::Directing,
- "Art" => PeopleGroup::Art,
- "Sound" => PeopleGroup::Sound,
- "Camera" => PeopleGroup::Camera,
- "Lighting" => PeopleGroup::Lighting,
- "Crew" => PeopleGroup::Crew,
- "Editing" => PeopleGroup::Editing,
- "Production" => PeopleGroup::Production,
- "Visual Effects" => PeopleGroup::Vfx,
- "Costume & Makeup" => PeopleGroup::CostumeMakeup,
- "Created by:" => PeopleGroup::CreatedBy,
- "Performance" => PeopleGroup::Performance,
- "Instrument" => PeopleGroup::Instrument,
- "Vocal" => PeopleGroup::Vocal,
- "Arranger" => PeopleGroup::Arranger,
- "Producer" => PeopleGroup::Producer,
- "Engineer" => PeopleGroup::Engineer,
- _ => return Err(()),
- })
- }
-}
impl NodeID {
pub fn from_slug(slug: &str) -> Self {
@@ -186,50 +132,18 @@ impl NodeID {
pub const MAX: NodeID = NodeID([255; 32]);
}
-#[cfg(feature = "rocket")]
-impl<'a> rocket::request::FromParam<'a> for NodeID {
- type Error = FromHexError;
- fn from_param(param: &'a str) -> Result<Self, Self::Error> {
- if let Some(id) = param.strip_prefix("+") {
+impl FromStr for NodeID {
+ type Err = hex::FromHexError;
+ fn from_str(s: &str) -> Result<Self, Self::Err> {
+ if let Some(id) = s.strip_prefix("+") {
let mut k = [0; 32];
hex::decode_to_slice(id, &mut k)?;
Ok(NodeID(k))
} else {
- Ok(NodeID::from_slug(param))
+ Ok(NodeID::from_slug(s))
}
}
}
-#[cfg(feature = "rocket")]
-impl rocket::http::uri::fmt::FromUriParam<rocket::http::uri::fmt::Path, NodeID> for NodeID {
- type Target = NodeID;
- fn from_uri_param(param: NodeID) -> Self::Target {
- param
- }
-}
-#[cfg(feature = "rocket")]
-impl<'a> rocket::http::uri::fmt::FromUriParam<rocket::http::uri::fmt::Path, &'a String> for NodeID {
- type Target = &'a str;
- fn from_uri_param(param: &'a String) -> Self::Target {
- param.as_str()
- }
-}
-#[cfg(feature = "rocket")]
-impl<'a> rocket::http::uri::fmt::FromUriParam<rocket::http::uri::fmt::Path, &'a str> for NodeID {
- type Target = &'a str;
- fn from_uri_param(param: &'a str) -> Self::Target {
- param
- }
-}
-#[cfg(feature = "rocket")]
-impl rocket::http::uri::fmt::UriDisplay<rocket::http::uri::fmt::Path> for NodeID {
- fn fmt(
- &self,
- f: &mut rocket::http::uri::fmt::Formatter<'_, rocket::http::uri::fmt::Path>,
- ) -> std::fmt::Result {
- f.write_value(format!("+{}", hex::encode(self.0)))?;
- Ok(())
- }
-}
impl Display for NodeID {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str("+")?;