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

38 lines
1.0 KiB
Elixir

defmodule Odinsea.Database.Schema.DueyPackage do
@moduledoc """
Ecto schema for the dueypackages table.
Represents Duey packages (mail/delivery system).
"""
use Ecto.Schema
import Ecto.Changeset
@primary_key {:package_id, :id, autogenerate: true, source: :PackageId}
schema "dueypackages" do
field :reciever_id, :integer, source: :RecieverId
field :sender_name, :string, source: :SenderName
field :mesos, :integer, default: 0, source: :Mesos
field :timestamp, :integer, source: :TimeStamp
field :checked, :integer, default: 1, source: :Checked
field :type, :integer, source: :Type
end
@doc """
Changeset for creating a duey package.
"""
def creation_changeset(duey_package, attrs) do
duey_package
|> cast(attrs, [:reciever_id, :sender_name, :mesos, :timestamp, :type])
|> validate_required([:reciever_id, :sender_name, :type])
end
@doc """
Changeset for marking package as checked.
"""
def checked_changeset(duey_package, attrs) do
duey_package
|> cast(attrs, [:checked])
end
end