Current section
Files
Jump to
Current section
Files
lib/polarex/schemas/subscription_meter.ex
defmodule Polarex.SubscriptionMeter do
@moduledoc """
Provides struct and type for a SubscriptionMeter
"""
@type t :: %__MODULE__{
amount: integer,
consumed_units: number,
created_at: DateTime.t(),
credited_units: integer,
id: String.t(),
meter: Polarex.Meter.t(),
meter_id: String.t(),
modified_at: DateTime.t() | nil
}
defstruct [
:amount,
:consumed_units,
:created_at,
:credited_units,
:id,
:meter,
:meter_id,
:modified_at
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
amount: :integer,
consumed_units: :number,
created_at: {:string, "date-time"},
credited_units: :integer,
id: {:string, "uuid4"},
meter: {Polarex.Meter, :t},
meter_id: {:string, "uuid4"},
modified_at: {:union, [{:string, "date-time"}, :null]}
]
end
end