]> Untitled Git - lemmy.git/blob - crates/apub/src/activities/send/mod.rs
Allow adding remote users as community mods (ref #1061)
[lemmy.git] / crates / apub / src / activities / send / mod.rs
1 use lemmy_utils::settings::structs::Settings;
2 use url::{ParseError, Url};
3 use uuid::Uuid;
4
5 pub(crate) mod comment;
6 pub mod community;
7 pub(crate) mod post;
8 pub(crate) mod private_message;
9 pub(crate) mod user;
10
11 /// Generate a unique ID for an activity, in the format:
12 /// `http(s)://example.com/receive/create/202daf0a-1489-45df-8d2e-c8a3173fed36`
13 fn generate_activity_id<T>(kind: T) -> Result<Url, ParseError>
14 where
15   T: ToString,
16 {
17   let id = format!(
18     "{}/activities/{}/{}",
19     Settings::get().get_protocol_and_hostname(),
20     kind.to_string().to_lowercase(),
21     Uuid::new_v4()
22   );
23   Url::parse(&id)
24 }