21 lines
492 B
Elixir
21 lines
492 B
Elixir
defmodule WabanexWeb.IMCController do
|
|
use WabanexWeb, :controller
|
|
|
|
alias Wabanex.IMC
|
|
|
|
def index(conn, params) do
|
|
params
|
|
|> IMC.calculate()
|
|
|> handle_response(conn)
|
|
end
|
|
|
|
def handle_response({:ok, result}, conn), do: render_response(conn, :ok, result)
|
|
def handle_response({:error, result}, conn), do: render_response(conn, :bad_request, result)
|
|
|
|
defp render_response(conn, status, result) do
|
|
conn
|
|
|> put_status(status)
|
|
|> json(%{result: result})
|
|
end
|
|
end
|