refactor: use Phoenix verified routes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -19,6 +19,7 @@ defmodule Mobilizon.Actors.Actor do
|
||||
|
||||
alias Mobilizon.Web.Endpoint
|
||||
alias Mobilizon.Web.Router.Helpers, as: Routes
|
||||
use Mobilizon.Web, :verified_routes
|
||||
import Mobilizon.Web.Gettext, only: [dgettext: 2]
|
||||
import Mobilizon.Service.Guards, only: [is_valid_string: 1]
|
||||
|
||||
@@ -445,7 +446,7 @@ defmodule Mobilizon.Actors.Actor do
|
||||
|
||||
# Relay has a special URI
|
||||
def build_url("relay", :page, _args),
|
||||
do: Endpoint |> Routes.activity_pub_url(:relay) |> URI.decode()
|
||||
do: ~p"/relay" |> url() |> URI.decode()
|
||||
|
||||
def build_url(preferred_username, endpoint, args)
|
||||
when endpoint in [:page, :resources, :posts, :discussions, :events, :todos] do
|
||||
|
||||
@@ -15,8 +15,7 @@ defmodule Mobilizon.Discussions.Comment do
|
||||
alias Mobilizon.Medias.Media
|
||||
alias Mobilizon.Mention
|
||||
|
||||
alias Mobilizon.Web.Endpoint
|
||||
alias Mobilizon.Web.Router.Helpers, as: Routes
|
||||
use Mobilizon.Web, :verified_routes
|
||||
|
||||
@type t :: %__MODULE__{
|
||||
text: String.t(),
|
||||
@@ -160,7 +159,7 @@ defmodule Mobilizon.Discussions.Comment do
|
||||
end
|
||||
|
||||
@spec generate_url(String.t()) :: String.t()
|
||||
defp generate_url(uuid), do: Routes.page_url(Endpoint, :comment, uuid)
|
||||
defp generate_url(uuid), do: url(~p"/comments/#{uuid}")
|
||||
|
||||
@spec put_tags(Ecto.Changeset.t(), map) :: Ecto.Changeset.t()
|
||||
defp put_tags(changeset, %{"tags" => tags}),
|
||||
|
||||
@@ -27,8 +27,7 @@ defmodule Mobilizon.Discussions.Discussion do
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Discussions.Comment
|
||||
alias Mobilizon.Discussions.Discussion.TitleSlug
|
||||
alias Mobilizon.Web.Endpoint
|
||||
alias Mobilizon.Web.Router.Helpers, as: Routes
|
||||
use Mobilizon.Web, :verified_routes
|
||||
import Mobilizon.Web.Gettext, only: [dgettext: 2]
|
||||
|
||||
@type t :: %__MODULE__{
|
||||
@@ -101,5 +100,5 @@ defmodule Mobilizon.Discussions.Discussion do
|
||||
|
||||
@spec generate_url(String.t(), String.t()) :: String.t()
|
||||
defp generate_url(preferred_username, slug),
|
||||
do: Routes.page_url(Endpoint, :discussion, preferred_username, slug)
|
||||
do: url(~p"/@:#{preferred_username}/c/#{slug}")
|
||||
end
|
||||
|
||||
@@ -32,8 +32,7 @@ defmodule Mobilizon.Events.Event do
|
||||
alias Mobilizon.Medias.Media
|
||||
alias Mobilizon.Storage.Repo
|
||||
|
||||
alias Mobilizon.Web.Endpoint
|
||||
alias Mobilizon.Web.Router.Helpers, as: Routes
|
||||
use Mobilizon.Web, :verified_routes
|
||||
|
||||
@type t :: %__MODULE__{
|
||||
id: integer(),
|
||||
@@ -140,7 +139,7 @@ defmodule Mobilizon.Events.Event do
|
||||
@spec changeset(t | Ecto.Schema.t(), map) :: Changeset.t()
|
||||
def changeset(%__MODULE__{} = event, attrs) do
|
||||
attrs = Map.update(attrs, :uuid, Ecto.UUID.generate(), &(&1 || Ecto.UUID.generate()))
|
||||
attrs = Map.update(attrs, :url, Routes.page_url(Endpoint, :event, attrs.uuid), & &1)
|
||||
attrs = Map.update(attrs, :url, url(~p"/events/#{attrs.uuid}"), & &1)
|
||||
|
||||
event
|
||||
|> cast(attrs, @attrs)
|
||||
|
||||
@@ -27,8 +27,7 @@ defmodule Mobilizon.Posts.Post do
|
||||
alias Mobilizon.Medias.Media
|
||||
alias Mobilizon.Posts.Post.TitleSlug
|
||||
alias Mobilizon.Posts.PostVisibility
|
||||
alias Mobilizon.Web.Endpoint
|
||||
alias Mobilizon.Web.Router.Helpers, as: Routes
|
||||
use Mobilizon.Web, :verified_routes
|
||||
import Mobilizon.Web.Gettext
|
||||
|
||||
@type t :: %__MODULE__{
|
||||
@@ -128,7 +127,7 @@ defmodule Mobilizon.Posts.Post do
|
||||
|
||||
@spec generate_url(String.t()) :: String.t()
|
||||
defp generate_url(id_and_slug) when is_binary(id_and_slug),
|
||||
do: Routes.page_url(Endpoint, :post, id_and_slug)
|
||||
do: url(~p"/p/#{id_and_slug}")
|
||||
|
||||
defp generate_url(_), do: nil
|
||||
|
||||
|
||||
Reference in New Issue
Block a user