lib/docusign/model/locale_policy.ex

# NOTE: This file is auto generated by OpenAPI Generator 6.4.0 (https://openapi-generator.tech).
# Do not edit this file manually.

defmodule DocuSign.Model.LocalePolicy do
  @moduledoc """

  """

  @derive [Poison.Encoder]
  defstruct [
    :addressFormat,
    :addressFormatMetadata,
    :allowRegion,
    :calendarType,
    :calendarTypeMetadata,
    :cultureName,
    :cultureNameMetadata,
    :currencyCode,
    :currencyCodeMetadata,
    :currencyNegativeFormat,
    :currencyNegativeFormatMetadata,
    :currencyPositiveFormat,
    :currencyPositiveFormatMetadata,
    :customDateFormat,
    :customSignDateFormat,
    :customSignTimeFormat,
    :customTimeFormat,
    :dateFormat,
    :dateFormatMetadata,
    :effectiveAddressFormat,
    :effectiveCalendarType,
    :effectiveCurrencyCode,
    :effectiveCurrencyNegativeFormat,
    :effectiveCurrencyPositiveFormat,
    :effectiveCustomDateFormat,
    :effectiveCustomTimeFormat,
    :effectiveDateFormat,
    :effectiveInitialFormat,
    :effectiveNameFormat,
    :effectiveTimeFormat,
    :effectiveTimeZone,
    :initialFormat,
    :initialFormatMetadata,
    :nameFormat,
    :nameFormatMetadata,
    :signDateFormat,
    :signDateFormatMetadata,
    :signTimeFormat,
    :signTimeFormatMetadata,
    :timeFormat,
    :timeFormatMetadata,
    :timeZone,
    :timeZoneMetadata
  ]

  @type t :: %__MODULE__{
          :addressFormat => String.t() | nil,
          :addressFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :allowRegion => String.t() | nil,
          :calendarType => String.t() | nil,
          :calendarTypeMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :cultureName => String.t() | nil,
          :cultureNameMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :currencyCode => String.t() | nil,
          :currencyCodeMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :currencyNegativeFormat => String.t() | nil,
          :currencyNegativeFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :currencyPositiveFormat => String.t() | nil,
          :currencyPositiveFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :customDateFormat => String.t() | nil,
          :customSignDateFormat => String.t() | nil,
          :customSignTimeFormat => String.t() | nil,
          :customTimeFormat => String.t() | nil,
          :dateFormat => String.t() | nil,
          :dateFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :effectiveAddressFormat => String.t() | nil,
          :effectiveCalendarType => String.t() | nil,
          :effectiveCurrencyCode => String.t() | nil,
          :effectiveCurrencyNegativeFormat => String.t() | nil,
          :effectiveCurrencyPositiveFormat => String.t() | nil,
          :effectiveCustomDateFormat => String.t() | nil,
          :effectiveCustomTimeFormat => String.t() | nil,
          :effectiveDateFormat => String.t() | nil,
          :effectiveInitialFormat => String.t() | nil,
          :effectiveNameFormat => String.t() | nil,
          :effectiveTimeFormat => String.t() | nil,
          :effectiveTimeZone => String.t() | nil,
          :initialFormat => String.t() | nil,
          :initialFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :nameFormat => String.t() | nil,
          :nameFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :signDateFormat => String.t() | nil,
          :signDateFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :signTimeFormat => String.t() | nil,
          :signTimeFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :timeFormat => String.t() | nil,
          :timeFormatMetadata => DocuSign.Model.SettingsMetadata.t() | nil,
          :timeZone => String.t() | nil,
          :timeZoneMetadata => DocuSign.Model.SettingsMetadata.t() | nil
        }
end

defimpl Poison.Decoder, for: DocuSign.Model.LocalePolicy do
  import DocuSign.Deserializer

  def decode(value, options) do
    value
    |> deserialize(:addressFormatMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:calendarTypeMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:cultureNameMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:currencyCodeMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(
      :currencyNegativeFormatMetadata,
      :struct,
      DocuSign.Model.SettingsMetadata,
      options
    )
    |> deserialize(
      :currencyPositiveFormatMetadata,
      :struct,
      DocuSign.Model.SettingsMetadata,
      options
    )
    |> deserialize(:dateFormatMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:initialFormatMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:nameFormatMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:signDateFormatMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:signTimeFormatMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:timeFormatMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
    |> deserialize(:timeZoneMetadata, :struct, DocuSign.Model.SettingsMetadata, options)
  end
end