timestamps()
end
- def auth_active?(user), do: user.info && !user.info.confirmation_pending
+ def auth_active?(%User{} = user), do: user.info && !user.info.confirmation_pending
+
+ def superuser?(%User{} = user), do: user.info && User.Info.superuser?(user.info)
def avatar_url(user) do
case user.avatar do
|> validate_format(:email, @email_regex)
|> validate_length(:bio, max: 1000)
|> validate_length(:name, min: 1, max: 100)
- |> put_change(:info, User.Info.confirmation_update(%User.Info{}, confirmation_status))
+ |> put_change(:info, User.Info.confirmation_changeset(%User.Info{}, confirmation_status))
if changeset.valid? do
hashed = Pbkdf2.hashpwsalt(changeset.changes[:password])
@doc "Inserts provided changeset, performs post-registration actions (confirmation email sending etc.)"
def register(%Ecto.Changeset{} = changeset) do
- with {:ok, user} <- Repo.insert(changeset) do
- {:ok, _} = try_send_confirmation_email(user)
+ with {:ok, user} <- Repo.insert(changeset),
+ {:ok, _} = try_send_confirmation_email(user) do
{:ok, user}
end
end