forked from AkkomaGang/akkoma
fix inbound federation
This commit is contained in:
parent
c03e8d46e8
commit
cc4c5f22f4
2 changed files with 60 additions and 0 deletions
58
lib/mix/tasks/pleroma/activity.ex
Normal file
58
lib/mix/tasks/pleroma/activity.ex
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# Pleroma: A lightweight social networking server
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
|
defmodule Mix.Tasks.Pleroma.Activity do
|
||||||
|
alias Pleroma.Activity
|
||||||
|
alias Pleroma.Activity.Search
|
||||||
|
alias Pleroma.User
|
||||||
|
alias Pleroma.Web.CommonAPI
|
||||||
|
alias Pleroma.Pagination
|
||||||
|
require Logger
|
||||||
|
import Mix.Pleroma
|
||||||
|
import Ecto.Query
|
||||||
|
|
||||||
|
def run(["get", id | _rest]) do
|
||||||
|
start_pleroma()
|
||||||
|
|
||||||
|
id
|
||||||
|
|> Activity.get_by_id()
|
||||||
|
|> IO.inspect()
|
||||||
|
end
|
||||||
|
|
||||||
|
def run(["delete_by_keyword", user, keyword | _rest]) do
|
||||||
|
start_pleroma()
|
||||||
|
u = User.get_by_nickname(user)
|
||||||
|
|
||||||
|
Activity
|
||||||
|
|> Activity.with_preloaded_object()
|
||||||
|
|> Activity.restrict_deactivated_users()
|
||||||
|
|> Activity.Queries.by_author(u)
|
||||||
|
|> query_with(keyword)
|
||||||
|
|> Pagination.fetch_paginated(
|
||||||
|
%{"offset" => 0, "limit" => 20, "skip_order" => false},
|
||||||
|
:offset
|
||||||
|
)
|
||||||
|
|> Enum.map(fn x -> CommonAPI.delete(x.id, u) end)
|
||||||
|
|> Enum.count()
|
||||||
|
|> IO.puts()
|
||||||
|
end
|
||||||
|
|
||||||
|
defp query_with(q, search_query) do
|
||||||
|
%{rows: [[tsc]]} =
|
||||||
|
Ecto.Adapters.SQL.query!(
|
||||||
|
Pleroma.Repo,
|
||||||
|
"select current_setting('default_text_search_config')::regconfig::oid;"
|
||||||
|
)
|
||||||
|
|
||||||
|
from([a, o] in q,
|
||||||
|
where:
|
||||||
|
fragment(
|
||||||
|
"to_tsvector(?::oid::regconfig, ?->>'content') @@ websearch_to_tsquery(?)",
|
||||||
|
^tsc,
|
||||||
|
o.data,
|
||||||
|
^search_query
|
||||||
|
)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
|
@ -398,9 +398,11 @@ def listen(user, data) do
|
||||||
def post(user, %{status: _} = data) do
|
def post(user, %{status: _} = data) do
|
||||||
with {:ok, draft} <- ActivityDraft.create(user, data) do
|
with {:ok, draft} <- ActivityDraft.create(user, data) do
|
||||||
activity = ActivityPub.create(draft.changes, draft.preview?)
|
activity = ActivityPub.create(draft.changes, draft.preview?)
|
||||||
|
|
||||||
unless draft.preview? do
|
unless draft.preview? do
|
||||||
Pleroma.Elasticsearch.maybe_put_into_elasticsearch(activity)
|
Pleroma.Elasticsearch.maybe_put_into_elasticsearch(activity)
|
||||||
end
|
end
|
||||||
|
|
||||||
activity
|
activity
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue