Make activity announceable by its author.
This commit is contained in:
		
							parent
							
								
									51b5c53988
								
							
						
					
					
						commit
						1f0be71ea4
					
				
					 2 changed files with 5 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -346,7 +346,7 @@ def announce(
 | 
			
		|||
        local \\ true,
 | 
			
		||||
        public \\ true
 | 
			
		||||
      ) do
 | 
			
		||||
    with true <- is_public?(object),
 | 
			
		||||
    with true <- is_announceable?(object, user),
 | 
			
		||||
         announce_data <- make_announce_data(user, object, activity_id, public),
 | 
			
		||||
         {:ok, activity} <- insert(announce_data, local),
 | 
			
		||||
         {:ok, object} <- add_announce_to_object(activity, object),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,10 @@ def is_private?(activity) do
 | 
			
		|||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def is_announceable?(activity, user) do
 | 
			
		||||
    is_public?(activity) || activity.data["actor"] == user.ap_id
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def is_direct?(%Activity{data: %{"directMessage" => true}}), do: true
 | 
			
		||||
  def is_direct?(%Object{data: %{"directMessage" => true}}), do: true
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue