lib/mbta/model/service_resource_attributes.ex

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

defmodule MBTA.Model.ServiceResourceAttributes do
  @moduledoc """
  
  """

  @derive Jason.Encoder
  defstruct [
    :valid_days,
    :start_date,
    :schedule_typicality,
    :schedule_type,
    :schedule_name,
    :removed_dates_notes,
    :removed_dates,
    :rating_start_date,
    :rating_end_date,
    :rating_description,
    :end_date,
    :description,
    :added_dates_notes,
    :added_dates
  ]

  @type t :: %__MODULE__{
    :valid_days => [float()] | nil,
    :start_date => Date.t | nil,
    :schedule_typicality => integer() | nil,
    :schedule_type => String.t | nil,
    :schedule_name => String.t | nil,
    :removed_dates_notes => [String.t] | nil,
    :removed_dates => [Date.t] | nil,
    :rating_start_date => Date.t | nil,
    :rating_end_date => Date.t | nil,
    :rating_description => String.t | nil,
    :end_date => Date.t | nil,
    :description => String.t | nil,
    :added_dates_notes => [String.t] | nil,
    :added_dates => [Date.t] | nil
  }

  alias MBTA.Deserializer

  def decode(value) do
    value
     |> Deserializer.deserialize(:start_date, :date, nil)
     |> Deserializer.deserialize(:removed_dates, :list, MBTA.Model.Date)
     |> Deserializer.deserialize(:rating_start_date, :date, nil)
     |> Deserializer.deserialize(:rating_end_date, :date, nil)
     |> Deserializer.deserialize(:end_date, :date, nil)
     |> Deserializer.deserialize(:added_dates, :list, MBTA.Model.Date)
  end
end