24 lines
529 B
Elixir
24 lines
529 B
Elixir
defmodule Outlook.Authors.Author do
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
alias Outlook.Articles.Article
|
|
|
|
schema "authors" do
|
|
field :description, :string
|
|
field :homepage_name, :string
|
|
field :homepage_url, :string
|
|
field :name, :string
|
|
has_many :articles, Article, on_delete: :delete_all
|
|
|
|
timestamps()
|
|
end
|
|
|
|
@doc false
|
|
def changeset(author, attrs) do
|
|
author
|
|
|> cast(attrs, [:name, :description, :homepage_name, :homepage_url])
|
|
|> validate_required([:name, :description])
|
|
end
|
|
end
|