use serde::{Deserialize, Serialize}; use url::Url; pub(crate) mod chat_message; pub(crate) mod group; pub(crate) mod note; pub(crate) mod page; pub(crate) mod person; pub(crate) mod tombstone; #[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct Endpoints { #[serde(skip_serializing_if = "Option::is_none")] pub shared_inbox: Option, } #[cfg(test)] mod tests { use crate::protocol::{ objects::{chat_message::ChatMessage, group::Group, note::Note, page::Page, person::Person}, tests::test_parse_lemmy_item, }; use serial_test::serial; #[actix_rt::test] #[serial] async fn test_parse_lemmy_object() { test_parse_lemmy_item::("assets/lemmy/objects/person.json"); test_parse_lemmy_item::("assets/lemmy/objects/group.json"); test_parse_lemmy_item::("assets/lemmy/objects/page.json"); test_parse_lemmy_item::("assets/lemmy/objects/note.json"); test_parse_lemmy_item::("assets/lemmy/objects/chat_message.json"); } }