mirror of
https://github.com/wanderer-industries/wanderer
synced 2025-12-12 02:35:42 +00:00
feat: add api for acl management (#171)
This commit is contained in:
39
lib/wanderer_app_web/controllers/character_api_controller.ex
Normal file
39
lib/wanderer_app_web/controllers/character_api_controller.ex
Normal file
@@ -0,0 +1,39 @@
|
||||
defmodule WandererAppWeb.CharactersAPIController do
|
||||
@moduledoc """
|
||||
Exposes an endpoint for listing ALL characters in the database
|
||||
|
||||
Endpoint:
|
||||
GET /api/characters
|
||||
"""
|
||||
|
||||
use WandererAppWeb, :controller
|
||||
alias WandererApp.Api.Character
|
||||
|
||||
@doc """
|
||||
GET /api/characters
|
||||
|
||||
Lists ALL characters in the database
|
||||
Returns an array of objects, each with `id`, `eve_id`, `name`, etc.
|
||||
"""
|
||||
def index(conn, _params) do
|
||||
case WandererApp.Api.read(Character) do
|
||||
{:ok, characters} ->
|
||||
result =
|
||||
characters
|
||||
|> Enum.map(&%{
|
||||
id: &1.id,
|
||||
eve_id: &1.eve_id,
|
||||
name: &1.name,
|
||||
corporation_name: &1.corporation_name,
|
||||
alliance_name: &1.alliance_name
|
||||
})
|
||||
|
||||
json(conn, %{data: result})
|
||||
|
||||
{:error, error} ->
|
||||
conn
|
||||
|> put_status(:internal_server_error)
|
||||
|> json(%{error: inspect(error)})
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user