28 lines
844 B
Elixir
28 lines
844 B
Elixir
defmodule Bookmarker.Bookmark do
|
|
use Ecto.Schema
|
|
require Protocol
|
|
import Ecto.Changeset
|
|
|
|
# The schema describes what are in our case the columns of the `bookmarks`
|
|
# table in the database in a way that makes it easy to go back and forth
|
|
# between the two systems
|
|
schema "bookmarks" do
|
|
field :category, :string
|
|
field :creator, :integer
|
|
field :notes, :string
|
|
field :remote_id, :string
|
|
|
|
timestamps()
|
|
end
|
|
|
|
@doc """
|
|
The changeset is used to validate and sanitize data before it's put into
|
|
the database. This project doesn't make much use of changesets
|
|
"""
|
|
def changeset(bookmark, attrs) do
|
|
bookmark
|
|
|> cast(attrs, [:creator, :category, :remote_id, :notes])
|
|
|> validate_required([:creator, :category, :remote_id, :notes])
|
|
end
|
|
end
|