port over some more

This commit is contained in:
ra
2026-02-14 23:58:01 -07:00
parent 0222be36c5
commit 61176cd416
107 changed files with 9124 additions and 375 deletions

View File

@@ -0,0 +1,38 @@
defmodule Odinsea.Database.Schema.Pet do
@moduledoc """
Ecto schema for the pets table.
Represents pet data in the game.
"""
use Ecto.Schema
import Ecto.Changeset
@primary_key {:petid, :id, autogenerate: true}
schema "pets" do
field :name, :string
field :level, :integer, default: 1
field :closeness, :integer, default: 0
field :fullness, :integer, default: 0
field :seconds, :integer, default: 0
field :flags, :integer, default: 0
end
@doc """
Changeset for creating a pet.
"""
def creation_changeset(pet, attrs) do
pet
|> cast(attrs, [:name, :level, :closeness, :fullness])
|> validate_required([:name])
|> validate_length(:name, min: 1, max: 13)
end
@doc """
Changeset for updating pet stats.
"""
def stats_changeset(pet, attrs) do
pet
|> cast(attrs, [:level, :closeness, :fullness, :seconds, :flags])
end
end