Compare commits

..

2 Commits

Author SHA1 Message Date
725df05521 fix aliases
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-29 13:05:01 -05:00
3ae890c193 use atoms for role changeset 2023-01-29 12:57:07 -05:00
3 changed files with 8 additions and 8 deletions

View File

@ -112,7 +112,7 @@ defmodule Cannery.Accounts do
|> Multi.one(:users_count, from(u in User, select: count(u.id), distinct: true))
|> Multi.insert(:add_user, fn %{users_count: count} ->
# if no registered users, make first user an admin
role = if count == 0, do: "admin", else: "user"
role = if count == 0, do: :admin, else: :user
User.registration_changeset(attrs) |> User.role_changeset(role)
end)

View File

@ -48,7 +48,7 @@ defmodule Cannery.Accounts.User do
@type new_user :: %User{}
@type id :: UUID.t()
@type changeset :: Changeset.t(t() | new_user())
@type role :: :admin | :user | String.t()
@type role :: :admin | :user
@doc """
A user changeset for registration.
@ -81,7 +81,7 @@ defmodule Cannery.Accounts.User do
"""
@spec role_changeset(t() | new_user() | changeset(), role()) :: changeset()
def role_changeset(user, role) do
user |> cast(%{"role" => role}, [:role])
user |> change(role: role)
end
@spec validate_email(changeset()) :: changeset()

View File

@ -21,8 +21,8 @@ defmodule Cannery.Fixtures do
def unique_user_email, do: "user#{System.unique_integer()}@example.com"
def valid_user_password, do: "hello world!"
@spec user_fixture() :: Accounts.User.t()
@spec user_fixture(attrs :: map()) :: Accounts.User.t()
@spec user_fixture() :: User.t()
@spec user_fixture(attrs :: map()) :: User.t()
def user_fixture(attrs \\ %{}) do
attrs
|> Enum.into(%{
@ -33,8 +33,8 @@ defmodule Cannery.Fixtures do
|> unwrap_ok_tuple()
end
@spec admin_fixture() :: Accounts.User.t()
@spec admin_fixture(attrs :: map()) :: Accounts.User.t()
@spec admin_fixture() :: User.t()
@spec admin_fixture(attrs :: map()) :: User.t()
def admin_fixture(attrs \\ %{}) do
attrs
|> Enum.into(%{
@ -43,7 +43,7 @@ defmodule Cannery.Fixtures do
})
|> Accounts.register_user()
|> unwrap_ok_tuple()
|> User.role_changeset("admin")
|> User.role_changeset(:admin)
|> Repo.update!()
end