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
