- @spec publish(any()) :: {:ok, Activity.t(), Object.t()} | {:error, any()}
+ defp fetch_target_user(ap_id, opts) do
+ case {opts[:force], User.get_or_fetch_by_ap_id(ap_id)} do
+ {_, {:ok, %User{} = user}} -> {:ok, user}
+ {true, _} -> {:ok, %User{ap_id: ap_id}}
+ {_, error} -> error
+ end
+ end
+
+ @spec publish(any()) :: {:ok, Activity.t()} | {:error, any()}