]> Untitled Git - lemmy.git/blob - crates/apub/src/activities/post/mod.rs
b60348ed0c3bc6879679bf55ee4ef1a5be097b32
[lemmy.git] / crates / apub / src / activities / post / mod.rs
1 use lemmy_api_common::{blocking, post::PostResponse};
2 use lemmy_db_schema::PostId;
3 use lemmy_db_views::post_view::PostView;
4 use lemmy_utils::LemmyError;
5 use lemmy_websocket::{messages::SendPost, LemmyContext};
6
7 pub mod create_or_update;
8
9 pub(crate) async fn send_websocket_message<
10   OP: ToString + Send + lemmy_websocket::OperationType + 'static,
11 >(
12   post_id: PostId,
13   op: OP,
14   context: &LemmyContext,
15 ) -> Result<(), LemmyError> {
16   let post_view = blocking(context.pool(), move |conn| {
17     PostView::read(conn, post_id, None)
18   })
19   .await??;
20
21   let res = PostResponse { post_view };
22
23   context.chat_server().do_send(SendPost {
24     op,
25     post: res,
26     websocket_id: None,
27   });
28
29   Ok(())
30 }