]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/private_message/create.rs
First pass at invite-only migration. (#1949)
[lemmy.git] / crates / api_crud / src / private_message / create.rs
index 9e3351252062ecc365ea181cde72b48cae5e95f9..54edc24083b5b4a47a8badcddd5e57667441e76c 100644 (file)
@@ -8,11 +8,11 @@ use lemmy_api_common::{
   send_email_to_user,
 };
 use lemmy_apub::{
-  activities::{
+  generate_local_apub_endpoint,
+  protocol::activities::{
     private_message::create_or_update::CreateOrUpdatePrivateMessage,
     CreateOrUpdateType,
   },
-  generate_apub_endpoint,
   EndpointType,
 };
 use lemmy_db_schema::{
@@ -20,13 +20,14 @@ use lemmy_db_schema::{
   traits::Crud,
 };
 use lemmy_db_views::local_user_view::LocalUserView;
-use lemmy_utils::{utils::remove_slurs, ApiError, ConnectionId, LemmyError};
+use lemmy_utils::{utils::remove_slurs, ConnectionId, LemmyError};
 use lemmy_websocket::{send::send_pm_ws_message, LemmyContext, UserOperationCrud};
 
 #[async_trait::async_trait(?Send)]
 impl PerformCrud for CreatePrivateMessage {
   type Response = PrivateMessageResponse;
 
+  #[tracing::instrument(skip(self, context, websocket_id))]
   async fn perform(
     &self,
     context: &Data<LemmyContext>,
@@ -55,7 +56,7 @@ impl PerformCrud for CreatePrivateMessage {
     {
       Ok(private_message) => private_message,
       Err(e) => {
-        return Err(ApiError::err("couldnt_create_private_message", e).into());
+        return Err(LemmyError::from(e).with_message("couldnt_create_private_message"));
       }
     };
 
@@ -64,7 +65,7 @@ impl PerformCrud for CreatePrivateMessage {
     let updated_private_message = blocking(
       context.pool(),
       move |conn| -> Result<PrivateMessage, LemmyError> {
-        let apub_id = generate_apub_endpoint(
+        let apub_id = generate_local_apub_endpoint(
           EndpointType::PrivateMessage,
           &inserted_private_message_id.to_string(),
           &protocol_and_hostname,
@@ -77,11 +78,12 @@ impl PerformCrud for CreatePrivateMessage {
       },
     )
     .await?
-    .map_err(|e| ApiError::err("couldnt_create_private_message", e))?;
+    .map_err(LemmyError::from)
+    .map_err(|e| e.with_message("couldnt_create_private_message"))?;
 
     CreateOrUpdatePrivateMessage::send(
-      &updated_private_message,
-      &local_user_view.person,
+      updated_private_message.into(),
+      &local_user_view.person.into(),
       CreateOrUpdateType::Create,
       context,
     )