Current section
Files
Jump to
Current section
Files
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