EpochtalkServer.Models.Ban (epochtalk_server v0.1.0)
Ban
model, for performing actions relating to banning
Link to this section Summary
Functions
Used to ban a User
permanently. Updates supplied User
model to reflect ban and returns.
Used to ban a User
until supplied expiration
. Passing nil
for expiration
will
permanently ban the User
. Updates supplied User
model to reflect ban and returns.
Used to ban a User
by user_id
until supplied expiration
. Passing nil
for expiration
will
permanently ban the User
Create ban changeset for Ban
model, handles upsert of ban for banning
Fetches Ban
associated with a specific User
Create generic changeset for Ban
model
Used to unban a User
. Updates supplied User
model to reflect unbanning and returns.
Used to unban a User
by user_id
. Will return {:ok, nil}
if user was never banned.
Create unban changeset for Ban
model, handles update of ban for unbanning
Link to this section Types
@type t() :: %EpochtalkServer.Models.Ban{ __meta__: term(), created_at: NaiveDateTime.t() | nil, expiration: NaiveDateTime.t() | nil, id: non_neg_integer() | nil, updated_at: NaiveDateTime.t() | nil, user: term(), user_id: non_neg_integer() | nil }
Link to this section Functions
ban(user)
@spec ban(user :: EpochtalkServer.Models.User.t()) :: {:ok, user_changeset :: Ecto.Changeset.t()} | {:error, :ban_error}
Used to ban a User
permanently. Updates supplied User
model to reflect ban and returns.
ban(user, expiration)
@spec ban( user :: EpochtalkServer.Models.User.t(), expiration :: Calendar.naive_datetime() | nil ) :: {:ok, user_changeset :: Ecto.Changeset.t()} | {:error, :ban_error}
Used to ban a User
until supplied expiration
. Passing nil
for expiration
will
permanently ban the User
. Updates supplied User
model to reflect ban and returns.
ban_by_user_id(user_id, expiration)
@spec ban_by_user_id( user_id :: integer(), expiration :: Calendar.naive_datetime() | nil ) :: {:ok, ban_changeset :: Ecto.Changeset.t()} | {:error, :ban_error}
Used to ban a User
by user_id
until supplied expiration
. Passing nil
for expiration
will
permanently ban the User
ban_changeset(ban, attrs \\ %{})
@spec ban_changeset(ban :: t(), attrs :: map() | nil) :: Ecto.Changeset.t()
Create ban changeset for Ban
model, handles upsert of ban for banning
by_user_id(user_id)
@spec by_user_id(user_id :: integer()) :: {:ok, ban_changeset :: Ecto.Changeset.t()} | {:error, ban_changeset :: Ecto.Changeset.t()}
Fetches Ban
associated with a specific User
changeset(ban, attrs \\ %{})
@spec changeset(ban :: t(), attrs :: map() | nil) :: Ecto.Changeset.t()
Create generic changeset for Ban
model
unban(user)
@spec unban(user :: EpochtalkServer.Models.User.t()) :: {:ok, user :: EpochtalkServer.Models.User.t()} | {:error, :unban_error}
Used to unban a User
. Updates supplied User
model to reflect unbanning and returns.
unban_by_user_id(user_id)
@spec unban_by_user_id(user_id :: integer()) :: {:ok, ban_changeset :: Ecto.Changeset.t()} | {:ok, nil} | {:error, :unban_error}
Used to unban a User
by user_id
. Will return {:ok, nil}
if user was never banned.
unban_changeset(ban, attrs \\ %{})
@spec unban_changeset(ban :: t(), attrs :: map() | nil) :: Ecto.Changeset.t()
Create unban changeset for Ban
model, handles update of ban for unbanning