Split Federation as separate context

This commit is contained in:
rustra
2020-01-22 02:14:42 +01:00
parent f70af917f9
commit cdb520a95b
83 changed files with 323 additions and 253 deletions

View File

@@ -3,8 +3,9 @@ defmodule MobilizonWeb.API.Comments do
API for Comments.
"""
alias Mobilizon.Events.Comment
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Service.ActivityPub.Activity
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Activity
@doc """
Create a comment

View File

@@ -5,9 +5,9 @@ defmodule MobilizonWeb.API.Events do
alias Mobilizon.Actors.Actor
alias Mobilizon.Events.Event
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Service.ActivityPub.Activity
alias Mobilizon.Service.ActivityPub.Utils
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Utils}
@doc """
Create an event

View File

@@ -5,8 +5,9 @@ defmodule MobilizonWeb.API.Follows do
alias Mobilizon.Actors
alias Mobilizon.Actors.{Actor, Follower}
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Service.ActivityPub.Activity
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Activity
require Logger

View File

@@ -5,8 +5,9 @@ defmodule MobilizonWeb.API.Groups do
alias Mobilizon.Actors
alias Mobilizon.Actors.Actor
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Service.ActivityPub.Activity
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Activity
@doc """
Create a group

View File

@@ -5,7 +5,9 @@ defmodule MobilizonWeb.API.Participations do
alias Mobilizon.Actors.Actor
alias Mobilizon.Events.{Event, Participant}
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Federation.ActivityPub
alias MobilizonWeb.Email.Participation
@spec join(Event.t(), Actor.t()) :: {:ok, Participant.t()}

View File

@@ -8,11 +8,12 @@ defmodule MobilizonWeb.API.Reports do
alias Mobilizon.Actors.Actor
alias Mobilizon.Reports, as: ReportsAction
alias Mobilizon.Reports.{Note, Report, ReportStatus}
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Service.ActivityPub.Activity
alias Mobilizon.Users
alias Mobilizon.Users.User
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Activity
@doc """
Create a report/flag on an actor, and optionally on an event or on comments.
"""

View File

@@ -6,9 +6,10 @@ defmodule MobilizonWeb.API.Search do
alias Mobilizon.Actors
alias Mobilizon.Actors.ActorType
alias Mobilizon.Events
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Storage.Page
alias Mobilizon.Federation.ActivityPub
require Logger
@doc """

View File

@@ -3,10 +3,12 @@ defmodule MobilizonWeb.Cache.ActivityPub do
The ActivityPub related functions.
"""
alias Mobilizon.{Actors, Events, Service, Tombstone}
alias Mobilizon.{Actors, Events, Tombstone}
alias Mobilizon.Actors.Actor
alias Mobilizon.Events.{Comment, Event}
alias Service.ActivityPub
alias Mobilizon.Federation.ActivityPub.Relay
alias MobilizonWeb.Router.Helpers, as: Routes
alias MobilizonWeb.Endpoint
@@ -73,6 +75,6 @@ defmodule MobilizonWeb.Cache.ActivityPub do
"""
@spec get_relay :: {:commit, Actor.t()} | {:ignore, nil}
def get_relay do
Cachex.fetch(@cache, "relay_actor", &ActivityPub.Relay.get_actor/0)
Cachex.fetch(@cache, "relay_actor", &Relay.get_actor/0)
end
end

View File

@@ -7,8 +7,9 @@ defmodule MobilizonWeb.ActivityPubController do
use MobilizonWeb, :controller
alias Mobilizon.{Actors, Actors.Actor, Config}
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Service.Federator
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Federator
alias MobilizonWeb.ActivityPub.ActorView
alias MobilizonWeb.Cache

View File

@@ -7,10 +7,12 @@ defmodule MobilizonWeb.WebFingerController do
@moduledoc """
Handles Webfinger requests
"""
use MobilizonWeb, :controller
alias Mobilizon.Federation.ActivityPub.WebFinger
plug(MobilizonWeb.Plugs.Federating)
alias Mobilizon.Service.WebFinger
@doc """
Provides /.well-known/host-meta

View File

@@ -7,12 +7,15 @@ defmodule MobilizonWeb.Plugs.MappedSignatureToIdentity do
@moduledoc """
Get actor identity from Signature when handing fetches
"""
alias Mobilizon.Service.HTTPSignatures.Signature
alias Mobilizon.Actors.Actor
alias Mobilizon.Service.ActivityPub.Utils
alias Mobilizon.Service.ActivityPub
import Plug.Conn
alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Utils
alias Mobilizon.Federation.HTTPSignatures.Signature
require Logger
def init(options), do: options

View File

@@ -2,10 +2,12 @@ defmodule MobilizonWeb.Resolvers.Address do
@moduledoc """
Handles the comment-related GraphQL calls
"""
require Logger
alias Mobilizon.Addresses.Address
alias Mobilizon.Service.Geospatial
require Logger
@doc """
Search an address
"""

View File

@@ -11,10 +11,11 @@ defmodule MobilizonWeb.Resolvers.Admin do
alias Mobilizon.Events
alias Mobilizon.Events.{Event, Comment}
alias Mobilizon.Reports.{Note, Report}
alias Mobilizon.Service.Statistics
alias Mobilizon.Users.User
alias Mobilizon.Service.Statistics
alias Mobilizon.Storage.Page
alias Mobilizon.Service.ActivityPub.Relay
alias Mobilizon.Federation.ActivityPub.Relay
def list_action_logs(
_parent,

View File

@@ -3,14 +3,15 @@ defmodule MobilizonWeb.Resolvers.Comment do
Handles the comment-related GraphQL calls.
"""
import Mobilizon.Service.Admin.ActionLogService
alias Mobilizon.Actors
alias Mobilizon.Actors.Actor
alias Mobilizon.Events
alias Mobilizon.Events.Comment, as: CommentModel
alias Mobilizon.Users.User
alias Mobilizon.Actors.Actor
alias Mobilizon.Actors
alias MobilizonWeb.API.Comments
import Mobilizon.Service.Admin.ActionLogService
require Logger

View File

@@ -3,9 +3,10 @@ defmodule MobilizonWeb.Resolvers.Config do
Handles the config-related GraphQL calls.
"""
alias Mobilizon.Config
alias Geolix.Adapter.MMDB2.Record.{Country, Location}
alias Mobilizon.Config
@doc """
Gets config.
"""

View File

@@ -9,9 +9,10 @@ defmodule MobilizonWeb.Resolvers.Event do
alias Mobilizon.Actors.Actor
alias Mobilizon.Events
alias Mobilizon.Events.{Event, Participant, EventParticipantStats}
alias Mobilizon.Service.ActivityPub.Activity
alias Mobilizon.Users.User
alias Mobilizon.Federation.ActivityPub.Activity
alias MobilizonWeb.API
alias MobilizonWeb.Resolvers.Person

View File

@@ -5,9 +5,10 @@ defmodule MobilizonWeb.Resolvers.Group do
alias Mobilizon.Actors
alias Mobilizon.Actors.{Actor, Member}
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Users.User
alias Mobilizon.Federation.ActivityPub
alias MobilizonWeb.API
alias MobilizonWeb.Resolvers.Person

View File

@@ -7,10 +7,11 @@ defmodule MobilizonWeb.Resolvers.Person do
alias Mobilizon.Actors.Actor
alias Mobilizon.Events
alias Mobilizon.Events.Participant
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Users
alias Mobilizon.Users.User
alias Mobilizon.Federation.ActivityPub
@doc """
Get a person
"""

View File

@@ -8,8 +8,8 @@ defmodule MobilizonWeb.Resolvers.User do
alias Mobilizon.{Actors, Config, Users, Events}
alias Mobilizon.Actors.Actor
alias Mobilizon.Service.Users.{Activation, ResetPassword}
alias Mobilizon.Users.User
alias Mobilizon.Storage.Repo
alias Mobilizon.Users.User
require Logger

View File

@@ -3,8 +3,10 @@ defmodule MobilizonWeb.ActivityPub.ActorView do
alias Mobilizon.Actors
alias Mobilizon.Actors.Actor
alias Mobilizon.Service.ActivityPub
alias Mobilizon.Service.ActivityPub.{Activity, Utils, Convertible}
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Utils}
alias Mobilizon.Federation.ActivityPub.ActivityStream.Convertible
@private_visibility_empty_collection %{elements: [], total: 0}

View File

@@ -1,7 +1,7 @@
defmodule MobilizonWeb.ActivityPub.ObjectView do
use MobilizonWeb, :view
alias Mobilizon.Service.ActivityPub.{Activity, Utils}
alias Mobilizon.Federation.ActivityPub.{Activity, Utils}
def render("activity.json", %{activity: %Activity{local: local, data: data} = activity}) do
%{

View File

@@ -2,14 +2,19 @@ defmodule MobilizonWeb.PageView do
@moduledoc """
View for our webapp
"""
use MobilizonWeb, :view
alias Mobilizon.Actors.Actor
alias Mobilizon.Tombstone
alias Mobilizon.Service.ActivityPub.{Convertible, Utils}
alias Mobilizon.Service.Metadata
alias Mobilizon.Service.MetadataUtils
alias Mobilizon.Service.Metadata.Instance
alias Mobilizon.Events.{Comment, Event}
alias Mobilizon.Tombstone
alias Mobilizon.Service.Metadata
alias Mobilizon.Service.Metadata.Instance
alias Mobilizon.Service.Metadata.Utils, as: MetadataUtils
alias Mobilizon.Federation.ActivityPub.Utils
alias Mobilizon.Federation.ActivityPub.ActivityStream.Convertible
def render("actor.activity-json", %{conn: %{assigns: %{object: %Actor{} = actor}}}) do
actor