38 lines
1.0 KiB
Elixir
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
|