|
|
@ -8,6 +8,7 @@ defmodule LinkShortener.Links do
|
|
|
|
schema "links" do
|
|
|
|
schema "links" do
|
|
|
|
field :name, :string
|
|
|
|
field :name, :string
|
|
|
|
field :url, :string
|
|
|
|
field :url, :string
|
|
|
|
|
|
|
|
field :shorten, :string
|
|
|
|
|
|
|
|
|
|
|
|
timestamps()
|
|
|
|
timestamps()
|
|
|
|
end
|
|
|
|
end
|
|
|
@ -15,8 +16,9 @@ defmodule LinkShortener.Links do
|
|
|
|
@doc false
|
|
|
|
@doc false
|
|
|
|
def changeset(link, attrs) do
|
|
|
|
def changeset(link, attrs) do
|
|
|
|
link
|
|
|
|
link
|
|
|
|
|> cast(attrs, [:name, :url])
|
|
|
|
|> cast(attrs, [:name, :url, :shorten])
|
|
|
|
|> validate_required([:name, :url])
|
|
|
|
|> validate_required([:url, :shorten])
|
|
|
|
|
|
|
|
|> unique_constraint(:shorten)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def new_one(), do: Links.changeset(%Links{})
|
|
|
|
def new_one(), do: Links.changeset(%Links{})
|
|
|
|