Packages

An elixir client for the Orchestre National d'Île-de-France public API

Retired package: Release invalid - The underlying public API does not exist anymore.

Current section

Files

Jump to
ondix lib collection.ex
Raw

lib/collection.ex

defmodule Ondix.Collection do
defstruct current_page: 0,
data: [],
first_page_url: "",
from: 0,
last_page: 0,
last_page_url: "",
next_page_url: "",
path: "",
per_page: 0,
prev_page_url: nil,
to: 0,
total: 0
def fromResponse(
%{
current_page: a,
data: b,
first_page_url: c,
from: d,
last_page: e,
last_page_url: f,
next_page_url: g,
path: h,
per_page: i,
prev_page_url: j,
to: k,
total: l
}
) do
%Ondix.Collection{
current_page: a,
data: b,
first_page_url: c,
from: d,
last_page: e,
last_page_url: f,
next_page_url: g,
path: h,
per_page: i,
prev_page_url: j,
to: k,
total: l
}
end
def get_next_page(%Ondix.Collection{next_page_url: nil}), do: raise Ondix.Error, message: "Collection doesn't have a next page"
def get_next_page(%Ondix.Collection{next_page_url: url}), do: Ondix.Client.fetchNoPrefix(url) |> fromResponse
def get_prev_page(%Ondix.Collection{prev_page_url: nil}), do: raise Ondix.Error, message: "Collection doesn't have a previous page"
def get_prev_page(%Ondix.Collection{prev_page_url: url}), do: Ondix.Client.fetchNoPrefix(url) |> fromResponse
end