Files
odinsea-elixir/lib/odinsea/database/schema/cs_item.ex
2026-02-14 23:58:01 -07:00

42 lines
1.2 KiB
Elixir

defmodule Odinsea.Database.Schema.CsItem do
@moduledoc """
Ecto schema for the csitems table.
Represents cash shop inventory items.
"""
use Ecto.Schema
import Ecto.Changeset
@primary_key {:inventoryitemid, :integer, autogenerate: false}
schema "csitems" do
field :characterid, :integer
field :accountid, :integer
field :packageid, :integer
field :itemid, :integer, default: 0
field :inventorytype, :integer, default: 0
field :position, :integer, default: 0
field :quantity, :integer, default: 0
field :owner, :string
field :gm_log, :string, source: :GM_Log
field :uniqueid, :integer, default: -1
field :flag, :integer, default: 0
field :expiredate, :integer, default: -1
field :type, :integer, default: 0
field :sender, :string, default: ""
end
@doc """
Changeset for creating/updating a cash shop item.
"""
def changeset(cs_item, attrs) do
cs_item
|> cast(attrs, [
:inventoryitemid, :characterid, :accountid, :packageid, :itemid,
:inventorytype, :position, :quantity, :owner, :gm_log, :uniqueid,
:flag, :expiredate, :type, :sender
])
|> validate_required([:inventoryitemid, :itemid, :inventorytype, :position, :quantity])
end
end