vista_client v0.1.2 VistaClient.Transformations.Serializer

Convert VistaClient's tuple-based internal data structures of

  • "films in a cinema on a day with their sessions" and
  • "films in a cinema in a week with their sessions by day"

into Jason-digestible maps.

Examples

  iex> alias VistaClient.{Film,Session,Transformations}
  iex> day_result = [{film, [session]}] = [{%Film{}, [%Session{}]}]
  iex> Transformations.Serializer.from_day_result(day_result)
  [
    %{
      "film" => %VistaClient.Film{id: nil, name: nil, rating: nil},
      "sessions" => [
        %VistaClient.Session{
          attributes: nil, cinema: nil, cinema_id: nil, date: nil, film: nil, film_id_string: nil, id_string: nil, showtime: nil, version: nil
        }
      ]
    }
  ]
  iex> day = ~D[2019-01-01]
  iex> week_result = [{film, [{day, [session]}]}]
  iex> Transformations.Serializer.from_week_result(week_result)
  [
    %{
      "days" => %{
        "2019-01-01" => [
          %VistaClient.Session{attributes: nil, cinema: nil, cinema_id: nil, date: nil, film: nil, film_id_string: nil, id_string: nil, showtime: nil, version: nil}
        ]
      },
      "film" => %VistaClient.Film{id: nil, name: nil, rating: nil}
    }
  ]

Link to this section Summary

Link to this section Functions

Link to this function

from_day_result(films)

Link to this function

from_week_result(films)