user: use preloads when deleting accounts
This commit is contained in:
		
							parent
							
								
									debf7f016d
								
							
						
					
					
						commit
						332dc1371b
					
				
					 1 changed files with 4 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1110,13 +1110,15 @@ def delete(%User{} = user) do
 | 
			
		|||
    friends
 | 
			
		||||
    |> Enum.each(fn followed -> User.unfollow(user, followed) end)
 | 
			
		||||
 | 
			
		||||
    query = from(a in Activity, where: a.actor == ^user.ap_id)
 | 
			
		||||
    query =
 | 
			
		||||
      from(a in Activity, where: a.actor == ^user.ap_id)
 | 
			
		||||
      |> Activity.with_preloaded_object()
 | 
			
		||||
 | 
			
		||||
    Repo.all(query)
 | 
			
		||||
    |> Enum.each(fn activity ->
 | 
			
		||||
      case activity.data["type"] do
 | 
			
		||||
        "Create" ->
 | 
			
		||||
          ActivityPub.delete(Object.normalize(activity.data["object"]))
 | 
			
		||||
          ActivityPub.delete(Object.normalize(activity))
 | 
			
		||||
 | 
			
		||||
        # TODO: Do something with likes, follows, repeats.
 | 
			
		||||
        _ ->
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue