defmodule Odinsea.Database.Schema.QuestStatus do @moduledoc """ Ecto schema for the queststatus table. Represents quest progress/status for characters. """ use Ecto.Schema import Ecto.Changeset @primary_key {:queststatusid, :id, autogenerate: true} schema "queststatus" do field :characterid, :integer, default: 0 field :quest, :integer, default: 0 field :status, :integer, default: 0 field :time, :integer, default: 0 field :forfeited, :integer, default: 0 field :custom_data, :string, source: :customData has_many :quest_status_mobs, Odinsea.Database.Schema.QuestStatusMob, foreign_key: :queststatusid belongs_to :character, Odinsea.Database.Schema.Character, foreign_key: :characterid, references: :id, define_field: false end @doc """ Changeset for creating/updating quest status. """ def changeset(quest_status, attrs) do quest_status |> cast(attrs, [:characterid, :quest, :status, :time, :forfeited, :custom_data]) |> validate_required([:characterid, :quest]) end end