Implement Credo software design suggestions

This commit is contained in:
rustra
2020-01-28 19:18:33 +01:00
parent a781c2d3e2
commit 97651e88e9
37 changed files with 146 additions and 97 deletions

View File

@@ -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, "#{Mobilizon.Web.Endpoint.url()}/inbox")
|> put_change(:shared_inbox_url, "#{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" => "#{Mobilizon.Web.Endpoint.url()}/inbox",
"inbox_url" => "#{Endpoint.url()}/inbox",
"followers_url" => "#{url}/followers",
"following_url" => "#{url}/following",
"shared_inbox_url" => "#{Mobilizon.Web.Endpoint.url()}/inbox",
"shared_inbox_url" => "#{Endpoint.url()}/inbox",
"type" => :Application
}
end

View File

@@ -16,6 +16,8 @@ defmodule Mobilizon.Actors do
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Web.Upload
require Logger
defenum(ActorType, :actor_type, [
@@ -755,7 +757,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 Mobilizon.Web.Upload.remove(url) do
case Upload.remove(url) do
{:ok, _value} ->
{:ok, actor}
@@ -774,7 +776,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
Mobilizon.Web.Upload.remove(old_url)
Upload.remove(old_url)
end
end
end)

View File

@@ -9,6 +9,8 @@ defmodule Mobilizon.Actors.Follower do
alias Mobilizon.Actors.Actor
alias Mobilizon.Web.Endpoint
@type t :: %__MODULE__{
approved: boolean,
url: String.t(),
@@ -65,6 +67,6 @@ defmodule Mobilizon.Actors.Follower do
changeset
|> put_change(:id, uuid)
|> put_change(:url, "#{Mobilizon.Web.Endpoint.url()}/follow/#{uuid}")
|> put_change(:url, "#{Endpoint.url()}/follow/#{uuid}")
end
end

View File

@@ -9,6 +9,8 @@ defmodule Mobilizon.Addresses.Address do
alias Mobilizon.Events.Event
alias Mobilizon.Web.Endpoint
@type t :: %__MODULE__{
country: String.t(),
locality: String.t(),
@@ -65,8 +67,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, "#{Mobilizon.Web.Endpoint.url()}/address/#{Ecto.UUID.generate()}")
url = Map.get(changes, :url, "#{Endpoint.url()}/address/#{Ecto.UUID.generate()}")
put_change(changeset, :url, url)
end

View File

@@ -10,6 +10,8 @@ defmodule Mobilizon.Media do
alias Mobilizon.Media.{File, Picture}
alias Mobilizon.Storage.Repo
alias Mobilizon.Web.Upload
@doc """
Gets a single picture.
"""
@@ -62,7 +64,7 @@ defmodule Mobilizon.Media do
Multi.new()
|> Multi.delete(:picture, picture)
|> Multi.run(:remove, fn _repo, %{picture: %Picture{file: %File{url: url}}} ->
Mobilizon.Web.Upload.remove(url)
Upload.remove(url)
end)
|> Repo.transaction()

View File

@@ -11,6 +11,8 @@ defmodule Mobilizon.Reports.Report do
alias Mobilizon.Events.{Comment, Event}
alias Mobilizon.Reports.{Note, ReportStatus}
alias Mobilizon.Web.Endpoint
@type t :: %__MODULE__{
content: String.t(),
status: ReportStatus.t(),
@@ -71,7 +73,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 <- "#{Mobilizon.Web.Endpoint.url()}/report/#{Ecto.UUID.generate()}" do
url <- "#{Endpoint.url()}/report/#{Ecto.UUID.generate()}" do
put_change(changeset, :url, url)
else
_ -> changeset