|
|
|
@ -1,7 +1,8 @@
|
|
|
|
|
defmodule LinkShortenerWeb.Api.V1.LinkController do
|
|
|
|
|
use LinkShortenerWeb, :controller
|
|
|
|
|
|
|
|
|
|
alias LinkShortener.Links
|
|
|
|
|
alias LinkShortener.Links.Links
|
|
|
|
|
alias LinkShortener.Links.Link
|
|
|
|
|
|
|
|
|
|
action_fallback LinkShortenerWeb.FallbackController
|
|
|
|
|
|
|
|
|
@ -11,17 +12,18 @@ defmodule LinkShortenerWeb.Api.V1.LinkController do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def create(conn, %{"link" => link_params}) do
|
|
|
|
|
with {:ok, %Links{} = link} <- Links.insert_one(link_params) do
|
|
|
|
|
with {:ok, %Link{} = link} <- Links.insert_one(link_params) do
|
|
|
|
|
conn
|
|
|
|
|
|> put_status(:created)
|
|
|
|
|
|> put_resp_header("location", Routes.links_path(conn, :show, link))
|
|
|
|
|
|> render("show.json", links: link)
|
|
|
|
|
|> put_resp_header("location", Routes.link_path(conn, :show, link))
|
|
|
|
|
|> render("show.json", link: link)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def show(conn, %{"id" => id}) do
|
|
|
|
|
link = Links.get_one(id)
|
|
|
|
|
render(conn, "show.json", links: link)
|
|
|
|
|
render(conn, "show.json", link: link)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def delete(conn, %{"id" => id}) do
|
|
|
|
|