Refactor Core things, including Ecto handling, ActivityPub & Transmogrifier modules
* Data doesn't need anymore to be converted to ActivityStream format to be saved (this was taken from Pleroma and not at all a good idea here) * Everything saved when creating an event is inserted into PostgreSQL in a single transaction
This commit is contained in:
@@ -13,6 +13,7 @@ defmodule Mobilizon.Actors.Actor do
|
||||
alias Mobilizon.Media.File
|
||||
alias Mobilizon.Reports.{Note, Report}
|
||||
alias Mobilizon.Users.User
|
||||
alias Mobilizon.Mention
|
||||
|
||||
alias MobilizonWeb.Endpoint
|
||||
alias MobilizonWeb.Router.Helpers, as: Routes
|
||||
@@ -46,6 +47,7 @@ defmodule Mobilizon.Actors.Actor do
|
||||
created_reports: [Report.t()],
|
||||
subject_reports: [Report.t()],
|
||||
report_notes: [Note.t()],
|
||||
mentions: [Mention.t()],
|
||||
memberships: [t]
|
||||
}
|
||||
|
||||
@@ -139,6 +141,7 @@ defmodule Mobilizon.Actors.Actor do
|
||||
has_many(:created_reports, Report, foreign_key: :reporter_id)
|
||||
has_many(:subject_reports, Report, foreign_key: :reported_id)
|
||||
has_many(:report_notes, Note, foreign_key: :moderator_id)
|
||||
has_many(:mentions, Mention)
|
||||
many_to_many(:memberships, __MODULE__, join_through: Member)
|
||||
|
||||
timestamps()
|
||||
|
||||
@@ -88,7 +88,10 @@ defmodule Mobilizon.Actors do
|
||||
"""
|
||||
@spec get_actor_by_url(String.t(), boolean) ::
|
||||
{:ok, Actor.t()} | {:error, :actor_not_found}
|
||||
def get_actor_by_url(url, preload \\ false) do
|
||||
def get_actor_by_url(url, preload \\ false)
|
||||
def get_actor_by_url(nil, _preload), do: {:error, :actor_not_found}
|
||||
|
||||
def get_actor_by_url(url, preload) do
|
||||
case Repo.get_by(Actor, url: url) do
|
||||
nil ->
|
||||
{:error, :actor_not_found}
|
||||
|
||||
Reference in New Issue
Block a user