Merge pull request 'I LOVE OBJECTS!!' (#517) from wowee into develop
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/517
This commit is contained in:
commit
ef8f13a158
3 changed files with 11 additions and 2 deletions
|
@ -572,7 +572,8 @@ config :pleroma, Oban,
|
||||||
database_prune: 1
|
database_prune: 1
|
||||||
],
|
],
|
||||||
plugins: [
|
plugins: [
|
||||||
Oban.Plugins.Pruner
|
Oban.Plugins.Pruner,
|
||||||
|
{Oban.Plugins.Reindexer, schedule: "@weekly"}
|
||||||
],
|
],
|
||||||
crontab: [
|
crontab: [
|
||||||
{"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker},
|
{"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker},
|
||||||
|
|
|
@ -277,6 +277,14 @@ defmodule Pleroma.Activity do
|
||||||
|
|
||||||
def get_create_by_object_ap_id_with_object(_), do: nil
|
def get_create_by_object_ap_id_with_object(_), do: nil
|
||||||
|
|
||||||
|
def get_local_create_by_object_ap_id_with_object(ap_id) when is_binary(ap_id) do
|
||||||
|
ap_id
|
||||||
|
|> create_by_object_ap_id_with_object()
|
||||||
|
|> where(local: true)
|
||||||
|
|> Repo.one()
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
@spec create_by_id_with_object(String.t()) :: t() | nil
|
@spec create_by_id_with_object(String.t()) :: t() | nil
|
||||||
def create_by_id_with_object(id) do
|
def create_by_id_with_object(id) do
|
||||||
get_by_id_with_opts(id, preload: [:object], filter: [type: "Create"])
|
get_by_id_with_opts(id, preload: [:object], filter: [type: "Create"])
|
||||||
|
|
|
@ -36,7 +36,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do
|
||||||
def object(conn, _params) do
|
def object(conn, _params) do
|
||||||
with id <- Endpoint.url() <> conn.request_path,
|
with id <- Endpoint.url() <> conn.request_path,
|
||||||
{_, %Activity{} = activity} <-
|
{_, %Activity{} = activity} <-
|
||||||
{:activity, Activity.get_create_by_object_ap_id_with_object(id)},
|
{:activity, Activity.get_local_create_by_object_ap_id_with_object(id)},
|
||||||
{_, true} <- {:public?, Visibility.is_public?(activity)},
|
{_, true} <- {:public?, Visibility.is_public?(activity)},
|
||||||
{_, false} <- {:local_public?, Visibility.is_local_public?(activity)} do
|
{_, false} <- {:local_public?, Visibility.is_local_public?(activity)} do
|
||||||
redirect(conn, to: "/notice/#{activity.id}")
|
redirect(conn, to: "/notice/#{activity.id}")
|
||||||
|
|
Loading…
Reference in a new issue