lib/glific_web/controllers/api/v1/onboard_controller.ex
defmodule GlificWeb.API.V1.OnboardController do
@moduledoc """
The Glific Onboarding Controller
"""
use GlificWeb, :controller
require Logger
alias Glific.Saas.Onboard
alias Plug.Conn
@doc false
@spec setup(Conn.t(), map()) :: Conn.t()
def setup(conn, %{"token" => token} = params) do
case Glific.verify_google_captcha(token) do
{:ok, "success"} ->
json(conn, Onboard.setup(params))
{:error, error} ->
conn
|> put_status(400)
|> json(%{error: %{status: 400, message: error}})
end
end
end