defmodule Odinsea.Database.Schema.SkillCooldown do @moduledoc """ Ecto schema for the skills_cooldowns table. Represents active skill cooldowns for characters. """ use Ecto.Schema import Ecto.Changeset @primary_key {:id, :id, autogenerate: true} schema "skills_cooldowns" do field :charid, :integer field :skill_id, :integer, source: :SkillID field :length, :integer field :start_time, :integer, source: :StartTime belongs_to :character, Odinsea.Database.Schema.Character, foreign_key: :charid, references: :id, define_field: false end @doc """ Changeset for creating/updating a skill cooldown. """ def changeset(skill_cooldown, attrs) do skill_cooldown |> cast(attrs, [:charid, :skill_id, :length, :start_time]) |> validate_required([:charid, :skill_id, :length, :start_time]) end end