29 lines
669 B
Elixir
29 lines
669 B
Elixir
defmodule Odinsea.Database.Schema.Note do
|
|
@moduledoc """
|
|
Ecto schema for the notes table.
|
|
Represents in-game notes/messages between characters.
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@primary_key {:id, :id, autogenerate: true}
|
|
|
|
schema "notes" do
|
|
field :to, :string, default: ""
|
|
field :from, :string, default: ""
|
|
field :message, :string
|
|
field :timestamp, :integer
|
|
field :gift, :integer, default: 0
|
|
end
|
|
|
|
@doc """
|
|
Changeset for creating a note.
|
|
"""
|
|
def changeset(note, attrs) do
|
|
note
|
|
|> cast(attrs, [:to, :from, :message, :timestamp, :gift])
|
|
|> validate_required([:to, :from, :message, :timestamp])
|
|
end
|
|
end
|