Rename MobilizonWeb to Mobilizon.Web

This commit is contained in:
rustra 2020-01-26 21:36:50 +01:00
parent b3f8d52bc9
commit 8856cc2f55
143 changed files with 490 additions and 490 deletions

View file

@ -36,18 +36,18 @@ config :mime, :types, %{
}
# Configures the endpoint
config :mobilizon, MobilizonWeb.Endpoint,
config :mobilizon, Mobilizon.Web.Endpoint,
url: [host: "localhost"],
secret_key_base: "1yOazsoE0Wqu4kXk3uC5gu3jDbShOimTCzyFL3OjCdBmOXMyHX87Qmf3+Tu9s0iM",
render_errors: [view: MobilizonWeb.ErrorView, accepts: ~w(html json)],
render_errors: [view: Mobilizon.Web.ErrorView, accepts: ~w(html json)],
pubsub: [name: Mobilizon.PubSub, adapter: Phoenix.PubSub.PG2]
# Upload configuration
config :mobilizon, MobilizonWeb.Upload,
uploader: MobilizonWeb.Upload.Uploader.Local,
config :mobilizon, Mobilizon.Web.Upload,
uploader: Mobilizon.Web.Upload.Uploader.Local,
filters: [
MobilizonWeb.Upload.Filter.Dedupe,
MobilizonWeb.Upload.Filter.Optimize
Mobilizon.Web.Upload.Filter.Dedupe,
Mobilizon.Web.Upload.Filter.Optimize
],
link_name: true,
proxy_remote: false,
@ -60,7 +60,7 @@ config :mobilizon, MobilizonWeb.Upload,
]
]
config :mobilizon, MobilizonWeb.Upload.Uploader.Local, uploads: "uploads"
config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "uploads"
config :mobilizon, :media_proxy,
enabled: true,
@ -78,7 +78,7 @@ config :logger, :console,
format: "$time $metadata[$level] $message\n",
metadata: [:request_id]
config :mobilizon, MobilizonWeb.Auth.Guardian,
config :mobilizon, Mobilizon.Web.Auth.Guardian,
issuer: "mobilizon",
secret_key: "ty0WM7YBE3ojvxoUQxo8AERrNpfbXnIJ82ovkPdqbUFw31T5LcK8wGjaOiReVQjo"

View file

@ -6,7 +6,7 @@ import Config
# The watchers configuration can be used to run external
# watchers to your application. For example, we use it
# with brunch.io to recompile .js and .css sources.
config :mobilizon, MobilizonWeb.Endpoint,
config :mobilizon, Mobilizon.Web.Endpoint,
http: [
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4000
],
@ -39,7 +39,7 @@ config :mobilizon, MobilizonWeb.Endpoint,
# different ports.
# Watch static and templates for browser reloading.
config :mobilizon, MobilizonWeb.Endpoint,
config :mobilizon, Mobilizon.Web.Endpoint,
live_reload: [
patterns: [
~r{priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$},
@ -61,7 +61,7 @@ config :phoenix, :stacktrace_depth, 20
# Initialize plugs at runtime for faster development compilation
config :phoenix, :plug_init_mode, :runtime
config :mobilizon, MobilizonWeb.Email.Mailer, adapter: Bamboo.LocalAdapter
config :mobilizon, Mobilizon.Web.Email.Mailer, adapter: Bamboo.LocalAdapter
# Configure your database
config :mobilizon, Mobilizon.Storage.Repo,

View file

@ -2,7 +2,7 @@ import Config
import_config "dev.exs"
config :mobilizon, MobilizonWeb.Endpoint,
config :mobilizon, Mobilizon.Web.Endpoint,
http: [
port: 4000
],

View file

@ -1,6 +1,6 @@
import Config
config :mobilizon, MobilizonWeb.Endpoint,
config :mobilizon, Mobilizon.Web.Endpoint,
http: [
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4000,
transport_options: [socket_opts: [:inet6]]
@ -24,7 +24,7 @@ config :mobilizon, Mobilizon.Storage.Repo,
port: System.get_env("MOBILIZON_DATABASE_PORT") || "5432",
pool_size: 15
config :mobilizon, MobilizonWeb.Email.Mailer,
config :mobilizon, Mobilizon.Web.Email.Mailer,
adapter: Bamboo.SMTPAdapter,
server: "localhost",
hostname: "localhost",
@ -53,7 +53,7 @@ config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geos
# To get SSL working, you will need to add the `https` key
# to the previous section and set your `:url` port to 443:
#
# config :mobilizon, MobilizonWeb.Endpoint,
# config :mobilizon, Mobilizon.Web.Endpoint,
# ...
# url: [host: "example.com", port: 443],
# https: [:inet6,
@ -68,7 +68,7 @@ config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geos
# We also recommend setting `force_ssl`, ensuring no data is
# ever sent via http, always redirecting to https:
#
# config :mobilizon, MobilizonWeb.Endpoint,
# config :mobilizon, Mobilizon.Web.Endpoint,
# force_ssl: [hsts: true]
#
# Check `Plug.SSL` for all available options in `force_ssl`.
@ -83,5 +83,5 @@ config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geos
# Alternatively, you can configure exactly which server to
# start per endpoint:
#
# config :mobilizon, MobilizonWeb.Endpoint, server: true
# config :mobilizon, Mobilizon.Web.Endpoint, server: true
#

View file

@ -6,7 +6,7 @@ config :mobilizon, :instance,
# We don't run a server during test. If one is required,
# you can enable the server option below.
config :mobilizon, MobilizonWeb.Endpoint,
config :mobilizon, Mobilizon.Web.Endpoint,
http: [
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 80
],
@ -30,11 +30,11 @@ config :mobilizon, Mobilizon.Storage.Repo,
hostname: System.get_env("MOBILIZON_DATABASE_HOST") || "localhost",
pool: Ecto.Adapters.SQL.Sandbox
config :mobilizon, MobilizonWeb.Email.Mailer, adapter: Bamboo.TestAdapter
config :mobilizon, Mobilizon.Web.Email.Mailer, adapter: Bamboo.TestAdapter
config :mobilizon, MobilizonWeb.Upload, filters: [], link_name: false
config :mobilizon, Mobilizon.Web.Upload, filters: [], link_name: false
config :mobilizon, MobilizonWeb.Upload.Uploader.Local, uploads: "test/uploads"
config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "test/uploads"
config :exvcr,
vcr_cassette_library_dir: "test/fixtures/vcr_cassettes"

View file

@ -32,7 +32,7 @@ defmodule Mobilizon.Federation.ActivityPub do
alias Mobilizon.GraphQL.API.Utils, as: APIUtils
alias MobilizonWeb.Email.{Admin, Mailer}
alias Mobilizon.Web.Email.{Admin, Mailer}
require Logger
@ -318,7 +318,7 @@ defmodule Mobilizon.Federation.ActivityPub do
Convertible.model_to_as(%{follow | actor: follower, target_actor: followed}),
{:ok, follow_activity} <- create_activity(follow_as_data, local),
activity_unfollow_id <-
activity_id || "#{MobilizonWeb.Endpoint.url()}/unfollow/#{follow_id}/activity",
activity_id || "#{Mobilizon.Web.Endpoint.url()}/unfollow/#{follow_id}/activity",
unfollow_data <-
make_unfollow_data(follower, followed, follow_activity, activity_unfollow_id),
{:ok, activity} <- create_activity(unfollow_data, local),
@ -483,7 +483,7 @@ defmodule Mobilizon.Federation.ActivityPub do
# If it's an exclusion it should be something else
"actor" => actor_url,
"object" => event_url,
"id" => "#{MobilizonWeb.Endpoint.url()}/leave/event/#{participant.id}"
"id" => "#{Mobilizon.Web.Endpoint.url()}/leave/event/#{participant.id}"
},
audience <-
Audience.calculate_to_and_cc_from_mentions(participant),
@ -778,7 +778,7 @@ defmodule Mobilizon.Federation.ActivityPub do
make_accept_join_data(
follower_as_data,
Map.merge(additional, %{
"id" => "#{MobilizonWeb.Endpoint.url()}/accept/follow/#{follower.id}",
"id" => "#{Mobilizon.Web.Endpoint.url()}/accept/follow/#{follower.id}",
"to" => [follower.actor.url],
"cc" => [],
"actor" => follower.target_actor.url
@ -797,7 +797,7 @@ defmodule Mobilizon.Federation.ActivityPub do
defp accept_join(%Participant{} = participant, additional) do
with {:ok, %Participant{} = participant} <-
Events.update_participant(participant, %{role: :participant}),
Absinthe.Subscription.publish(MobilizonWeb.Endpoint, participant.actor,
Absinthe.Subscription.publish(Mobilizon.Web.Endpoint, participant.actor,
event_person_participation_changed: participant.actor.id
),
participant_as_data <- Convertible.model_to_as(participant),
@ -807,7 +807,7 @@ defmodule Mobilizon.Federation.ActivityPub do
make_accept_join_data(
participant_as_data,
Map.merge(Map.merge(audience, additional), %{
"id" => "#{MobilizonWeb.Endpoint.url()}/accept/join/#{participant.id}"
"id" => "#{Mobilizon.Web.Endpoint.url()}/accept/join/#{participant.id}"
})
) do
{:ok, participant, update_data}
@ -823,7 +823,7 @@ defmodule Mobilizon.Federation.ActivityPub do
defp reject_join(%Participant{} = participant, additional) do
with {:ok, %Participant{} = participant} <-
Events.update_participant(participant, %{approved: false, role: :rejected}),
Absinthe.Subscription.publish(MobilizonWeb.Endpoint, participant.actor,
Absinthe.Subscription.publish(Mobilizon.Web.Endpoint, participant.actor,
event_person_participation_changed: participant.actor.id
),
participant_as_data <- Convertible.model_to_as(participant),
@ -839,7 +839,7 @@ defmodule Mobilizon.Federation.ActivityPub do
reject_data
|> Map.merge(audience)
|> Map.merge(%{
"id" => "#{MobilizonWeb.Endpoint.url()}/reject/join/#{participant.id}"
"id" => "#{Mobilizon.Web.Endpoint.url()}/reject/join/#{participant.id}"
}) do
{:ok, participant, update_data}
else
@ -866,7 +866,7 @@ defmodule Mobilizon.Federation.ActivityPub do
reject_data
|> Map.merge(audience)
|> Map.merge(%{
"id" => "#{MobilizonWeb.Endpoint.url()}/reject/follow/#{follower.id}"
"id" => "#{Mobilizon.Web.Endpoint.url()}/reject/follow/#{follower.id}"
}) do
{:ok, follower, update_data}
else

View file

@ -28,7 +28,7 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
@spec get_actor() :: Actor.t() | {:error, Ecto.Changeset.t()}
def get_actor do
with {:ok, %Actor{} = actor} <-
Actors.get_or_create_instance_actor_by_url("#{MobilizonWeb.Endpoint.url()}/relay") do
Actors.get_or_create_instance_actor_by_url("#{Mobilizon.Web.Endpoint.url()}/relay") do
actor
end
end

View file

@ -17,7 +17,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
alias Mobilizon.Federation.ActivityPub.{Activity, Utils}
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
alias MobilizonWeb.Email.Participation
alias Mobilizon.Web.Email.Participation
require Logger

View file

@ -198,7 +198,7 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
Save picture data from %Plug.Upload{} and return AS Link data.
"""
def make_picture_data(%Plug.Upload{} = picture, opts) do
case MobilizonWeb.Upload.store(picture, opts) do
case Mobilizon.Web.Upload.store(picture, opts) do
{:ok, picture} ->
picture
@ -219,7 +219,7 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
"""
def make_picture_data(picture) when is_map(picture) do
with {:ok, %{"url" => [%{"href" => url, "mediaType" => content_type}], "size" => size}} <-
MobilizonWeb.Upload.store(picture.file),
Mobilizon.Web.Upload.store(picture.file),
{:picture_exists, nil} <- {:picture_exists, Mobilizon.Media.get_picture_by_url(url)},
{:ok, %Picture{file: _file} = picture} <-
Mobilizon.Media.create_picture(%{

View file

@ -29,14 +29,14 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Actor do
data["icon"]["url"] &&
%{
"name" => data["icon"]["name"] || "avatar",
"url" => MobilizonWeb.MediaProxy.url(data["icon"]["url"])
"url" => Mobilizon.Web.MediaProxy.url(data["icon"]["url"])
}
banner =
data["image"]["url"] &&
%{
"name" => data["image"]["name"] || "banner",
"url" => MobilizonWeb.MediaProxy.url(data["image"]["url"])
"url" => Mobilizon.Web.MediaProxy.url(data["image"]["url"])
}
actor_data = %{

View file

@ -34,7 +34,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Picture do
when is_bitstring(picture_url) do
with {:ok, %HTTPoison.Response{body: body}} <- HTTPoison.get(picture_url),
{:ok, %{name: name, url: url, content_type: content_type, size: size}} <-
MobilizonWeb.Upload.store(%{body: body, name: name}),
Mobilizon.Web.Upload.store(%{body: body, name: name}),
{:picture_exists, nil} <- {:picture_exists, Mobilizon.Media.get_picture_by_url(url)} do
Mobilizon.Media.create_picture(%{
"file" => %{

View file

@ -40,7 +40,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do
def build_tags(tags) do
Enum.map(tags, fn %Tag{} = tag ->
%{
"href" => MobilizonWeb.Endpoint.url() <> "/tags/#{tag.slug}",
"href" => Mobilizon.Web.Endpoint.url() <> "/tags/#{tag.slug}",
"name" => "##{tag.title}",
"type" => "Hashtag"
}

View file

@ -17,7 +17,7 @@ defmodule Mobilizon.Federation.WebFinger do
require Logger
def host_meta do
base_url = MobilizonWeb.Endpoint.url()
base_url = Mobilizon.Web.Endpoint.url()
{
:XRD,
@ -35,7 +35,7 @@ defmodule Mobilizon.Federation.WebFinger do
end
def webfinger(resource, "JSON") do
host = MobilizonWeb.Endpoint.host()
host = Mobilizon.Web.Endpoint.host()
regex = ~r/(acct:)?(?<name>\w+)@#{host}/
with %{"name" => name} <- Regex.named_captures(regex, resource),
@ -59,7 +59,7 @@ defmodule Mobilizon.Federation.WebFinger do
@spec represent_actor(Actor.t(), String.t()) :: struct()
def represent_actor(actor, "JSON") do
%{
"subject" => "acct:#{actor.preferred_username}@#{MobilizonWeb.Endpoint.host()}",
"subject" => "acct:#{actor.preferred_username}@#{Mobilizon.Web.Endpoint.host()}",
"aliases" => [actor.url],
"links" => [
%{"rel" => "self", "type" => "application/activity+json", "href" => actor.url},

View file

@ -8,7 +8,7 @@ defmodule Mobilizon.GraphQL.API.Participations do
alias Mobilizon.Federation.ActivityPub
alias MobilizonWeb.Email.Participation
alias Mobilizon.Web.Email.Participation
@spec join(Event.t(), Actor.t()) :: {:ok, Participant.t()}
def join(%Event{id: event_id} = event, %Actor{id: actor_id} = actor) do

View file

@ -157,7 +157,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
pic = args[key][:picture]
with {:ok, %{name: name, url: url, content_type: content_type, size: _size}} <-
MobilizonWeb.Upload.store(pic.file, type: key, description: pic.alt) do
Mobilizon.Web.Upload.store(pic.file, type: key, description: pic.alt) do
Map.put(args, key, %{"name" => name, "url" => url, "mediaType" => content_type})
end
else
@ -236,7 +236,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
@spec proxify_avatar(Actor.t()) :: Actor.t()
defp proxify_avatar(%Actor{avatar: %{url: avatar_url} = avatar} = actor) do
actor |> Map.put(:avatar, avatar |> Map.put(:url, MobilizonWeb.MediaProxy.url(avatar_url)))
actor |> Map.put(:avatar, avatar |> Map.put(:url, Mobilizon.Web.MediaProxy.url(avatar_url)))
end
@spec proxify_avatar(Actor.t()) :: Actor.t()
@ -244,7 +244,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
@spec proxify_banner(Actor.t()) :: Actor.t()
defp proxify_banner(%Actor{banner: %{url: banner_url} = banner} = actor) do
actor |> Map.put(:banner, banner |> Map.put(:url, MobilizonWeb.MediaProxy.url(banner_url)))
actor |> Map.put(:banner, banner |> Map.put(:url, Mobilizon.Web.MediaProxy.url(banner_url)))
end
@spec proxify_banner(Actor.t()) :: Actor.t()

View file

@ -18,7 +18,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Picture do
@doc """
Get picture for an event that has an attached
See MobilizonWeb.Resolvers.Event.create_event/3
See Mobilizon.Web.Resolvers.Event.create_event/3
"""
def picture(%{picture: picture} = _parent, _args, _resolution), do: {:ok, picture}
def picture(_parent, %{id: picture_id}, _resolution), do: do_fetch_picture(picture_id)
@ -53,7 +53,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Picture do
) do
with {:is_owned, %Actor{}} <- User.owns_actor(user, actor_id),
{:ok, %{name: _name, url: url, content_type: content_type, size: size}} <-
MobilizonWeb.Upload.store(file),
Mobilizon.Web.Upload.store(file),
args <-
args
|> Map.put(:url, url)

View file

@ -10,7 +10,7 @@ defmodule Mobilizon.GraphQL.Resolvers.User do
alias Mobilizon.Storage.Repo
alias Mobilizon.Users.User
alias MobilizonWeb.{Auth, Email}
alias Mobilizon.Web.{Auth, Email}
require Logger

View file

@ -26,7 +26,7 @@ defmodule Mobilizon do
@spec user_agent :: String.t()
def user_agent do
info = "#{MobilizonWeb.Endpoint.url()} <#{Config.get([:instance, :email], "")}>"
info = "#{Mobilizon.Web.Endpoint.url()} <#{Config.get([:instance, :email], "")}>"
"#{named_version()}; #{info}"
end
@ -37,8 +37,8 @@ defmodule Mobilizon do
children = [
# supervisors
Mobilizon.Storage.Repo,
MobilizonWeb.Endpoint,
{Absinthe.Subscription, [MobilizonWeb.Endpoint]},
Mobilizon.Web.Endpoint,
{Absinthe.Subscription, [Mobilizon.Web.Endpoint]},
{Oban, Application.get_env(:mobilizon, Oban)},
# workers
Guardian.DB.Token.SweeperServer,
@ -55,7 +55,7 @@ defmodule Mobilizon do
@spec config_change(keyword, keyword, [atom]) :: :ok
def config_change(changed, _new, removed) do
MobilizonWeb.Endpoint.config_change(changed, removed)
Mobilizon.Web.Endpoint.config_change(changed, removed)
:ok
end

View file

@ -15,8 +15,8 @@ defmodule Mobilizon.Actors.Actor do
alias Mobilizon.Users.User
alias Mobilizon.Mention
alias MobilizonWeb.Endpoint
alias MobilizonWeb.Router.Helpers, as: Routes
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
require Logger
@ -336,7 +336,7 @@ defmodule Mobilizon.Actors.Actor do
|> put_change(:followers_url, build_url(username, :followers))
|> put_change(:following_url, build_url(username, :following))
|> put_change(:inbox_url, build_url(username, :inbox))
|> put_change(:shared_inbox_url, "#{MobilizonWeb.Endpoint.url()}/inbox")
|> put_change(:shared_inbox_url, "#{Mobilizon.Web.Endpoint.url()}/inbox")
|> put_change(:url, build_url(username, :page))
end
@ -376,10 +376,10 @@ defmodule Mobilizon.Actors.Actor do
"keys" => Crypto.generate_rsa_2048_private_key(),
"preferred_username" => preferred_username,
"domain" => nil,
"inbox_url" => "#{MobilizonWeb.Endpoint.url()}/inbox",
"inbox_url" => "#{Mobilizon.Web.Endpoint.url()}/inbox",
"followers_url" => "#{url}/followers",
"following_url" => "#{url}/following",
"shared_inbox_url" => "#{MobilizonWeb.Endpoint.url()}/inbox",
"shared_inbox_url" => "#{Mobilizon.Web.Endpoint.url()}/inbox",
"type" => :Application
}
end

View file

@ -755,7 +755,7 @@ defmodule Mobilizon.Actors do
@spec safe_remove_file(String.t(), Actor.t()) :: {:ok, Actor.t()}
defp safe_remove_file(url, %Actor{} = actor) do
case MobilizonWeb.Upload.remove(url) do
case Mobilizon.Web.Upload.remove(url) do
{:ok, _value} ->
{:ok, actor}
@ -774,7 +774,7 @@ defmodule Mobilizon.Actors do
with %Ecto.Changeset{changes: %{url: new_url}} <- changes[key],
%{url: old_url} <- data |> Map.from_struct() |> Map.get(key),
false <- new_url == old_url do
MobilizonWeb.Upload.remove(old_url)
Mobilizon.Web.Upload.remove(old_url)
end
end
end)

View file

@ -65,6 +65,6 @@ defmodule Mobilizon.Actors.Follower do
changeset
|> put_change(:id, uuid)
|> put_change(:url, "#{MobilizonWeb.Endpoint.url()}/follow/#{uuid}")
|> put_change(:url, "#{Mobilizon.Web.Endpoint.url()}/follow/#{uuid}")
end
end

View file

@ -65,7 +65,7 @@ defmodule Mobilizon.Addresses.Address do
@spec set_url(Ecto.Changeset.t()) :: Ecto.Changeset.t()
defp set_url(%Ecto.Changeset{changes: changes} = changeset) do
url = Map.get(changes, :url, "#{MobilizonWeb.Endpoint.url()}/address/#{Ecto.UUID.generate()}")
url = Map.get(changes, :url, "#{Mobilizon.Web.Endpoint.url()}/address/#{Ecto.UUID.generate()}")
put_change(changeset, :url, url)
end

View file

@ -11,8 +11,8 @@ defmodule Mobilizon.Events.Comment do
alias Mobilizon.Events.{Comment, CommentVisibility, Event, Tag}
alias Mobilizon.Mention
alias MobilizonWeb.Endpoint
alias MobilizonWeb.Router.Helpers, as: Routes
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
@type t :: %__MODULE__{
text: String.t(),

View file

@ -33,8 +33,8 @@ defmodule Mobilizon.Events.Event do
alias Mobilizon.Mention
alias Mobilizon.Storage.Repo
alias MobilizonWeb.Endpoint
alias MobilizonWeb.Router.Helpers, as: Routes
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
@type t :: %__MODULE__{
url: String.t(),

View file

@ -31,7 +31,7 @@ defmodule Mobilizon.Events do
alias Mobilizon.Storage.{Page, Repo}
alias Mobilizon.Users.User
alias MobilizonWeb.Email
alias Mobilizon.Web.Email
defenum(EventVisibility, :event_visibility, [
:public,

View file

@ -11,7 +11,7 @@ defmodule Mobilizon.Events.Participant do
alias Mobilizon.Events
alias Mobilizon.Events.{Event, ParticipantRole}
alias MobilizonWeb.Endpoint
alias Mobilizon.Web.Endpoint
@type t :: %__MODULE__{
role: ParticipantRole.t(),

View file

@ -62,7 +62,7 @@ defmodule Mobilizon.Media do
Multi.new()
|> Multi.delete(:picture, picture)
|> Multi.run(:remove, fn _repo, %{picture: %Picture{file: %File{url: url}}} ->
MobilizonWeb.Upload.remove(url)
Mobilizon.Web.Upload.remove(url)
end)
|> Repo.transaction()

View file

@ -71,7 +71,7 @@ defmodule Mobilizon.Reports.Report do
@spec maybe_generate_url(Ecto.Changeset.t()) :: Ecto.Changeset.t()
defp maybe_generate_url(%Ecto.Changeset{} = changeset) do
with res when res in [:error, {:data, nil}] <- fetch_field(changeset, :url),
url <- "#{MobilizonWeb.Endpoint.url()}/report/#{Ecto.UUID.generate()}" do
url <- "#{Mobilizon.Web.Endpoint.url()}/report/#{Ecto.UUID.generate()}" do
put_change(changeset, :url, url)
else
_ -> changeset

View file

@ -12,7 +12,7 @@ defmodule Mobilizon.Users.User do
alias Mobilizon.Events.FeedToken
alias Mobilizon.Users.UserRole
alias MobilizonWeb.Email
alias Mobilizon.Web.Email
@type t :: %__MODULE__{
email: String.t(),

View file

@ -13,7 +13,7 @@ defmodule Mobilizon.Users do
alias Mobilizon.Storage.{Page, Repo}
alias Mobilizon.Users.User
alias MobilizonWeb.Auth
alias Mobilizon.Web.Auth
@type tokens :: %{
required(:access_token) => String.t(),

View file

@ -1,3 +0,0 @@
defmodule MobilizonWeb.LayoutView do
use MobilizonWeb, :view
end

View file

@ -3,7 +3,7 @@ defmodule Mobilizon.Service.Export.Feed do
Serve Atom Syndication Feeds.
"""
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
alias Atomex.{Entry, Feed}
@ -12,8 +12,8 @@ defmodule Mobilizon.Service.Export.Feed do
alias Mobilizon.Events.{Event, FeedToken}
alias Mobilizon.Users.User
alias MobilizonWeb.{Endpoint, MediaProxy}
alias MobilizonWeb.Router.Helpers, as: Routes
alias Mobilizon.Web.{Endpoint, MediaProxy}
alias Mobilizon.Web.Router.Helpers, as: Routes
require Logger
@ -74,7 +74,7 @@ defmodule Mobilizon.Service.Export.Feed do
self_url
|> Feed.new(
DateTime.utc_now(),
Gettext.gettext(MobilizonWeb.Gettext, title, actor: display_name)
Gettext.gettext(Mobilizon.Web.Gettext, title, actor: display_name)
)
|> Feed.author(display_name, uri: actor.url)
|> Feed.link(self_url, rel: "self")

View file

@ -52,7 +52,7 @@ defmodule Mobilizon.Service.Formatter do
def hashtag_handler("#" <> tag = tag_text, _buffer, _opts, acc) do
tag = String.downcase(tag)
url = "#{MobilizonWeb.Endpoint.url()}/tag/#{tag}"
url = "#{Mobilizon.Web.Endpoint.url()}/tag/#{tag}"
link = "<a class='hashtag' data-tag='#{tag}' href='#{url}' rel='tag'>#{tag_text}</a>"
{link, %{acc | tags: MapSet.put(acc.tags, {tag_text, tag})}}

View file

@ -1,7 +1,7 @@
defimpl Mobilizon.Service.Metadata, for: Mobilizon.Actors.Actor do
alias Phoenix.HTML.Tag
alias Mobilizon.Actors.Actor
alias MobilizonWeb.MediaProxy
alias Mobilizon.Web.MediaProxy
def build_tags(%Actor{} = actor) do
tags = [

View file

@ -2,8 +2,8 @@ defimpl Mobilizon.Service.Metadata, for: Mobilizon.Events.Event do
alias Phoenix.HTML
alias Phoenix.HTML.Tag
alias Mobilizon.Events.Event
alias MobilizonWeb.JsonLD.ObjectView
alias MobilizonWeb.MediaProxy
alias Mobilizon.Web.JsonLD.ObjectView
alias Mobilizon.Web.MediaProxy
def build_tags(%Event{} = event) do
event = Map.put(event, :description, process_description(event.description))

View file

@ -6,7 +6,7 @@ defmodule Mobilizon.Service.Metadata.Instance do
alias Phoenix.HTML
alias Phoenix.HTML.Tag
alias Mobilizon.Config
alias MobilizonWeb.Endpoint
alias Mobilizon.Web.Endpoint
def build_tags() do
description = process_description(Config.instance_description())

View file

@ -1,6 +1,6 @@
defmodule MobilizonWeb.Auth.Context do
defmodule Mobilizon.Web.Auth.Context do
@moduledoc """
Guardian context for MobilizonWeb
Guardian context for Mobilizon.Web
"""
@behaviour Plug

View file

@ -1,4 +1,4 @@
defmodule MobilizonWeb.Auth.ErrorHandler do
defmodule Mobilizon.Web.Auth.ErrorHandler do
@moduledoc """
In case we have an auth error
"""

View file

@ -1,4 +1,4 @@
defmodule MobilizonWeb.Auth.Guardian do
defmodule Mobilizon.Web.Auth.Guardian do
@moduledoc """
Handles the JWT tokens encoding and decoding
"""

View file

@ -1,14 +1,14 @@
defmodule MobilizonWeb.Auth.Pipeline do
defmodule Mobilizon.Web.Auth.Pipeline do
@moduledoc """
Handles the app sessions
"""
use Guardian.Plug.Pipeline,
otp_app: :mobilizon,
module: MobilizonWeb.Auth.Guardian,
error_handler: MobilizonWeb.Auth.ErrorHandler
module: Mobilizon.Web.Auth.Guardian,
error_handler: Mobilizon.Web.Auth.ErrorHandler
plug(Guardian.Plug.VerifyHeader, realm: "Bearer")
plug(Guardian.Plug.LoadResource, allow_blank: true)
plug(MobilizonWeb.Auth.Context)
plug(Mobilizon.Web.Auth.Context)
end

View file

@ -1,4 +1,4 @@
defmodule MobilizonWeb.Cache.ActivityPub do
defmodule Mobilizon.Web.Cache.ActivityPub do
@moduledoc """
ActivityPub related cache.
"""
@ -9,8 +9,8 @@ defmodule MobilizonWeb.Cache.ActivityPub do
alias Mobilizon.Federation.ActivityPub.Relay
alias MobilizonWeb.Endpoint
alias MobilizonWeb.Router.Helpers, as: Routes
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
@cache :activity_pub

View file

@ -1,11 +1,11 @@
defmodule MobilizonWeb.Cache do
defmodule Mobilizon.Web.Cache do
@moduledoc """
Facade module which provides access to all cached data.
"""
alias Mobilizon.Actors.Actor
alias MobilizonWeb.Cache.ActivityPub
alias Mobilizon.Web.Cache.ActivityPub
@caches [:activity_pub, :feed, :ics]

View file

@ -1,14 +1,14 @@
defmodule MobilizonWeb.GraphQLSocket do
defmodule Mobilizon.Web.GraphQLSocket do
use Phoenix.Socket
use Absinthe.Phoenix.Socket,
schema: MobilizonWeb.Schema
schema: Mobilizon.Web.Schema
alias Mobilizon.Users.User
def connect(%{"token" => token}, socket) do
with {:ok, authed_socket} <-
Guardian.Phoenix.Socket.authenticate(socket, MobilizonWeb.Auth.Guardian, token),
Guardian.Phoenix.Socket.authenticate(socket, Mobilizon.Web.Auth.Guardian, token),
%User{} = user <- Guardian.Phoenix.Socket.current_resource(authed_socket) do
authed_socket =
Absinthe.Phoenix.Socket.put_options(socket,

View file

@ -3,8 +3,8 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/activity_pub/activity_pub_controller.ex
defmodule MobilizonWeb.ActivityPubController do
use MobilizonWeb, :controller
defmodule Mobilizon.Web.ActivityPubController do
use Mobilizon.Web, :controller
alias Mobilizon.{Actors, Config}
alias Mobilizon.Actors.Actor
@ -12,14 +12,14 @@ defmodule MobilizonWeb.ActivityPubController do
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Federator
alias MobilizonWeb.ActivityPub.ActorView
alias MobilizonWeb.Cache
alias Mobilizon.Web.ActivityPub.ActorView
alias Mobilizon.Web.Cache
require Logger
action_fallback(:errors)
plug(MobilizonWeb.Plugs.Federating when action in [:inbox, :relay])
plug(Mobilizon.Web.Plugs.Federating when action in [:inbox, :relay])
plug(:relay_active? when action in [:relay])
def relay_active?(conn, _) do

View file

@ -1,15 +1,15 @@
defmodule MobilizonWeb.FallbackController do
defmodule Mobilizon.Web.FallbackController do
@moduledoc """
Translates controller action results into valid `Plug.Conn` responses.
See `Phoenix.Controller.action_fallback/1` for more details.
"""
use MobilizonWeb, :controller
use Mobilizon.Web, :controller
def call(conn, {:error, :not_found}) do
conn
|> put_status(:not_found)
|> put_view(MobilizonWeb.ErrorView)
|> put_view(Mobilizon.Web.ErrorView)
|> render(:"404")
end
end

View file

@ -1,10 +1,10 @@
defmodule MobilizonWeb.FeedController do
defmodule Mobilizon.Web.FeedController do
@moduledoc """
Controller to serve RSS, ATOM and iCal Feeds
"""
use MobilizonWeb, :controller
use Mobilizon.Web, :controller
plug(:put_layout, false)
action_fallback(MobilizonWeb.FallbackController)
action_fallback(Mobilizon.Web.FallbackController)
def actor(conn, %{"name" => name, "format" => "atom"}) do
case Cachex.fetch(:feed, "actor_" <> name) do

View file

@ -3,15 +3,15 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/media_proxy/controller.ex
defmodule MobilizonWeb.MediaProxyController do
use MobilizonWeb, :controller
defmodule Mobilizon.Web.MediaProxyController do
use Mobilizon.Web, :controller
alias Plug.Conn
alias Mobilizon.Config
alias MobilizonWeb.MediaProxy
alias MobilizonWeb.ReverseProxy
alias Mobilizon.Web.MediaProxy
alias Mobilizon.Web.ReverseProxy
@default_proxy_opts [max_body_length: 25 * 1_048_576, http: [follow_redirect: true]]

View file

@ -3,14 +3,14 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
defmodule MobilizonWeb.NodeInfoController do
use MobilizonWeb, :controller
defmodule Mobilizon.Web.NodeInfoController do
use Mobilizon.Web, :controller
alias Mobilizon.Config
alias Mobilizon.Service.Statistics
alias MobilizonWeb.Endpoint
alias MobilizonWeb.Router.Helpers, as: Routes
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
@node_info_supported_versions ["2.0", "2.1"]
@node_info_schema_uri "http://nodeinfo.diaspora.software/ns/schema/"

View file

@ -1,13 +1,13 @@
defmodule MobilizonWeb.PageController do
defmodule Mobilizon.Web.PageController do
@moduledoc """
Controller to load our webapp
"""
use MobilizonWeb, :controller
use Mobilizon.Web, :controller
alias MobilizonWeb.Cache
alias Mobilizon.Web.Cache
plug(:put_layout, false)
action_fallback(MobilizonWeb.FallbackController)
action_fallback(Mobilizon.Web.FallbackController)
def index(conn, _params), do: render(conn, :index)

View file

@ -3,16 +3,16 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/web_finger/web_finger_controller.ex
defmodule MobilizonWeb.WebFingerController do
defmodule Mobilizon.Web.WebFingerController do
@moduledoc """
Handles Webfinger requests
"""
use MobilizonWeb, :controller
use Mobilizon.Web, :controller
alias Mobilizon.Federation.WebFinger
plug(MobilizonWeb.Plugs.Federating)
plug(Mobilizon.Web.Plugs.Federating)
@doc """
Provides /.well-known/host-meta

View file

@ -1,23 +1,23 @@
defmodule MobilizonWeb.Email.Admin do
defmodule Mobilizon.Web.Email.Admin do
@moduledoc """
Handles emails sent to admins.
"""
use Bamboo.Phoenix, view: MobilizonWeb.EmailView
use Bamboo.Phoenix, view: Mobilizon.Web.EmailView
import Bamboo.Phoenix
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
alias Mobilizon.Config
alias Mobilizon.Reports.Report
alias Mobilizon.Users.User
alias MobilizonWeb.Email
alias Mobilizon.Web.Email
@spec report(User.t(), Report.t(), String.t()) :: Bamboo.Email.t()
def report(%User{email: email}, %Report{} = report, locale \\ "en") do
MobilizonWeb.Gettext.put_locale(locale)
Mobilizon.Web.Gettext.put_locale(locale)
subject =
gettext(

View file

@ -1,4 +1,4 @@
defmodule MobilizonWeb.Email.Checker do
defmodule Mobilizon.Web.Email.Checker do
@moduledoc """
Provides a function to test emails against a "not so bad" regex.
"""

View file

@ -1,9 +1,9 @@
defmodule MobilizonWeb.Email do
defmodule Mobilizon.Web.Email do
@moduledoc """
The Email context.
"""
use Bamboo.Phoenix, view: MobilizonWeb.EmailView
use Bamboo.Phoenix, view: Mobilizon.Web.EmailView
alias Mobilizon.Config
@ -16,7 +16,7 @@ defmodule MobilizonWeb.Email do
|> from({Config.instance_name(), Config.instance_email_from()})
|> put_header("Reply-To", Config.instance_email_reply_to())
|> assign(:instance, instance)
|> put_html_layout({MobilizonWeb.EmailView, "email.html"})
|> put_text_layout({MobilizonWeb.EmailView, "email.text"})
|> put_html_layout({Mobilizon.Web.EmailView, "email.html"})
|> put_text_layout({Mobilizon.Web.EmailView, "email.text"})
end
end

View file

@ -1,13 +1,13 @@
defmodule MobilizonWeb.Email.Event do
defmodule Mobilizon.Web.Email.Event do
@moduledoc """
Handles emails sent about events.
"""
use Bamboo.Phoenix, view: MobilizonWeb.EmailView
use Bamboo.Phoenix, view: Mobilizon.Web.EmailView
import Bamboo.Phoenix
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
alias Mobilizon.Actors.Actor
alias Mobilizon.Events
@ -15,7 +15,7 @@ defmodule MobilizonWeb.Email.Event do
alias Mobilizon.Storage.Repo
alias Mobilizon.Users.User
alias MobilizonWeb.Email
alias Mobilizon.Web.Email
@important_changes [:title, :begins_on, :ends_on, :status]
@ -29,7 +29,7 @@ defmodule MobilizonWeb.Email.Event do
changes,
locale \\ "en"
) do
MobilizonWeb.Gettext.put_locale(locale)
Mobilizon.Web.Gettext.put_locale(locale)
subject =
gettext(

View file

@ -1,4 +1,4 @@
defmodule MobilizonWeb.Email.Mailer do
defmodule Mobilizon.Web.Email.Mailer do
@moduledoc """
Mobilizon Mailer.
"""

View file

@ -1,19 +1,19 @@
defmodule MobilizonWeb.Email.Participation do
defmodule Mobilizon.Web.Email.Participation do
@moduledoc """
Handles emails sent about participation.
"""
use Bamboo.Phoenix, view: MobilizonWeb.EmailView
use Bamboo.Phoenix, view: Mobilizon.Web.EmailView
import Bamboo.Phoenix
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
alias Mobilizon.Users.User
alias Mobilizon.Actors.Actor
alias Mobilizon.Events.Participant
alias MobilizonWeb.Email
alias Mobilizon.Web.Email
@doc """
Send emails to local user
@ -46,7 +46,7 @@ defmodule MobilizonWeb.Email.Participation do
%Participant{event: event, role: :rejected},
locale
) do
MobilizonWeb.Gettext.put_locale(locale)
Mobilizon.Web.Gettext.put_locale(locale)
subject =
gettext(
@ -67,7 +67,7 @@ defmodule MobilizonWeb.Email.Participation do
%Participant{event: event, role: :participant},
locale
) do
MobilizonWeb.Gettext.put_locale(locale)
Mobilizon.Web.Gettext.put_locale(locale)
subject =
gettext(

View file

@ -1,19 +1,19 @@
defmodule MobilizonWeb.Email.User do
defmodule Mobilizon.Web.Email.User do
@moduledoc """
Handles emails sent to users.
"""
use Bamboo.Phoenix, view: MobilizonWeb.EmailView
use Bamboo.Phoenix, view: Mobilizon.Web.EmailView
import Bamboo.Phoenix
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
alias Mobilizon.{Config, Crypto, Users}
alias Mobilizon.Storage.Repo
alias Mobilizon.Users.User
alias MobilizonWeb.Email
alias Mobilizon.Web.Email
require Logger
@ -22,7 +22,7 @@ defmodule MobilizonWeb.Email.User do
%User{email: email, confirmation_token: confirmation_token},
locale \\ "en"
) do
MobilizonWeb.Gettext.put_locale(locale)
Mobilizon.Web.Gettext.put_locale(locale)
subject =
gettext(
@ -42,7 +42,7 @@ defmodule MobilizonWeb.Email.User do
%User{email: email, reset_password_token: reset_password_token},
locale \\ "en"
) do
MobilizonWeb.Gettext.put_locale(locale)
Mobilizon.Web.Gettext.put_locale(locale)
subject =
gettext(

View file

@ -1,4 +1,4 @@
defmodule MobilizonWeb.Endpoint do
defmodule Mobilizon.Web.Endpoint do
@moduledoc """
Endpoint for Mobilizon app
"""
@ -14,12 +14,12 @@ defmodule MobilizonWeb.Endpoint do
)
end
socket("/graphql_socket", MobilizonWeb.GraphQLSocket,
socket("/graphql_socket", Mobilizon.Web.GraphQLSocket,
websocket: true,
longpoll: false
)
plug(MobilizonWeb.Plugs.UploadedMedia)
plug(Mobilizon.Web.Plugs.UploadedMedia)
# Serve at "/" the static files from "priv/static" directory.
#
@ -65,5 +65,5 @@ defmodule MobilizonWeb.Endpoint do
signing_salt: "F9CCTF22"
)
plug(MobilizonWeb.Router)
plug(Mobilizon.Web.Router)
end

View file

@ -1,11 +1,11 @@
defmodule MobilizonWeb.Gettext do
defmodule Mobilizon.Web.Gettext do
@moduledoc """
A module providing Internationalization with a gettext-based API.
By using [Gettext](https://hexdocs.pm/gettext),
your module gains a set of macros for translations, for example:
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
# Simple translation
gettext "Here is the string to translate"
@ -24,13 +24,13 @@ defmodule MobilizonWeb.Gettext do
def put_locale(locale) do
locale = determine_best_locale(locale)
Gettext.put_locale(MobilizonWeb.Gettext, locale)
Gettext.put_locale(Mobilizon.Web.Gettext, locale)
end
@spec determine_best_locale(String.t()) :: String.t()
def determine_best_locale(locale) do
locale = String.trim(locale)
locales = Gettext.known_locales(MobilizonWeb.Gettext)
locales = Gettext.known_locales(Mobilizon.Web.Gettext)
cond do
# Either it matches directly, eg: "en" => "en", "fr" => "fr", "fr_FR" => "fr_FR"

View file

@ -1,12 +1,12 @@
defmodule MobilizonWeb do
defmodule Mobilizon.Web do
@moduledoc """
The entrypoint for defining your web interface, such
as controllers, views, channels and so on.
This can be used in your application as:
use MobilizonWeb, :controller
use MobilizonWeb, :view
use Mobilizon.Web, :controller
use Mobilizon.Web, :view
The definitions below will be executed for every view,
controller, etc, so keep them short and clean, focused
@ -19,18 +19,18 @@ defmodule MobilizonWeb do
def controller do
quote do
use Phoenix.Controller, namespace: MobilizonWeb
use Phoenix.Controller, namespace: Mobilizon.Web
import Plug.Conn
import MobilizonWeb.Router.Helpers
import MobilizonWeb.Gettext
import Mobilizon.Web.Router.Helpers
import Mobilizon.Web.Gettext
end
end
def view do
quote do
use Phoenix.View,
root: "lib/mobilizon_web/templates",
namespace: MobilizonWeb
root: "lib/web/templates",
namespace: Mobilizon.Web
# Import convenience functions from controllers
import Phoenix.Controller, only: [get_flash: 2, view_module: 1]
@ -38,9 +38,9 @@ defmodule MobilizonWeb do
# Use all HTML functionality (forms, tags, etc)
use Phoenix.HTML
import MobilizonWeb.Router.Helpers
import MobilizonWeb.ErrorHelpers
import MobilizonWeb.Gettext
import Mobilizon.Web.Router.Helpers
import Mobilizon.Web.ErrorHelpers
import Mobilizon.Web.Gettext
end
end
@ -55,7 +55,7 @@ defmodule MobilizonWeb do
def channel do
quote do
use Phoenix.Channel
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
end
end

View file

@ -3,7 +3,7 @@
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule MobilizonWeb.Plugs.Federating do
defmodule Mobilizon.Web.Plugs.Federating do
@moduledoc """
Restrict ActivityPub routes when not federating
"""
@ -20,7 +20,7 @@ defmodule MobilizonWeb.Plugs.Federating do
else
conn
|> put_status(404)
|> Phoenix.Controller.put_view(MobilizonWeb.ErrorView)
|> Phoenix.Controller.put_view(Mobilizon.Web.ErrorView)
|> Phoenix.Controller.render("404.json")
|> halt()
end

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/plugs/http_signature.ex
defmodule MobilizonWeb.Plugs.HTTPSignatures do
defmodule Mobilizon.Web.Plugs.HTTPSignatures do
@moduledoc """
Plug to check HTTP Signatures on every incoming request
"""

View file

@ -3,7 +3,7 @@
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule MobilizonWeb.Plugs.MappedSignatureToIdentity do
defmodule Mobilizon.Web.Plugs.MappedSignatureToIdentity do
@moduledoc """
Get actor identity from Signature when handing fetches
"""

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/plugs/uploaded_media.ex
defmodule MobilizonWeb.Plugs.UploadedMedia do
defmodule Mobilizon.Web.Plugs.UploadedMedia do
@moduledoc """
Serves uploaded media files
"""
@ -41,7 +41,7 @@ defmodule MobilizonWeb.Plugs.UploadedMedia do
conn
end
config = Config.get([MobilizonWeb.Upload])
config = Config.get([Mobilizon.Web.Upload])
with uploader <- Keyword.fetch!(config, :uploader),
proxy_remote = Keyword.get(config, :proxy_remote, false),
@ -76,7 +76,7 @@ defmodule MobilizonWeb.Plugs.UploadedMedia do
end
defp get_media(conn, {:url, url}, true, _) do
MobilizonWeb.ReverseProxy.call(conn, url, Config.get([Mobilizon.Upload, :proxy_opts], []))
Mobilizon.Web.ReverseProxy.call(conn, url, Config.get([Mobilizon.Upload, :proxy_opts], []))
end
defp get_media(conn, {:url, url}, _, _) do

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/media_proxy/media_proxy.ex
defmodule MobilizonWeb.MediaProxy do
defmodule Mobilizon.Web.MediaProxy do
@moduledoc """
Handles proxifying media files
"""
@ -22,7 +22,7 @@ defmodule MobilizonWeb.MediaProxy do
config = Application.get_env(:mobilizon, :media_proxy, [])
if !Keyword.get(config, :enabled, false) or
String.starts_with?(url, MobilizonWeb.Endpoint.url()) do
String.starts_with?(url, Mobilizon.Web.Endpoint.url()) do
url
else
encode_url(url)
@ -30,7 +30,7 @@ defmodule MobilizonWeb.MediaProxy do
end
def encode_url(url) do
secret = Application.get_env(:mobilizon, MobilizonWeb.Endpoint)[:secret_key_base]
secret = Application.get_env(:mobilizon, Mobilizon.Web.Endpoint)[:secret_key_base]
# Must preserve `%2F` for compatibility with S3
# https://git.pleroma.social/pleroma/pleroma/issues/580
@ -52,7 +52,7 @@ defmodule MobilizonWeb.MediaProxy do
end
def decode_url(sig, url) do
secret = Application.get_env(:mobilizon, MobilizonWeb.Endpoint)[:secret_key_base]
secret = Application.get_env(:mobilizon, Mobilizon.Web.Endpoint)[:secret_key_base]
sig = Base.url_decode64!(sig, @base64_opts)
local_sig = :crypto.hmac(:sha, secret, url)
@ -69,7 +69,7 @@ defmodule MobilizonWeb.MediaProxy do
def build_url(sig_base64, url_base64, filename \\ nil) do
[
Config.get([:media_proxy, :base_url], MobilizonWeb.Endpoint.url()),
Config.get([:media_proxy, :base_url], Mobilizon.Web.Endpoint.url()),
"proxy",
sig_base64,
url_base64,

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/reverse_proxy.ex
defmodule MobilizonWeb.ReverseProxy do
defmodule Mobilizon.Web.ReverseProxy do
@keep_req_headers ~w(accept user-agent accept-encoding cache-control
if-modified-since if-unmodified-since if-none-match if-range range)
@resp_cache_headers ~w(etag date last-modified cache-control)
@ -18,7 +18,7 @@ defmodule MobilizonWeb.ReverseProxy do
@moduledoc """
A reverse proxy.
MobilizonWeb.ReverseProxy.call(conn, url, options)
Mobilizon.Web.ReverseProxy.call(conn, url, options)
It is not meant to be added into a plug pipeline, but to be called from another
plug or controller.
@ -111,7 +111,7 @@ defmodule MobilizonWeb.ReverseProxy do
req_headers = build_req_headers(conn.req_headers, opts)
opts =
if filename = MobilizonWeb.MediaProxy.filename(url) do
if filename = Mobilizon.Web.MediaProxy.filename(url) do
Keyword.put_new(opts, :attachment_name, filename)
else
opts

View file

@ -1,12 +1,12 @@
defmodule MobilizonWeb.Router do
defmodule Mobilizon.Web.Router do
@moduledoc """
Router for mobilizon app
"""
use MobilizonWeb, :router
use Mobilizon.Web, :router
pipeline :graphql do
# plug(:accepts, ["json"])
plug(MobilizonWeb.Auth.Pipeline)
plug(Mobilizon.Web.Auth.Pipeline)
end
pipeline :well_known do
@ -14,13 +14,13 @@ defmodule MobilizonWeb.Router do
end
pipeline :activity_pub_signature do
plug(MobilizonWeb.Plugs.HTTPSignatures)
plug(MobilizonWeb.Plugs.MappedSignatureToIdentity)
plug(Mobilizon.Web.Plugs.HTTPSignatures)
plug(Mobilizon.Web.Plugs.MappedSignatureToIdentity)
end
pipeline :relay do
plug(MobilizonWeb.Plugs.HTTPSignatures)
plug(MobilizonWeb.Plugs.MappedSignatureToIdentity)
plug(Mobilizon.Web.Plugs.HTTPSignatures)
plug(Mobilizon.Web.Plugs.MappedSignatureToIdentity)
plug(:accepts, ["activity-json", "json"])
end
@ -60,7 +60,7 @@ defmodule MobilizonWeb.Router do
## FEDERATION
scope "/.well-known", MobilizonWeb do
scope "/.well-known", Mobilizon.Web do
pipe_through(:well_known)
get("/host-meta", WebFingerController, :host_meta)
@ -69,7 +69,7 @@ defmodule MobilizonWeb.Router do
get("/nodeinfo/:version", NodeInfoController, :nodeinfo)
end
scope "/", MobilizonWeb do
scope "/", Mobilizon.Web do
pipe_through(:activity_pub_and_html)
pipe_through(:activity_pub_signature)
@ -78,7 +78,7 @@ defmodule MobilizonWeb.Router do
get("/comments/:uuid", PageController, :comment)
end
scope "/", MobilizonWeb do
scope "/", Mobilizon.Web do
pipe_through(:activity_pub)
get("/@:name/outbox", ActivityPubController, :outbox)
@ -86,13 +86,13 @@ defmodule MobilizonWeb.Router do
get("/@:name/followers", ActivityPubController, :followers)
end
scope "/", MobilizonWeb do
scope "/", Mobilizon.Web do
pipe_through(:activity_pub_signature)
post("/@:name/inbox", ActivityPubController, :inbox)
post("/inbox", ActivityPubController, :inbox)
end
scope "/relay", MobilizonWeb do
scope "/relay", Mobilizon.Web do
pipe_through(:relay)
get("/", ActivityPubController, :relay)
@ -101,7 +101,7 @@ defmodule MobilizonWeb.Router do
## FEED
scope "/", MobilizonWeb do
scope "/", Mobilizon.Web do
pipe_through(:atom_and_ical)
get("/@:name/feed/:format", FeedController, :actor)
@ -111,9 +111,9 @@ defmodule MobilizonWeb.Router do
## MOBILIZON
forward("/graphiql", Absinthe.Plug.GraphiQL, schema: MobilizonWeb.Schema)
forward("/graphiql", Absinthe.Plug.GraphiQL, schema: Mobilizon.Web.Schema)
scope "/", MobilizonWeb do
scope "/", Mobilizon.Web do
pipe_through(:browser)
# Because the "/events/:uuid" route caches all these, we need to force them
@ -127,7 +127,7 @@ defmodule MobilizonWeb.Router do
get("/moderation/reports/:id", PageController, :index, as: "moderation_report")
end
scope "/proxy/", MobilizonWeb do
scope "/proxy/", Mobilizon.Web do
pipe_through(:remote_media)
get("/:sig/:url", MediaProxyController, :remote)
@ -139,7 +139,7 @@ defmodule MobilizonWeb.Router do
forward("/sent_emails", Bamboo.SentEmailViewerPlug)
end
scope "/", MobilizonWeb do
scope "/", Mobilizon.Web do
pipe_through(:browser)
get("/*path", PageController, :index)

View file

@ -58,8 +58,8 @@
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px;" >
<tr>
<td align="center" valign="top" style="padding: 40px 10px 40px 10px;">
<a href="<%= MobilizonWeb.Endpoint.url() %>" target="_blank">
<img alt="<%= Mobilizon.Config.instance_name() %>" src="<%= "#{MobilizonWeb.Endpoint.url()}/img/mobilizon_logo.png" %>" width="366" height="108" style="display: block; width: 366px; max-width: 366px; min-width: 366px; font-family: 'Lato', Helvetica, Arial, sans-serif; color: #ffffff; font-size: 18px;" border="0">
<a href="<%= Mobilizon.Web.Endpoint.url() %>" target="_blank">
<img alt="<%= Mobilizon.Config.instance_name() %>" src="<%= "#{Mobilizon.Web.Endpoint.url()}/img/mobilizon_logo.png" %>" width="366" height="108" style="display: block; width: 366px; max-width: 366px; min-width: 366px; font-family: 'Lato', Helvetica, Arial, sans-serif; color: #ffffff; font-size: 18px;" border="0">
</a>
</td>
</tr>

View file

@ -54,7 +54,7 @@
<td bgcolor="#ffffff" align="center" style="padding: 20px 30px 60px 30px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= page_url(MobilizonWeb.Endpoint, :event, @event.id) %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= page_url(Mobilizon.Web.Endpoint, :event, @event.id) %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<%= gettext "Go to event page" %>
</a></td>
</tr>

View file

@ -6,6 +6,6 @@
<%= gettext "An organizer just approved your participation. You're now going to this event!" %>
<%= page_url(MobilizonWeb.Endpoint, :event, @event.id) %>
<%= page_url(Mobilizon.Web.Endpoint, :event, @event.id) %>
<%= gettext "If you need to cancel your participation, just access the previous link and click on the participation button." %>

View file

@ -97,7 +97,7 @@
<td bgcolor="#ffffff" align="center" style="padding: 20px 30px 60px 30px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= page_url(MobilizonWeb.Endpoint, :event, @event.id) %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= page_url(Mobilizon.Web.Endpoint, :event, @event.id) %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<%= gettext "Go to event page" %>
</a></td>
</tr>

View file

@ -16,6 +16,6 @@
<%= gettext "New date and time for ending of event: %{ends_on}", ends_on: datetime_to_string(@event.ends_on, @locale) %>
<% end %>
<%= gettext "View the updated event on: %{link}", link: page_url(MobilizonWeb.Endpoint, :event, @event.id) %>
<%= gettext "View the updated event on: %{link}", link: page_url(Mobilizon.Web.Endpoint, :event, @event.id) %>
<%= gettext "If you need to cancel your participation, just access the event page through link above and click on the participation button." %>

View file

@ -57,7 +57,7 @@
<td bgcolor="#ffffff" align="center" style="padding: 20px 30px 60px 30px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= "#{MobilizonWeb.Endpoint.url()}/password-reset/#{@token}" %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= "#{Mobilizon.Web.Endpoint.url()}/password-reset/#{@token}" %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<%= gettext "Reset Password" %>
</a></td>
</tr>

View file

@ -6,7 +6,7 @@
<%= gettext "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time." %>
<%= MobilizonWeb.Endpoint.url() <> "/password-reset/#{@token}" %>
<%= Mobilizon.Web.Endpoint.url() <> "/password-reset/#{@token}" %>
<%= gettext "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." %>

View file

@ -54,7 +54,7 @@
<td bgcolor="#ffffff" align="center" style="padding: 20px 30px 60px 30px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= "#{MobilizonWeb.Endpoint.url()}/validate/#{@token}" %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= "#{Mobilizon.Web.Endpoint.url()}/validate/#{@token}" %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<%= gettext "Activate my account" %>
</a></td>
</tr>

View file

@ -4,4 +4,4 @@
<%= gettext "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email.", host: @instance[:name] %>
<%= MobilizonWeb.Endpoint.url() <> "/validate/#{@token}" %>
<%= Mobilizon.Web.Endpoint.url() <> "/validate/#{@token}" %>

View file

@ -48,7 +48,7 @@
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #666666; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
<p style="margin: 0;">
<h3><%= gettext "Event" %></h3>
<a href="<%= "#{MobilizonWeb.Endpoint.url()}/events/#{@report.event.uuid}" %>" target="_blank">
<a href="<%= "#{Mobilizon.Web.Endpoint.url()}/events/#{@report.event.uuid}" %>" target="_blank">
<%= gettext "%{title} by %{creator}", title: @report.event.title, creator: Mobilizon.Actors.Actor.preferred_username_and_domain(@report.reported) %>
</a>
</p>
@ -100,7 +100,7 @@
<td bgcolor="#ffffff" align="center" style="padding: 20px 30px 60px 30px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= moderation_report_url(MobilizonWeb.Endpoint, :index, @report.id) %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= moderation_report_url(Mobilizon.Web.Endpoint, :index, @report.id) %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
<%= gettext "View the report" %>
</a></td>
</tr>

View file

@ -25,5 +25,5 @@
<% end %>
View the report: <%= moderation_report_url(MobilizonWeb.Endpoint, :index, @report.id) %>
View the report: <%= moderation_report_url(Mobilizon.Web.Endpoint, :index, @report.id) %>

View file

@ -3,21 +3,21 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/upload/filter/anonymize_filename.ex
defmodule MobilizonWeb.Upload.Filter.AnonymizeFilename do
defmodule Mobilizon.Web.Upload.Filter.AnonymizeFilename do
@moduledoc """
Replaces the original filename with a pre-defined text or randomly generated string.
Should be used after `MobilizonWeb.Upload.Filter.Dedupe`.
Should be used after `Mobilizon.Web.Upload.Filter.Dedupe`.
"""
@behaviour MobilizonWeb.Upload.Filter
@behaviour Mobilizon.Web.Upload.Filter
alias Mobilizon.Config
def filter(upload) do
extension = List.last(String.split(upload.name, "."))
name = Config.get([__MODULE__, :text], random(extension))
{:ok, %MobilizonWeb.Upload{upload | name: name}}
{:ok, %Mobilizon.Web.Upload{upload | name: name}}
end
defp random(extension) do

View file

@ -3,12 +3,12 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/upload/filter/dedupe.ex
defmodule MobilizonWeb.Upload.Filter.Dedupe do
defmodule Mobilizon.Web.Upload.Filter.Dedupe do
@moduledoc """
Names the file after its hash to avoid dedupes
"""
@behaviour MobilizonWeb.Upload.Filter
alias MobilizonWeb.Upload
@behaviour Mobilizon.Web.Upload.Filter
alias Mobilizon.Web.Upload
def filter(%Upload{name: name} = upload) do
extension = name |> String.split(".") |> List.last()

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/upload/filter.ex
defmodule MobilizonWeb.Upload.Filter do
defmodule Mobilizon.Web.Upload.Filter do
@moduledoc """
Upload Filter behaviour
@ -16,11 +16,11 @@ defmodule MobilizonWeb.Upload.Filter do
require Logger
@callback filter(MobilizonWeb.Upload.t()) ::
:ok | {:ok, MobilizonWeb.Upload.t()} | {:error, any()}
@callback filter(Mobilizon.Web.Upload.t()) ::
:ok | {:ok, Mobilizon.Web.Upload.t()} | {:error, any()}
@spec filter([module()], MobilizonWeb.Upload.t()) ::
{:ok, MobilizonWeb.Upload.t()} | {:error, any()}
@spec filter([module()], Mobilizon.Web.Upload.t()) ::
{:ok, Mobilizon.Web.Upload.t()} | {:error, any()}
def filter([], upload) do
{:ok, upload}

View file

@ -3,19 +3,19 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/upload/filter/mogrify.ex
defmodule MobilizonWeb.Upload.Filter.Mogrify do
defmodule Mobilizon.Web.Upload.Filter.Mogrify do
@moduledoc """
Handle mogrify transformations
"""
@behaviour MobilizonWeb.Upload.Filter
@behaviour Mobilizon.Web.Upload.Filter
alias Mobilizon.Config
@type conversion :: action :: String.t() | {action :: String.t(), opts :: String.t()}
@type conversions :: conversion() | [conversion()]
def filter(%MobilizonWeb.Upload{tempfile: file, content_type: "image" <> _}) do
def filter(%Mobilizon.Web.Upload{tempfile: file, content_type: "image" <> _}) do
filters = Config.get!([__MODULE__, :args])
file

View file

@ -1,9 +1,9 @@
defmodule MobilizonWeb.Upload.Filter.Optimize do
defmodule Mobilizon.Web.Upload.Filter.Optimize do
@moduledoc """
Handle picture optimizations
"""
@behaviour MobilizonWeb.Upload.Filter
@behaviour Mobilizon.Web.Upload.Filter
alias Mobilizon.Config
@ -16,7 +16,7 @@ defmodule MobilizonWeb.Upload.Filter.Optimize do
Cwebp
]
def filter(%MobilizonWeb.Upload{tempfile: file, content_type: "image" <> _}) do
def filter(%Mobilizon.Web.Upload{tempfile: file, content_type: "image" <> _}) do
optimizers = Config.get([__MODULE__, :optimizers], @default_optimizers)
case ExOptimizer.optimize(file, deps: optimizers) do

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/mime.ex
defmodule MobilizonWeb.Upload.MIME do
defmodule Mobilizon.Web.Upload.MIME do
@moduledoc """
Returns the mime-type of a binary and optionally a normalized file-name.
"""

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/upload.ex
defmodule MobilizonWeb.Upload do
defmodule Mobilizon.Web.Upload do
@moduledoc """
Manage user uploads
@ -16,7 +16,7 @@ defmodule MobilizonWeb.Upload do
* `:size_limit`: override size limit
* `:activity_type`: override activity type
The `%MobilizonWeb.Upload{}` struct: all documented fields are meant to be overwritten in filters:
The `%Mobilizon.Web.Upload{}` struct: all documented fields are meant to be overwritten in filters:
* `:id` - the upload id.
* `:name` - the upload file name.
@ -27,8 +27,8 @@ defmodule MobilizonWeb.Upload do
Related behaviors:
* `MobilizonWeb.Upload.Uploader`
* `MobilizonWeb.Upload.Filter`
* `Mobilizon.Web.Upload.Uploader`
* `Mobilizon.Web.Upload.Filter`
"""
@ -36,7 +36,7 @@ defmodule MobilizonWeb.Upload do
alias Mobilizon.Config
alias MobilizonWeb.Upload.{Filter, MIME, Uploader}
alias Mobilizon.Web.Upload.{Filter, MIME, Uploader}
require Logger
@ -91,7 +91,7 @@ defmodule MobilizonWeb.Upload do
def remove(url, opts \\ []) do
with opts <- get_opts(opts),
%URI{path: "/media/" <> path, host: host} <- URI.parse(url),
{:same_host, true} <- {:same_host, host == MobilizonWeb.Endpoint.host()} do
{:same_host, true} <- {:same_host, host == Mobilizon.Web.Endpoint.host()} do
Uploader.remove_file(opts.uploader, path)
else
%URI{} = _uri ->
@ -129,7 +129,7 @@ defmodule MobilizonWeb.Upload do
Keyword.get(
opts,
:base_url,
Config.get([__MODULE__, :base_url], MobilizonWeb.Endpoint.url())
Config.get([__MODULE__, :base_url], Mobilizon.Web.Endpoint.url())
)
}
end

View file

@ -3,12 +3,12 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/uploaders/local.ex
defmodule MobilizonWeb.Upload.Uploader.Local do
defmodule Mobilizon.Web.Upload.Uploader.Local do
@moduledoc """
Local uploader for files
"""
@behaviour MobilizonWeb.Upload.Uploader
@behaviour Mobilizon.Web.Upload.Uploader
alias Mobilizon.Config

View file

@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/uploaders/uploader.ex
defmodule MobilizonWeb.Upload.Uploader do
defmodule Mobilizon.Web.Upload.Uploader do
@moduledoc """
Defines the contract to put and get an uploaded file to any backend.
"""
@ -11,7 +11,7 @@ defmodule MobilizonWeb.Upload.Uploader do
@doc """
Instructs how to get the file from the backend.
Used by `MobilizonWeb.Plugs.UploadedMedia`.
Used by `Mobilizon.Web.Plugs.UploadedMedia`.
"""
@type get_method :: {:static_dir, directory :: String.t()} | {:url, url :: String.t()}
@callback get_file(file :: String.t()) :: {:ok, get_method()}
@ -32,7 +32,7 @@ defmodule MobilizonWeb.Upload.Uploader do
"""
@type file_spec :: {:file | :url, String.t()}
@callback put_file(MobilizonWeb.Upload.t()) ::
@callback put_file(Mobilizon.Web.Upload.t()) ::
:ok | {:ok, file_spec()} | {:error, String.t()} | :wait_callback
@callback remove_file(file_spec()) :: :ok | {:ok, file_spec()} | {:error, String.t()}
@ -43,7 +43,7 @@ defmodule MobilizonWeb.Upload.Uploader do
| {:error, Plug.Conn.t(), String.t()}
@optional_callbacks http_callback: 2
@spec put_file(module(), MobilizonWeb.Upload.t()) :: {:ok, file_spec()} | {:error, String.t()}
@spec put_file(module(), Mobilizon.Web.Upload.t()) :: {:ok, file_spec()} | {:error, String.t()}
def put_file(uploader, upload) do
case uploader.put_file(upload) do
:ok -> {:ok, {:file, upload.path}}

View file

@ -1,5 +1,5 @@
defmodule MobilizonWeb.ActivityPub.ActorView do
use MobilizonWeb, :view
defmodule Mobilizon.Web.ActivityPub.ActorView do
use Mobilizon.Web, :view
alias Mobilizon.Actors
alias Mobilizon.Actors.Actor

View file

@ -1,5 +1,5 @@
defmodule MobilizonWeb.ActivityPub.ObjectView do
use MobilizonWeb, :view
defmodule Mobilizon.Web.ActivityPub.ObjectView do
use Mobilizon.Web, :view
alias Mobilizon.Federation.ActivityPub.{Activity, Utils}

View file

@ -1,14 +1,14 @@
defmodule MobilizonWeb.ChangesetView do
defmodule Mobilizon.Web.ChangesetView do
@moduledoc """
View for changesets in case of errors
"""
use MobilizonWeb, :view
use Mobilizon.Web, :view
@doc """
Traverses and translates changeset errors.
See `Ecto.Changeset.traverse_errors/2` and
`MobilizonWeb.ErrorHelpers.translate_error/1` for more details.
`Mobilizon.Web.ErrorHelpers.translate_error/1` for more details.
"""
def translate_errors(changeset) do
Ecto.Changeset.traverse_errors(changeset, &translate_error/1)

View file

@ -1,7 +1,7 @@
defmodule MobilizonWeb.EmailView do
use MobilizonWeb, :view
defmodule Mobilizon.Web.EmailView do
use Mobilizon.Web, :view
import MobilizonWeb.Gettext
import Mobilizon.Web.Gettext
def datetime_to_string(%DateTime{} = datetime, locale \\ "en") do
with {:ok, string} <-

View file

@ -1,4 +1,4 @@
defmodule MobilizonWeb.ErrorHelpers do
defmodule Mobilizon.Web.ErrorHelpers do
@moduledoc """
Conveniences for translating and building error messages.
"""
@ -32,9 +32,9 @@ defmodule MobilizonWeb.ErrorHelpers do
# dgettext "errors", "is invalid"
#
if count = opts[:count] do
Gettext.dngettext(MobilizonWeb.Gettext, "errors", msg, msg, count, opts)
Gettext.dngettext(Mobilizon.Web.Gettext, "errors", msg, msg, count, opts)
else
Gettext.dgettext(MobilizonWeb.Gettext, "errors", msg, opts)
Gettext.dgettext(Mobilizon.Web.Gettext, "errors", msg, opts)
end
end
end

View file

@ -1,8 +1,8 @@
defmodule MobilizonWeb.ErrorView do
defmodule Mobilizon.Web.ErrorView do
@moduledoc """
View for errors
"""
use MobilizonWeb, :view
use Mobilizon.Web, :view
def render("404.html", _assigns) do
with {:ok, index_content} <- File.read(index_file_path()) do

View file

@ -1,12 +1,12 @@
defmodule MobilizonWeb.JsonLD.ObjectView do
use MobilizonWeb, :view
defmodule Mobilizon.Web.JsonLD.ObjectView do
use Mobilizon.Web, :view
alias Mobilizon.Actors.Actor
alias Mobilizon.Addresses.Address
alias Mobilizon.Events.Event
alias MobilizonWeb.JsonLD.ObjectView
alias MobilizonWeb.MediaProxy
alias Mobilizon.Web.JsonLD.ObjectView
alias Mobilizon.Web.MediaProxy
def render("event.json", %{event: %Event{} = event}) do
# TODO: event.description is actually markdown!

View file

@ -0,0 +1,3 @@
defmodule Mobilizon.Web.LayoutView do
use Mobilizon.Web, :view
end

View file

@ -1,9 +1,9 @@
defmodule MobilizonWeb.PageView do
defmodule Mobilizon.Web.PageView do
@moduledoc """
View for our webapp
"""
use MobilizonWeb, :view
use Mobilizon.Web, :view
alias Mobilizon.Actors.Actor
alias Mobilizon.Events.{Comment, Event}

196
mix.exs
View file

@ -159,10 +159,10 @@ defmodule Mobilizon.Mixfile do
groups_for_modules: groups_for_modules(),
nest_modules_by_prefix: [
Mobilizon,
MobilizonWeb,
Mobilizon.Web,
Mobilizon.Service.Geospatial,
MobilizonWeb.Resolvers,
MobilizonWeb.Schema,
Mobilizon.Web.Resolvers,
Mobilizon.Web.Schema,
Mobilizon.Service
]
]
@ -216,56 +216,56 @@ defmodule Mobilizon.Mixfile do
Mobilizon.Federation.ActivityPub.Activity
],
APIs: [
MobilizonWeb.API.Comments,
MobilizonWeb.API.Events,
MobilizonWeb.API.Follows,
MobilizonWeb.API.Groups,
MobilizonWeb.API.Participations,
MobilizonWeb.API.Reports,
MobilizonWeb.API.Search,
MobilizonWeb.API.Utils
Mobilizon.Web.API.Comments,
Mobilizon.Web.API.Events,
Mobilizon.Web.API.Follows,
Mobilizon.Web.API.Groups,
Mobilizon.Web.API.Participations,
Mobilizon.Web.API.Reports,
Mobilizon.Web.API.Search,
Mobilizon.Web.API.Utils
],
Web: [
MobilizonWeb,
MobilizonWeb.Endpoint,
MobilizonWeb.Router,
MobilizonWeb.Router.Helpers,
MobilizonWeb.Plugs.UploadedMedia,
MobilizonWeb.FallbackController,
MobilizonWeb.FeedController,
MobilizonWeb.MediaProxyController,
MobilizonWeb.PageController,
MobilizonWeb.ChangesetView,
MobilizonWeb.JsonLD.ObjectView,
MobilizonWeb.EmailView,
MobilizonWeb.ErrorHelpers,
MobilizonWeb.ErrorView,
MobilizonWeb.LayoutView,
MobilizonWeb.PageView,
MobilizonWeb.Auth.Context,
MobilizonWeb.Auth.ErrorHandler,
MobilizonWeb.Auth.Guardian,
MobilizonWeb.Auth.Pipeline,
MobilizonWeb.Cache,
MobilizonWeb.Cache.ActivityPub,
MobilizonWeb.Email,
MobilizonWeb.Email.Admin,
MobilizonWeb.Email.Checker,
MobilizonWeb.Email.Event,
MobilizonWeb.Email.Mailer,
MobilizonWeb.Email.Participation,
MobilizonWeb.Email.User,
MobilizonWeb.Upload,
MobilizonWeb.Upload.Filter,
MobilizonWeb.Upload.Filter.AnonymizeFilename,
MobilizonWeb.Upload.Filter.Dedupe,
MobilizonWeb.Upload.Filter.Mogrify,
MobilizonWeb.Upload.Filter.Optimize,
MobilizonWeb.Upload.MIME,
MobilizonWeb.Upload.Uploader,
MobilizonWeb.Upload.Uploader.Local,
MobilizonWeb.MediaProxy,
MobilizonWeb.ReverseProxy
Mobilizon.Web,
Mobilizon.Web.Endpoint,
Mobilizon.Web.Router,
Mobilizon.Web.Router.Helpers,
Mobilizon.Web.Plugs.UploadedMedia,
Mobilizon.Web.FallbackController,
Mobilizon.Web.FeedController,
Mobilizon.Web.MediaProxyController,
Mobilizon.Web.PageController,
Mobilizon.Web.ChangesetView,
Mobilizon.Web.JsonLD.ObjectView,
Mobilizon.Web.EmailView,
Mobilizon.Web.ErrorHelpers,
Mobilizon.Web.ErrorView,
Mobilizon.Web.LayoutView,
Mobilizon.Web.PageView,
Mobilizon.Web.Auth.Context,
Mobilizon.Web.Auth.ErrorHandler,
Mobilizon.Web.Auth.Guardian,
Mobilizon.Web.Auth.Pipeline,
Mobilizon.Web.Cache,
Mobilizon.Web.Cache.ActivityPub,
Mobilizon.Web.Email,
Mobilizon.Web.Email.Admin,
Mobilizon.Web.Email.Checker,
Mobilizon.Web.Email.Event,
Mobilizon.Web.Email.Mailer,
Mobilizon.Web.Email.Participation,
Mobilizon.Web.Email.User,
Mobilizon.Web.Upload,
Mobilizon.Web.Upload.Filter,
Mobilizon.Web.Upload.Filter.AnonymizeFilename,
Mobilizon.Web.Upload.Filter.Dedupe,
Mobilizon.Web.Upload.Filter.Mogrify,
Mobilizon.Web.Upload.Filter.Optimize,
Mobilizon.Web.Upload.MIME,
Mobilizon.Web.Upload.Uploader,
Mobilizon.Web.Upload.Uploader.Local,
Mobilizon.Web.MediaProxy,
Mobilizon.Web.ReverseProxy
],
Geospatial: [
Mobilizon.Service.Geospatial,
@ -280,47 +280,47 @@ defmodule Mobilizon.Mixfile do
],
Localization: [
Mobilizon.Cldr,
MobilizonWeb.Gettext
Mobilizon.Web.Gettext
],
GraphQL: [
MobilizonWeb.GraphQLSocket,
MobilizonWeb.Resolvers.Address,
MobilizonWeb.Resolvers.Admin,
MobilizonWeb.Resolvers.Comment,
MobilizonWeb.Resolvers.Config,
MobilizonWeb.Resolvers.Event,
MobilizonWeb.Resolvers.FeedToken,
MobilizonWeb.Resolvers.Group,
MobilizonWeb.Resolvers.Member,
MobilizonWeb.Resolvers.Person,
MobilizonWeb.Resolvers.Picture,
MobilizonWeb.Resolvers.Report,
MobilizonWeb.Resolvers.Search,
MobilizonWeb.Resolvers.Tag,
MobilizonWeb.Resolvers.User,
MobilizonWeb.Schema,
MobilizonWeb.Schema.ActorInterface,
MobilizonWeb.Schema.Actors.ApplicationType,
MobilizonWeb.Schema.Actors.FollowerType,
MobilizonWeb.Schema.Actors.GroupType,
MobilizonWeb.Schema.Actors.MemberType,
MobilizonWeb.Schema.Actors.PersonType,
MobilizonWeb.Schema.AddressType,
MobilizonWeb.Schema.AdminType,
MobilizonWeb.Schema.CommentType,
MobilizonWeb.Schema.ConfigType,
MobilizonWeb.Schema.EventType,
MobilizonWeb.Schema.Events.FeedTokenType,
MobilizonWeb.Schema.Events.ParticipantType,
MobilizonWeb.Schema.PictureType,
MobilizonWeb.Schema.ReportType,
MobilizonWeb.Schema.SearchType,
MobilizonWeb.Schema.SortType,
MobilizonWeb.Schema.TagType,
MobilizonWeb.Schema.UserType,
MobilizonWeb.Schema.Utils,
MobilizonWeb.Schema.Custom.Point,
MobilizonWeb.Schema.Custom.UUID
Mobilizon.Web.GraphQLSocket,
Mobilizon.Web.Resolvers.Address,
Mobilizon.Web.Resolvers.Admin,
Mobilizon.Web.Resolvers.Comment,
Mobilizon.Web.Resolvers.Config,
Mobilizon.Web.Resolvers.Event,
Mobilizon.Web.Resolvers.FeedToken,
Mobilizon.Web.Resolvers.Group,
Mobilizon.Web.Resolvers.Member,
Mobilizon.Web.Resolvers.Person,
Mobilizon.Web.Resolvers.Picture,
Mobilizon.Web.Resolvers.Report,
Mobilizon.Web.Resolvers.Search,
Mobilizon.Web.Resolvers.Tag,
Mobilizon.Web.Resolvers.User,
Mobilizon.Web.Schema,
Mobilizon.Web.Schema.ActorInterface,
Mobilizon.Web.Schema.Actors.ApplicationType,
Mobilizon.Web.Schema.Actors.FollowerType,
Mobilizon.Web.Schema.Actors.GroupType,
Mobilizon.Web.Schema.Actors.MemberType,
Mobilizon.Web.Schema.Actors.PersonType,
Mobilizon.Web.Schema.AddressType,
Mobilizon.Web.Schema.AdminType,
Mobilizon.Web.Schema.CommentType,
Mobilizon.Web.Schema.ConfigType,
Mobilizon.Web.Schema.EventType,
Mobilizon.Web.Schema.Events.FeedTokenType,
Mobilizon.Web.Schema.Events.ParticipantType,
Mobilizon.Web.Schema.PictureType,
Mobilizon.Web.Schema.ReportType,
Mobilizon.Web.Schema.SearchType,
Mobilizon.Web.Schema.SortType,
Mobilizon.Web.Schema.TagType,
Mobilizon.Web.Schema.UserType,
Mobilizon.Web.Schema.Utils,
Mobilizon.Web.Schema.Custom.Point,
Mobilizon.Web.Schema.Custom.UUID
],
ActivityPub: [
Mobilizon.Federation.ActivityPub,
@ -345,14 +345,14 @@ defmodule Mobilizon.Mixfile do
Mobilizon.Federation.HTTPSignatures.Signature,
Mobilizon.Federation.WebFinger,
Mobilizon.Federation.WebFinger.XmlBuilder,
MobilizonWeb.Plugs.Federating,
MobilizonWeb.Plugs.HTTPSignatures,
MobilizonWeb.Plugs.MappedSignatureToIdentity,
MobilizonWeb.ActivityPubController,
MobilizonWeb.NodeInfoController,
MobilizonWeb.WebFingerController,
MobilizonWeb.ActivityPub.ActorView,
MobilizonWeb.ActivityPub.ObjectView
Mobilizon.Web.Plugs.Federating,
Mobilizon.Web.Plugs.HTTPSignatures,
Mobilizon.Web.Plugs.MappedSignatureToIdentity,
Mobilizon.Web.ActivityPubController,
Mobilizon.Web.NodeInfoController,
Mobilizon.Web.WebFingerController,
Mobilizon.Web.ActivityPub.ActorView,
Mobilizon.Web.ActivityPub.ObjectView
],
Services: [
Mobilizon.Service.Export.Feed,

Some files were not shown because too many files have changed in this diff Show more