- add user management to invite page

- harden accounts context
This commit is contained in:
2022-02-12 02:28:27 -05:00
parent fa55c13c29
commit 272f6729c6
12 changed files with 830 additions and 732 deletions

View File

@ -63,6 +63,19 @@ defmodule Cannery.Accounts do
@spec get_user!(User.t()) :: User.t()
def get_user!(id), do: Repo.get!(User, id)
@doc """
Returns all users grouped by role.
## Examples
iex> list_users_by_role(%User{id: 123, role: :admin})
[admin: [%User{}], user: [%User{}, %User{}]]
"""
@spec list_all_users_by_role(User.t()) :: %{String.t() => [User.t()]}
def list_all_users_by_role(%User{role: :admin}) do
Repo.all(User) |> Enum.group_by(fn user -> user.role end)
end
@doc """
Returns all users for a certain role.