lib/kraken/api/routes.ex
defmodule Kraken.Api.Routes do
alias Kraken.Routes
def define(payload) do
with {:ok, definition} <- Jason.decode(payload),
{:ok, pipeline_name} <- Routes.define(definition) do
{:ok, Jason.encode!(%{"ok" => pipeline_name})}
else
{:error, error} ->
{:error, Jason.encode!(%{"error" => inspect(error)})}
end
end
def all() do
case Routes.all() do
{:ok, routes} ->
{:ok, Jason.encode!(routes)}
{:error, :no_routes} ->
{:error, Jason.encode!(%{"error" => "Routes are not defined!"})}
end
end
end