From a455863b66af55679953f559d981c9cdbb8d2c5d Mon Sep 17 00:00:00 2001 From: Naim A <227396+naim94a@users.noreply.github.com> Date: Fri, 14 Jul 2023 13:42:11 +0000 Subject: [PATCH] atrium-xrpc-server: parse handle, info, migrate & tombstone messages --- atrium-xrpc-server/src/stream/frames.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/atrium-xrpc-server/src/stream/frames.rs b/atrium-xrpc-server/src/stream/frames.rs index 500a72a2..da33218e 100644 --- a/atrium-xrpc-server/src/stream/frames.rs +++ b/atrium-xrpc-server/src/stream/frames.rs @@ -1,4 +1,4 @@ -use atrium_api::com::atproto::sync::subscribe_repos::{Commit, Message}; +use atrium_api::com::atproto::sync::subscribe_repos::{Commit, Message, Tombstone, Handle, Info, Migrate}; use libipld_core::ipld::Ipld; use std::io::Cursor; @@ -88,6 +88,26 @@ impl TryFrom<&[u8]> for Frame { right, )?)), }))), + Some("#handle") => Ok(Frame::Message(Box::new(MessageFrame { + body: Message::Handle(Box::new(serde_ipld_dagcbor::from_slice::( + right + )?)) + }))), + Some("#info") => Ok(Frame::Message(Box::new(MessageFrame { + body: Message::Info(Box::new(serde_ipld_dagcbor::from_slice::( + right + )?)) + }))), + Some("#migrate") => Ok(Frame::Message(Box::new(MessageFrame { + body: Message::Migrate(Box::new(serde_ipld_dagcbor::from_slice::( + right + )?)) + }))), + Some("#tombstone") => Ok(Frame::Message(Box::new(MessageFrame { + body: Message::Tombstone(Box::new(serde_ipld_dagcbor::from_slice::( + right + )?)) + }))), _ => unimplemented!("{t:?}"), }, FrameHeader::Error => Ok(Frame::Error(ErrorFrame {})),