defmodule DaProductApp.Merchants.MerchantInvoice do @moduledoc """ Merchant invoice extracted from RespValQr. """ use Ecto.Schema import Ecto.Changeset @primary_key {:id, :binary_id, autogenerate: true} @foreign_key_type :binary_id schema "merchant_invoices" do field :invoice_name, :string field :invoice_number, :string field :invoice_date, :utc_datetime belongs_to :merchant, DaProductApp.Merchants.Merchant belongs_to :qr_validation, DaProductApp.QRValidation.QRValidation field :inserted_at, :utc_datetime end @required ~w(merchant_id)a @optional ~w(invoice_name invoice_number invoice_date qr_validation_id)a def changeset(struct, attrs) do struct |> cast(attrs, @required ++ @optional) |> validate_required(@required) end end