defmodule Odinsea.Database.Schema.Buddy do @moduledoc """ Ecto schema for the buddies table. Represents buddy list entries for characters. """ use Ecto.Schema import Ecto.Changeset @primary_key {:id, :id, autogenerate: true} schema "buddies" do field :characterid, :integer field :buddyid, :integer field :pending, :integer, default: 0 field :groupname, :string, default: "ETC" belongs_to :character, Odinsea.Database.Schema.Character, foreign_key: :characterid, references: :id, define_field: false end @doc """ Changeset for creating a buddy entry. """ def changeset(buddy, attrs) do buddy |> cast(attrs, [:characterid, :buddyid, :pending, :groupname]) |> validate_required([:characterid, :buddyid]) end end