defmodule ArcadiaCloud.Billing.SubscriptionAddon do use Ecto.Schema import Ecto.Changeset @primary_key {:id, :binary_id, autogenerate: true} @foreign_key_type :binary_id schema "subscription_addons" do field :resource_kind, :string field :qty, :decimal field :price_cents, :integer field :currency, :string, default: "AUD" field :attached_at, :utc_datetime belongs_to :subscription, ArcadiaCloud.Billing.Subscription belongs_to :addon, ArcadiaCloud.Catalog.Addon timestamps(type: :utc_datetime) end @required ~w(subscription_id addon_id resource_kind qty price_cents attached_at)a @optional ~w(currency)a def changeset(sa, attrs) do sa |> cast(attrs, @required ++ @optional) |> validate_required(@required) end end