32 lines
739 B
Elixir
32 lines
739 B
Elixir
defmodule Odinsea.Database.Schema.Storage do
|
|
@moduledoc """
|
|
Ecto schema for the storages table.
|
|
Represents account storage (bank) data.
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@primary_key {:storageid, :id, autogenerate: true}
|
|
|
|
schema "storages" do
|
|
field :accountid, :integer, default: 0
|
|
field :slots, :integer, default: 0
|
|
field :meso, :integer, default: 0
|
|
|
|
belongs_to :account, Odinsea.Database.Schema.Account,
|
|
foreign_key: :accountid,
|
|
references: :id,
|
|
define_field: false
|
|
end
|
|
|
|
@doc """
|
|
Changeset for creating/updating storage.
|
|
"""
|
|
def changeset(storage, attrs) do
|
|
storage
|
|
|> cast(attrs, [:accountid, :slots, :meso])
|
|
|> validate_required([:accountid])
|
|
end
|
|
end
|