Mastodon API: ensure the notification endpoint doesn't return less than the requested amount of records unless it's the last page

This commit is contained in:
eugenijm 2020-05-18 18:46:04 +03:00
commit b15cfc3d36
8 changed files with 112 additions and 41 deletions

View file

@ -1488,6 +1488,7 @@ defmodule Pleroma.User do
end)
delete_user_activities(user)
delete_notifications_from_user_activities(user)
delete_outgoing_pending_follow_requests(user)
@ -1576,6 +1577,13 @@ defmodule Pleroma.User do
})
end
def delete_notifications_from_user_activities(%User{ap_id: ap_id}) do
Notification
|> join(:inner, [n], activity in assoc(n, :activity))
|> where([n, a], fragment("? = ?", a.actor, ^ap_id))
|> Repo.delete_all()
end
def delete_user_activities(%User{ap_id: ap_id} = user) do
ap_id
|> Activity.Queries.by_actor()