defmodule PhilomenaWeb.StaffController do
  use PhilomenaWeb, :controller

  alias Philomena.Users.User
  alias Philomena.Repo
  import Ecto.Query

  def index(conn, _params) do
    users =
      User
      |> where([u], u.role in ["admin", "moderator", "assistant"])
      |> order_by(asc: :name)
      |> Repo.all()

    categories = [
      "Administrators": Enum.filter(users, & &1.role == "admin"),
      "Technical Team": Enum.filter(users, & &1.role != "admin" and &1.secondary_role not in [nil, ""]),
      "Moderators": Enum.filter(users, & &1.role == "moderator" and &1.secondary_role in [nil, ""]),
      "Assistants": Enum.filter(users, & &1.role == "assistant" and &1.secondary_role in [nil, ""])
    ]

    render(conn, "index.html", categories: categories)
  end
end