use crate::{
activities::{generate_activity_id, send_lemmy_activity, verify_is_public, verify_person},
- insert_activity,
+ insert_received_activity,
objects::{instance::remote_instance_inboxes, person::ApubPerson},
protocol::activities::deletion::delete_user::DeleteUser,
SendActivity,
use lemmy_api_common::{
context::LemmyContext,
person::{DeleteAccount, DeleteAccountResponse},
- utils::{delete_user_account, get_local_user_view_from_jwt},
+ utils::{delete_user_account, local_user_view_from_jwt},
};
use lemmy_utils::error::LemmyError;
use url::Url;
_response: &Self::Response,
context: &Data<LemmyContext>,
) -> Result<(), LemmyError> {
- let local_user_view =
- get_local_user_view_from_jwt(&request.auth, context.pool(), context.secret()).await?;
+ let local_user_view = local_user_view_from_jwt(&request.auth, context).await?;
let actor: ApubPerson = local_user_view.person.into();
delete_user_account(
actor.id,
- context.pool(),
+ &mut context.pool(),
context.settings(),
context.client(),
)
cc: vec![],
};
- let inboxes = remote_instance_inboxes(context.pool()).await?;
+ let inboxes = remote_instance_inboxes(&mut context.pool()).await?;
send_lemmy_activity(context, delete, &actor, inboxes, true).await?;
Ok(())
}
}
async fn verify(&self, context: &Data<Self::DataType>) -> Result<(), LemmyError> {
+ insert_received_activity(&self.id, context).await?;
verify_is_public(&self.to, &[])?;
verify_person(&self.actor, context).await?;
verify_urls_match(self.actor.inner(), self.object.inner())?;
}
async fn receive(self, context: &Data<Self::DataType>) -> Result<(), LemmyError> {
- insert_activity(&self.id, &self, false, false, context).await?;
let actor = self.actor.dereference(context).await?;
delete_user_account(
actor.id,
- context.pool(),
+ &mut context.pool(),
context.settings(),
context.client(),
)