34 lines
855 B
Elixir
34 lines
855 B
Elixir
defmodule Odinsea.Database.Schema.BbsReply do
|
|
@moduledoc """
|
|
Ecto schema for the bbs_replies table.
|
|
Represents guild BBS thread replies.
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@primary_key {:replyid, :id, autogenerate: true}
|
|
|
|
schema "bbs_replies" do
|
|
field :threadid, :integer
|
|
field :postercid, :integer
|
|
field :timestamp, :integer
|
|
field :content, :string, default: ""
|
|
field :guildid, :integer, default: 0
|
|
|
|
belongs_to :bbs_thread, Odinsea.Database.Schema.BbsThread,
|
|
foreign_key: :threadid,
|
|
references: :threadid,
|
|
define_field: false
|
|
end
|
|
|
|
@doc """
|
|
Changeset for creating a BBS reply.
|
|
"""
|
|
def changeset(bbs_reply, attrs) do
|
|
bbs_reply
|
|
|> cast(attrs, [:threadid, :postercid, :timestamp, :content, :guildid])
|
|
|> validate_required([:threadid, :postercid, :timestamp])
|
|
end
|
|
end
|