27 lines
521 B
Elixir
27 lines
521 B
Elixir
defmodule ScopesWeb.ConceptJSON do
|
|
alias Scopes.Storage.Concept
|
|
|
|
@doc """
|
|
Renders a list of concepts.
|
|
"""
|
|
def index(%{concepts: concepts}) do
|
|
%{data: for(concept <- concepts, do: data(concept))}
|
|
end
|
|
|
|
@doc """
|
|
Renders a single concept.
|
|
"""
|
|
def show(%{concept: concept}) do
|
|
%{data: data(concept)}
|
|
end
|
|
|
|
defp data(%Concept{} = concept) do
|
|
%{
|
|
id: concept.id,
|
|
domain: concept.domain,
|
|
class: concept.class,
|
|
item: concept.item,
|
|
data: concept.data
|
|
}
|
|
end
|
|
end
|