- def collection(collection, iri, page, _total \\ nil) do
- offset = (page - 1) * 10
- items = Enum.slice(collection, offset, 10)
- items = Enum.map(items, fn user -> user.ap_id end)
- total = _total || length(collection)
-
- map = %{
- "id" => "#{iri}?page=#{page}",
- "type" => "OrderedCollectionPage",
- "partOf" => iri,
- "totalItems" => length(collection),
- "orderedItems" => items
- }
-
- if offset < length(collection) do
- Map.put(map, "next", "#{iri}?page=#{page + 1}")
- end
- end
-