Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk> Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/327
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			739 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			739 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule Pleroma.Workers.SearchIndexingWorker do
 | 
						|
  use Pleroma.Workers.WorkerHelper, queue: "search_indexing"
 | 
						|
 | 
						|
  @impl Oban.Worker
 | 
						|
 | 
						|
  def perform(%Job{args: %{"op" => "add_to_index", "activity" => activity_id}}) do
 | 
						|
    activity = Pleroma.Activity.get_by_id_with_object(activity_id)
 | 
						|
 | 
						|
    search_module = Pleroma.Config.get([Pleroma.Search, :module])
 | 
						|
 | 
						|
    search_module.add_to_index(activity)
 | 
						|
 | 
						|
    :ok
 | 
						|
  end
 | 
						|
 | 
						|
  def perform(%Job{args: %{"op" => "remove_from_index", "object" => object_id}}) do
 | 
						|
    search_module = Pleroma.Config.get([Pleroma.Search, :module])
 | 
						|
 | 
						|
    # Fake the object so we can remove it from the index without having to keep it in the DB
 | 
						|
    search_module.remove_from_index(%Pleroma.Object{id: object_id})
 | 
						|
 | 
						|
    :ok
 | 
						|
  end
 | 
						|
end
 |