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