From a6cdd5377b7a9ab47de35057fa3a6917c747c342 Mon Sep 17 00:00:00 2001 From: DSeeLP <46624152+DSeeLP@users.noreply.github.com> Date: Thu, 3 Apr 2025 20:13:37 +0200 Subject: [PATCH] use new regex for interop users --- src/api/transactions.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/api/transactions.rs b/src/api/transactions.rs index 702a4f9..2747f92 100644 --- a/src/api/transactions.rs +++ b/src/api/transactions.rs @@ -132,7 +132,8 @@ pub enum AccountTarget { #[cfg_attr(feature = "schemas", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemas", serde(untagged))] pub enum UnvalidatedAccountTarget { - Interop(#[garde(pattern("^thc:.+$"))] String), + /// Interop user + Interop(#[garde(pattern("^.{2,}@[a-z0-9]{2,4}$"))] String), Selector(#[garde(dive)] UnvalidatedAccountSelector), } @@ -150,7 +151,7 @@ impl<'de> Deserialize<'de> for UnvalidatedAccountTarget { Ok(match AccountTargetHelper::deserialize(deserializer)? { AccountTargetHelper::Text(text) => { // TODO: don't hardcode prefix - if let Some(text) = text.strip_prefix("thc:") { + if let Some(text) = text.strip_suffix("@thc") { Self::Interop(text.into()) } else { Self::Selector(UnvalidatedAccountSelector::Username(Name(text)))