From 54339f36158578a23dbda1c4d2724e4475849ea6 Mon Sep 17 00:00:00 2001
From: gfleury <gfleury@gmail.com>
Date: Mon, 16 Mar 2020 13:31:26 -0300
Subject: [PATCH] Adding Paged responses helper

---
 api_response.go | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/api_response.go b/api_response.go
index a5d24f0..7b8a8cf 100644
--- a/api_response.go
+++ b/api_response.go
@@ -508,6 +508,7 @@ func NewBitbucketAPIResponse(r *http.Response) (*APIResponse, error) {
 	return response, err
 }
 
+// NewRawAPIResponse create new API response from http.response with raw data
 func NewRawAPIResponse(r *http.Response) (*APIResponse, error) {
 	response := &APIResponse{Response: r}
 	raw, err := ioutil.ReadAll(r.Body)
@@ -518,3 +519,10 @@ func NewRawAPIResponse(r *http.Response) (*APIResponse, error) {
 	response.Payload = raw
 	return response, nil
 }
+
+// HasNextPage returns if response is paged and has next page and where it does start
+func HasNextPage(response *APIResponse) (bool, int) {
+	isLastPage := response.Values["isLastPage"].(bool)
+	nextPageStart := int(response.Values["nextPageStart"].(float64))
+	return !isLastPage, nextPageStart
+}