Current section

Files

Jump to
docusign lib docusign model account_billing_plan.ex
Raw

lib/docusign/model/account_billing_plan.ex

# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.AccountBillingPlan do
@moduledoc """
Contains information about an account billing plan.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.AddOn
alias DocuSign.Model.DowngradePlanUpdateResponse
alias DocuSign.Model.FeatureSet
alias DocuSign.Model.SeatDiscount
defstruct [
:addOns,
:appStoreReceiptExpirationDate,
:appStoreReceiptPurchaseDate,
:canCancelRenewal,
:canUpgrade,
:currencyCode,
:downgradePlanInformation,
:enableSupport,
:includedSeats,
:incrementalSeats,
:isDowngrade,
:notificationType,
:otherDiscountPercent,
:paymentCycle,
:paymentMethod,
:perSeatPrice,
:planClassification,
:planFeatureSets,
:planId,
:planName,
:planStartDate,
:productId,
:renewalDate,
:renewalStatus,
:seatDiscounts,
:subscriptionStartDate,
:supportIncidentFee,
:supportPlanFee,
:taxExemptId
]
@doc false
defimpl Jason.Encoder, for: __MODULE__ do
def encode(struct, opts) do
struct
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> is_nil(v) end)
|> Map.new()
|> Jason.Encode.map(opts)
end
end
@type t :: %__MODULE__{
:addOns => [AddOn.t()] | nil,
:appStoreReceiptExpirationDate => String.t() | nil,
:appStoreReceiptPurchaseDate => String.t() | nil,
:canCancelRenewal => String.t() | nil,
:canUpgrade => String.t() | nil,
:currencyCode => String.t() | nil,
:downgradePlanInformation => DowngradePlanUpdateResponse.t() | nil,
:enableSupport => String.t() | nil,
:includedSeats => String.t() | nil,
:incrementalSeats => String.t() | nil,
:isDowngrade => String.t() | nil,
:notificationType => String.t() | nil,
:otherDiscountPercent => String.t() | nil,
:paymentCycle => String.t() | nil,
:paymentMethod => String.t() | nil,
:perSeatPrice => String.t() | nil,
:planClassification => String.t() | nil,
:planFeatureSets => [FeatureSet.t()] | nil,
:planId => String.t() | nil,
:planName => String.t() | nil,
:planStartDate => String.t() | nil,
:productId => String.t() | nil,
:renewalDate => String.t() | nil,
:renewalStatus => String.t() | nil,
:seatDiscounts => [SeatDiscount.t()] | nil,
:subscriptionStartDate => String.t() | nil,
:supportIncidentFee => String.t() | nil,
:supportPlanFee => String.t() | nil,
:taxExemptId => String.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:addOns,
:list,
AddOn
)
|> Deserializer.deserialize(
:downgradePlanInformation,
:struct,
DowngradePlanUpdateResponse
)
|> Deserializer.deserialize(
:planFeatureSets,
:list,
FeatureSet
)
|> Deserializer.deserialize(
:seatDiscounts,
:list,
SeatDiscount
)
|> then(&struct(__MODULE__, &1))
end
end