From 314bca18a43e22368a87fcad53d91190fe101b60 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 7 Feb 2025 16:10:29 +0100 Subject: nodes modified since endpoint --- common/src/impl.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'common/src/impl.rs') diff --git a/common/src/impl.rs b/common/src/impl.rs index db702d3..1aeac22 100644 --- a/common/src/impl.rs +++ b/common/src/impl.rs @@ -8,6 +8,7 @@ use crate::{ TraktKind, }; use hex::FromHexError; +use serde::{Deserialize, Serialize}; use std::{fmt::Display, str::FromStr}; impl SourceTrackKind { @@ -242,3 +243,17 @@ impl From for NodeIDOrSlug { Self::Slug(value) } } +impl Serialize for NodeID { + fn serialize(&self, serializer: S) -> Result { + serializer.serialize_str(&hex::encode(self.0)) + } +} +impl<'de> Deserialize<'de> for NodeID { + fn deserialize>(deserializer: D) -> Result { + let mut k = [0; 32]; + hex::decode_to_slice(String::deserialize(deserializer)?, &mut k).map_err(|_| { + ::custom(format_args!("nodeid hex invalid")) + })?; + Ok(NodeID(k)) + } +} -- cgit v1.2.3-70-g09d2