Add a method to create an Link using a generator.

This commit is contained in:
2023-07-07 16:58:52 +03:00
parent be508ec88a
commit 47ea2bc1da
3 changed files with 9 additions and 1 deletions
+6
View File
@@ -4,6 +4,7 @@ defmodule LinkShortener.Links do
import Ecto.Query
alias LinkShortener.Repo
alias LinkShortener.Links
alias LinkShortener.Generators.SafeString
schema "links" do
field :name, :string
@@ -23,6 +24,11 @@ defmodule LinkShortener.Links do
def new_one(), do: Links.changeset(%Links{})
def create_one(attrs, length \\ 10, generator \\ SafeString) do
shorten = generator.generate(length)
insert_one(Map.put(attrs, :shorten, shorten))
end
def insert_one(attrs) do
%Links{}
|> Links.changeset(attrs)