From 3ab40411cd16b2982c332db3458a6bb3d46f2de1 Mon Sep 17 00:00:00 2001 From: miffigriffy Date: Fri, 13 Sep 2019 01:55:45 +0200 Subject: [PATCH] Clean specs --- lib/mobilizon/actors/actor.ex | 54 +++++++++++++-------------- lib/mobilizon/actors/actors.ex | 2 +- lib/mobilizon/actors/bot.ex | 4 +- lib/mobilizon/actors/follower.ex | 2 +- lib/mobilizon/actors/member.ex | 12 +++--- lib/mobilizon/addresses/address.ex | 5 +-- lib/mobilizon/admin/action_log.ex | 4 +- lib/mobilizon/events/comment.ex | 4 +- lib/mobilizon/events/event.ex | 7 ++-- lib/mobilizon/events/event_options.ex | 3 +- lib/mobilizon/events/feed_token.ex | 3 +- lib/mobilizon/events/participant.ex | 8 ++-- lib/mobilizon/events/session.ex | 4 +- lib/mobilizon/events/tag.ex | 8 ++-- lib/mobilizon/events/tag_relations.ex | 4 +- lib/mobilizon/events/track.ex | 4 +- lib/mobilizon/media/file.ex | 4 +- lib/mobilizon/media/picture.ex | 4 +- lib/mobilizon/reports/note.ex | 4 +- lib/mobilizon/reports/report.ex | 8 ++-- lib/mobilizon/users/user.ex | 28 +++++++------- 21 files changed, 86 insertions(+), 90 deletions(-) diff --git a/lib/mobilizon/actors/actor.ex b/lib/mobilizon/actors/actor.ex index 9d41d1494..4dd5a1d38 100644 --- a/lib/mobilizon/actors/actor.ex +++ b/lib/mobilizon/actors/actor.ex @@ -8,7 +8,7 @@ defmodule Mobilizon.Actors.Actor do import Ecto.Changeset alias Mobilizon.{Actors, Config, Crypto} - alias Mobilizon.Actors.{Actor, ActorOpenness, ActorType, ActorVisibility, Follower, Member} + alias Mobilizon.Actors.{ActorOpenness, ActorType, ActorVisibility, Follower, Member} alias Mobilizon.Events.{Event, FeedToken} alias Mobilizon.Media.File alias Mobilizon.Reports.{Report, Note} @@ -46,7 +46,7 @@ defmodule Mobilizon.Actors.Actor do created_reports: [Report.t()], subject_reports: [Report.t()], report_notes: [Note.t()], - memberships: [Actor.t()] + memberships: [t] } @required_attrs [:preferred_username, :keys, :suspended, :url] @@ -139,7 +139,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) - many_to_many(:memberships, Actor, join_through: Member) + many_to_many(:memberships, __MODULE__, join_through: Member) timestamps() end @@ -147,8 +147,8 @@ defmodule Mobilizon.Actors.Actor do @doc """ Checks whether actor visibility is public. """ - @spec is_public_visibility(Actor.t()) :: boolean - def is_public_visibility(%Actor{visibility: visibility}) do + @spec is_public_visibility(t) :: boolean + def is_public_visibility(%__MODULE__{visibility: visibility}) do visibility in [:public, :unlisted] end @@ -156,22 +156,22 @@ defmodule Mobilizon.Actors.Actor do Returns the display name if available, or the preferred username (with the eventual @domain suffix if it's a distant actor). """ - @spec display_name(Actor.t()) :: String.t() - def display_name(%Actor{name: name} = actor) when name in [nil, ""] do + @spec display_name(t) :: String.t() + def display_name(%__MODULE__{name: name} = actor) when name in [nil, ""] do preferred_username_and_domain(actor) end - def display_name(%Actor{name: name}), do: name + def display_name(%__MODULE__{name: name}), do: name @doc """ Returns display name and username. """ - @spec display_name_and_username(Actor.t()) :: String.t() - def display_name_and_username(%Actor{name: name} = actor) when name in [nil, ""] do + @spec display_name_and_username(t) :: String.t() + def display_name_and_username(%__MODULE__{name: name} = actor) when name in [nil, ""] do preferred_username_and_domain(actor) end - def display_name_and_username(%Actor{name: name} = actor) do + def display_name_and_username(%__MODULE__{name: name} = actor) do "#{name} (#{preferred_username_and_domain(actor)})" end @@ -179,18 +179,18 @@ defmodule Mobilizon.Actors.Actor do Returns the preferred username with the eventual @domain suffix if it's a distant actor. """ - @spec preferred_username_and_domain(Actor.t()) :: String.t() - def preferred_username_and_domain(%Actor{preferred_username: preferred_username, domain: nil}) do + @spec preferred_username_and_domain(t) :: String.t() + def preferred_username_and_domain(%__MODULE__{preferred_username: preferred_username, domain: nil}) do preferred_username end - def preferred_username_and_domain(%Actor{preferred_username: preferred_username, domain: domain}) do + def preferred_username_and_domain(%__MODULE__{preferred_username: preferred_username, domain: domain}) do "#{preferred_username}@#{domain}" end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(%Actor{} = actor, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = actor, attrs) do actor |> cast(attrs, @attrs) |> build_urls() @@ -205,8 +205,8 @@ defmodule Mobilizon.Actors.Actor do end @doc false - @spec update_changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def update_changeset(%Actor{} = actor, attrs) do + @spec update_changeset(t, map) :: Ecto.Changeset.t() + def update_changeset(%__MODULE__{} = actor, attrs) do actor |> cast(attrs, @update_attrs) |> cast_embed(:avatar) @@ -221,8 +221,8 @@ defmodule Mobilizon.Actors.Actor do @doc """ Changeset for person registration. """ - @spec registration_changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def registration_changeset(%Actor{} = actor, attrs) do + @spec registration_changeset(t, map) :: Ecto.Changeset.t() + def registration_changeset(%__MODULE__{} = actor, attrs) do actor |> cast(attrs, @registration_attrs) |> build_urls() @@ -242,7 +242,7 @@ defmodule Mobilizon.Actors.Actor do @spec remote_actor_creation_changeset(map) :: Ecto.Changeset.t() def remote_actor_creation_changeset(attrs) do changeset = - %Actor{} + %__MODULE__{} |> cast(attrs, @remote_actor_creation_attrs) |> validate_required(@remote_actor_creation_required_attrs) |> cast_embed(:avatar) @@ -267,14 +267,14 @@ defmodule Mobilizon.Actors.Actor do def relay_creation_changeset(attrs) do relay_creation_attrs = build_relay_creation_attrs(attrs) - cast(%Actor{}, relay_creation_attrs, @relay_creation_attrs) + cast(%__MODULE__{}, relay_creation_attrs, @relay_creation_attrs) end @doc """ Changeset for group creation """ - @spec group_creation(struct(), map()) :: Ecto.Changeset.t() - def group_creation(%Actor{} = actor, params) do + @spec group_creation_changeset(t, map) :: Ecto.Changeset.t() + def group_creation_changeset(%__MODULE__{} = actor, params) do actor |> cast(params, @group_creation_attrs) |> cast_embed(:avatar) @@ -299,7 +299,7 @@ defmodule Mobilizon.Actors.Actor do %Ecto.Changeset{changes: %{preferred_username: username} = changes} = changeset ) do with nil <- Map.get(changes, :domain, nil), - %Actor{preferred_username: _} <- Actors.get_local_actor_by_name(username) do + %__MODULE__{preferred_username: _} <- Actors.get_local_actor_by_name(username) do add_error(changeset, :preferred_username, "Username is already taken") else _ -> changeset @@ -349,8 +349,8 @@ defmodule Mobilizon.Actors.Actor do Clear multiple caches for an actor """ # TODO: move to MobilizonWeb - @spec clear_cache(struct()) :: {:ok, true} - def clear_cache(%Actor{preferred_username: preferred_username, domain: nil}) do + @spec clear_cache(t) :: {:ok, true} + def clear_cache(%__MODULE__{preferred_username: preferred_username, domain: nil}) do Cachex.del(:activity_pub, "actor_" <> preferred_username) Cachex.del(:feed, "actor_" <> preferred_username) Cachex.del(:ics, "actor_" <> preferred_username) diff --git a/lib/mobilizon/actors/actors.ex b/lib/mobilizon/actors/actors.ex index ca9553826..a174f0045 100644 --- a/lib/mobilizon/actors/actors.ex +++ b/lib/mobilizon/actors/actors.ex @@ -340,7 +340,7 @@ defmodule Mobilizon.Actors do @spec create_group(map) :: {:ok, Actor.t()} | {:error, Ecto.Changeset.t()} def create_group(attrs \\ %{}) do %Actor{} - |> Actor.group_creation(attrs) + |> Actor.group_creation_changeset(attrs) |> Repo.insert() end diff --git a/lib/mobilizon/actors/bot.ex b/lib/mobilizon/actors/bot.ex index 46d3c4b87..8312f44b7 100644 --- a/lib/mobilizon/actors/bot.ex +++ b/lib/mobilizon/actors/bot.ex @@ -32,8 +32,8 @@ defmodule Mobilizon.Actors.Bot do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(bot, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = bot, attrs) do bot |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/actors/follower.ex b/lib/mobilizon/actors/follower.ex index 0164d39a3..f38e00fd2 100644 --- a/lib/mobilizon/actors/follower.ex +++ b/lib/mobilizon/actors/follower.ex @@ -29,7 +29,7 @@ defmodule Mobilizon.Actors.Follower do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() + @spec changeset(t, map) :: Ecto.Changeset.t() def changeset(follower, attrs) do follower |> cast(attrs, @attrs) diff --git a/lib/mobilizon/actors/member.ex b/lib/mobilizon/actors/member.ex index b6963e546..97327e6a4 100644 --- a/lib/mobilizon/actors/member.ex +++ b/lib/mobilizon/actors/member.ex @@ -7,7 +7,7 @@ defmodule Mobilizon.Actors.Member do import Ecto.Changeset - alias Mobilizon.Actors.{Actor, Member, MemberRole} + alias Mobilizon.Actors.{Actor, MemberRole} @type t :: %__MODULE__{ role: MemberRole.t(), @@ -44,13 +44,13 @@ defmodule Mobilizon.Actors.Member do @doc """ Checks whether the member is an administrator (admin or creator) of the group. """ - def is_administrator(%Member{role: :administrator}), do: {:is_admin, true} - def is_administrator(%Member{role: :creator}), do: {:is_admin, true} - def is_administrator(%Member{}), do: {:is_admin, false} + def is_administrator(%__MODULE__{role: :administrator}), do: {:is_admin, true} + def is_administrator(%__MODULE__{role: :creator}), do: {:is_admin, true} + def is_administrator(%__MODULE__{}), do: {:is_admin, false} @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(member, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = member, attrs) do member |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/addresses/address.ex b/lib/mobilizon/addresses/address.ex index 7fd4b3af7..585f1f6a1 100644 --- a/lib/mobilizon/addresses/address.ex +++ b/lib/mobilizon/addresses/address.ex @@ -7,7 +7,6 @@ defmodule Mobilizon.Addresses.Address do import Ecto.Changeset - alias Mobilizon.Addresses.Address alias Mobilizon.Events.Event @type t :: %__MODULE__{ @@ -56,8 +55,8 @@ defmodule Mobilizon.Addresses.Address do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(%Address{} = address, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = address, attrs) do address |> cast(attrs, @attrs) |> set_url() diff --git a/lib/mobilizon/admin/action_log.ex b/lib/mobilizon/admin/action_log.ex index 68d1f189b..59275307e 100644 --- a/lib/mobilizon/admin/action_log.ex +++ b/lib/mobilizon/admin/action_log.ex @@ -33,8 +33,8 @@ defmodule Mobilizon.Admin.ActionLog do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(action_log, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = action_log, attrs) do action_log |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/events/comment.ex b/lib/mobilizon/events/comment.ex index 4caf24219..3856d1c2c 100644 --- a/lib/mobilizon/events/comment.ex +++ b/lib/mobilizon/events/comment.ex @@ -48,13 +48,13 @@ defmodule Mobilizon.Events.Comment do Returns the id of the first comment in the conversation. """ @spec get_thread_id(t) :: integer - def get_thread_id(%Comment{id: id, origin_comment_id: origin_comment_id}) do + def get_thread_id(%__MODULE__{id: id, origin_comment_id: origin_comment_id}) do origin_comment_id || id end @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%Comment{} = comment, attrs) do + def changeset(%__MODULE__{} = comment, attrs) do uuid = attrs["uuid"] || Ecto.UUID.generate() url = attrs["url"] || generate_url(uuid) diff --git a/lib/mobilizon/events/event.ex b/lib/mobilizon/events/event.ex index fa5f5ad61..8a5d2a3cc 100644 --- a/lib/mobilizon/events/event.ex +++ b/lib/mobilizon/events/event.ex @@ -11,7 +11,6 @@ defmodule Mobilizon.Events.Event do alias Mobilizon.Addresses.Address alias Mobilizon.Events.{ - Event, EventOptions, EventStatus, EventVisibility, @@ -115,7 +114,7 @@ defmodule Mobilizon.Events.Event do @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%Event{} = event, attrs) do + def changeset(%__MODULE__{} = event, attrs) do event |> cast(attrs, @attrs) |> cast_embed(:options) @@ -124,7 +123,7 @@ defmodule Mobilizon.Events.Event do @doc false @spec update_changeset(t, map) :: Ecto.Changeset.t() - def update_changeset(%Event{} = event, attrs) do + def update_changeset(%__MODULE__{} = event, attrs) do event |> Ecto.Changeset.cast(attrs, @update_attrs) |> cast_embed(:options) @@ -136,7 +135,7 @@ defmodule Mobilizon.Events.Event do Checks whether an event can be managed. """ @spec can_be_managed_by(t, integer | String.t()) :: boolean - def can_be_managed_by(%Event{organizer_actor_id: organizer_actor_id}, actor_id) + def can_be_managed_by(%__MODULE__{organizer_actor_id: organizer_actor_id}, actor_id) when organizer_actor_id == actor_id do {:event_can_be_managed, true} end diff --git a/lib/mobilizon/events/event_options.ex b/lib/mobilizon/events/event_options.ex index 4764dde97..2e694f417 100644 --- a/lib/mobilizon/events/event_options.ex +++ b/lib/mobilizon/events/event_options.ex @@ -9,7 +9,6 @@ defmodule Mobilizon.Events.EventOptions do alias Mobilizon.Events.{ EventOffer, - EventOptions, EventParticipationCondition, CommentModeration } @@ -52,7 +51,7 @@ defmodule Mobilizon.Events.EventOptions do @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%EventOptions{} = event_options, attrs) do + def changeset(%__MODULE__{} = event_options, attrs) do cast(event_options, attrs, @attrs) end end diff --git a/lib/mobilizon/events/feed_token.ex b/lib/mobilizon/events/feed_token.ex index 25d12a980..d2f255db6 100644 --- a/lib/mobilizon/events/feed_token.ex +++ b/lib/mobilizon/events/feed_token.ex @@ -8,7 +8,6 @@ defmodule Mobilizon.Events.FeedToken do import Ecto.Changeset alias Mobilizon.Actors.Actor - alias Mobilizon.Events.FeedToken alias Mobilizon.Users.User @type t :: %__MODULE__{ @@ -33,7 +32,7 @@ defmodule Mobilizon.Events.FeedToken do @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%FeedToken{} = feed_token, attrs) do + def changeset(%__MODULE__{} = feed_token, attrs) do feed_token |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/events/participant.ex b/lib/mobilizon/events/participant.ex index 5fc33bdf1..93a5a2588 100644 --- a/lib/mobilizon/events/participant.ex +++ b/lib/mobilizon/events/participant.ex @@ -10,7 +10,7 @@ defmodule Mobilizon.Events.Participant do alias Mobilizon.Actors.Actor alias Mobilizon.Config alias Mobilizon.Events - alias Mobilizon.Events.{Event, Participant, ParticipantRole} + alias Mobilizon.Events.{Event, ParticipantRole} @type t :: %__MODULE__{ role: ParticipantRole.t(), @@ -41,7 +41,7 @@ defmodule Mobilizon.Events.Participant do @spec is_not_only_organizer(integer | String.t(), integer | String.t()) :: boolean def is_not_only_organizer(event_id, actor_id) do case Events.list_organizers_participants_for_event(event_id) do - [%Participant{actor: %Actor{id: participant_actor_id}}] -> + [%__MODULE__{actor: %Actor{id: participant_actor_id}}] -> participant_actor_id == actor_id _ -> @@ -51,7 +51,7 @@ defmodule Mobilizon.Events.Participant do @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%Participant{} = participant, attrs) do + def changeset(%__MODULE__{} = participant, attrs) do participant |> cast(attrs, @attrs) |> ensure_url() @@ -60,7 +60,7 @@ defmodule Mobilizon.Events.Participant do # If there's a blank URL that's because we're doing the first insert @spec ensure_url(Ecto.Changeset.t()) :: Ecto.Changeset.t() - defp ensure_url(%Ecto.Changeset{data: %Participant{url: nil}} = changeset) do + defp ensure_url(%Ecto.Changeset{data: %__MODULE__{url: nil}} = changeset) do case fetch_change(changeset, :url) do {:ok, _url} -> changeset diff --git a/lib/mobilizon/events/session.ex b/lib/mobilizon/events/session.ex index 5d1510425..3804d8935 100644 --- a/lib/mobilizon/events/session.ex +++ b/lib/mobilizon/events/session.ex @@ -7,7 +7,7 @@ defmodule Mobilizon.Events.Session do import Ecto.Changeset - alias Mobilizon.Events.{Event, Session, Track} + alias Mobilizon.Events.{Event, Track} @type t :: %__MODULE__{ audios_urls: String.t(), @@ -57,7 +57,7 @@ defmodule Mobilizon.Events.Session do @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%Session{} = session, attrs) do + def changeset(%__MODULE__{} = session, attrs) do session |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/events/tag.ex b/lib/mobilizon/events/tag.ex index a342f1c68..b1d0ec8d7 100644 --- a/lib/mobilizon/events/tag.ex +++ b/lib/mobilizon/events/tag.ex @@ -7,13 +7,13 @@ defmodule Mobilizon.Events.Tag do import Ecto.Changeset - alias Mobilizon.Events.{Tag, TagRelation} + alias Mobilizon.Events.TagRelation alias Mobilizon.Events.Tag.TitleSlug @type t :: %__MODULE__{ title: String.t(), slug: TitleSlug.Type.t(), - related_tags: [Tag.t()] + related_tags: [t] } @required_attrs [:title, :slug] @@ -23,14 +23,14 @@ defmodule Mobilizon.Events.Tag do field(:title, :string) field(:slug, TitleSlug.Type) - many_to_many(:related_tags, Tag, join_through: TagRelation) + many_to_many(:related_tags, __MODULE__, join_through: TagRelation) timestamps() end @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%Tag{} = tag, attrs) do + def changeset(%__MODULE__{} = tag, attrs) do tag |> cast(attrs, @attrs) |> TitleSlug.maybe_generate_slug() diff --git a/lib/mobilizon/events/tag_relations.ex b/lib/mobilizon/events/tag_relations.ex index 7122a6876..2d038358f 100644 --- a/lib/mobilizon/events/tag_relations.ex +++ b/lib/mobilizon/events/tag_relations.ex @@ -7,7 +7,7 @@ defmodule Mobilizon.Events.TagRelation do import Ecto.Changeset - alias Mobilizon.Events.{Tag, TagRelation} + alias Mobilizon.Events.Tag @type t :: %__MODULE__{ weight: integer, @@ -29,7 +29,7 @@ defmodule Mobilizon.Events.TagRelation do @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%TagRelation{} = tag, attrs) do + def changeset(%__MODULE__{} = tag, attrs) do # Return if tag_id or link_id are not set because it will fail later otherwise with %Ecto.Changeset{errors: [], changes: changes} = changeset <- tag diff --git a/lib/mobilizon/events/track.ex b/lib/mobilizon/events/track.ex index a006fd2d6..dd626a823 100644 --- a/lib/mobilizon/events/track.ex +++ b/lib/mobilizon/events/track.ex @@ -7,7 +7,7 @@ defmodule Mobilizon.Events.Track do import Ecto.Changeset - alias Mobilizon.Events.{Track, Event, Session} + alias Mobilizon.Events.{Event, Session} @type t :: %__MODULE__{ color: String.t(), @@ -34,7 +34,7 @@ defmodule Mobilizon.Events.Track do @doc false @spec changeset(t, map) :: Ecto.Changeset.t() - def changeset(%Track{} = track, attrs) do + def changeset(%__MODULE__{} = track, attrs) do track |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/media/file.ex b/lib/mobilizon/media/file.ex index 611cd367d..f82acc417 100644 --- a/lib/mobilizon/media/file.ex +++ b/lib/mobilizon/media/file.ex @@ -28,8 +28,8 @@ defmodule Mobilizon.Media.File do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(file, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = file, attrs) do file |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/media/picture.ex b/lib/mobilizon/media/picture.ex index 00f55e75d..bd1948307 100644 --- a/lib/mobilizon/media/picture.ex +++ b/lib/mobilizon/media/picture.ex @@ -23,8 +23,8 @@ defmodule Mobilizon.Media.Picture do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(picture, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = picture, attrs) do picture |> cast(attrs, [:actor_id]) |> cast_embed(:file) diff --git a/lib/mobilizon/reports/note.ex b/lib/mobilizon/reports/note.ex index c28d18df4..6446f3ece 100644 --- a/lib/mobilizon/reports/note.ex +++ b/lib/mobilizon/reports/note.ex @@ -30,8 +30,8 @@ defmodule Mobilizon.Reports.Note do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(note, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = note, attrs) do note |> cast(attrs, @attrs) |> validate_required(@required_attrs) diff --git a/lib/mobilizon/reports/report.ex b/lib/mobilizon/reports/report.ex index 768a5ed44..77ca72cf0 100644 --- a/lib/mobilizon/reports/report.ex +++ b/lib/mobilizon/reports/report.ex @@ -50,16 +50,16 @@ defmodule Mobilizon.Reports.Report do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(report, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = report, attrs) do report |> cast(attrs, @attrs) |> validate_required(@required_attrs) end @doc false - @spec creation_changeset(Report.t(), map) :: Ecto.Changeset.t() - def creation_changeset(report, attrs) do + @spec creation_changeset(t, map) :: Ecto.Changeset.t() + def creation_changeset(%__MODULE__{} = report, attrs) do report |> changeset(attrs) |> put_assoc(:comments, attrs["comments"]) diff --git a/lib/mobilizon/users/user.ex b/lib/mobilizon/users/user.ex index b9da2002c..981b9de4a 100644 --- a/lib/mobilizon/users/user.ex +++ b/lib/mobilizon/users/user.ex @@ -11,7 +11,7 @@ defmodule Mobilizon.Users.User do alias Mobilizon.Crypto alias Mobilizon.Events.FeedToken alias Mobilizon.Service.EmailChecker - alias Mobilizon.Users.{User, UserRole} + alias Mobilizon.Users.UserRole @type t :: %__MODULE__{ email: String.t(), @@ -66,8 +66,8 @@ defmodule Mobilizon.Users.User do end @doc false - @spec changeset(t | Ecto.Changeset.t(), map) :: Ecto.Changeset.t() - def changeset(%User{} = user, attrs) do + @spec changeset(t, map) :: Ecto.Changeset.t() + def changeset(%__MODULE__{} = user, attrs) do changeset = user |> cast(attrs, @attrs) @@ -84,8 +84,8 @@ defmodule Mobilizon.Users.User do end @doc false - @spec registration_changeset(User.t(), map) :: Ecto.Changeset.t() - def registration_changeset(%User{} = user, attrs) do + @spec registration_changeset(t, map) :: Ecto.Changeset.t() + def registration_changeset(%__MODULE__{} = user, attrs) do user |> changeset(attrs) |> cast_assoc(:default_actor) @@ -99,14 +99,14 @@ defmodule Mobilizon.Users.User do end @doc false - @spec send_password_reset_changeset(User.t(), map) :: Ecto.Changeset.t() - def send_password_reset_changeset(%User{} = user, attrs) do + @spec send_password_reset_changeset(t, map) :: Ecto.Changeset.t() + def send_password_reset_changeset(%__MODULE__{} = user, attrs) do cast(user, attrs, [:reset_password_token, :reset_password_sent_at]) end @doc false - @spec password_reset_changeset(User.t(), map) :: Ecto.Changeset.t() - def password_reset_changeset(%User{} = user, attrs) do + @spec password_reset_changeset(t, map) :: Ecto.Changeset.t() + def password_reset_changeset(%__MODULE__{} = user, attrs) do user |> cast(attrs, @password_reset_required_attrs) |> validate_length(:password, @@ -120,15 +120,15 @@ defmodule Mobilizon.Users.User do @doc """ Checks whether an user is confirmed. """ - @spec is_confirmed(User.t()) :: boolean - def is_confirmed(%User{confirmed_at: nil}), do: false - def is_confirmed(%User{}), do: true + @spec is_confirmed(t) :: boolean + def is_confirmed(%__MODULE__{confirmed_at: nil}), do: false + def is_confirmed(%__MODULE__{}), do: true @doc """ Returns whether an user owns an actor. """ - @spec owns_actor(User.t(), integer | String.t()) :: {:is_owned, Actor.t() | nil} - def owns_actor(%User{actors: actors}, actor_id) do + @spec owns_actor(t, integer | String.t()) :: {:is_owned, Actor.t() | nil} + def owns_actor(%__MODULE__{actors: actors}, actor_id) do user_actor = Enum.find(actors, fn actor -> "#{actor.id}" == "#{actor_id}" end) {:is_owned, user_actor}