Skip to content

Commit

Permalink
Merge pull request #127 from twitchdev/bugfix/api-fixes
Browse files Browse the repository at this point in the history
fixes api tool due to recent changes
  • Loading branch information
lleadbet committed Dec 7, 2021
2 parents 99eaed4 + 3fb46d9 commit f00dadc
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions internal/api/api.go
Expand Up @@ -103,21 +103,22 @@ func NewRequest(method string, path string, queryParameters []string, body []byt

if isFirstRun {
data = apiResponse
isFirstRun = false
}

if resp.StatusCode > 299 || resp.StatusCode < 200 {
data = apiResponse
break
}
if data.Data == nil {

if apiResponse.Data == nil {
break
}
d := data.Data.([]interface{})
if strings.Contains(path, "schedule") || apiResponse.Data == nil {
data.Data = append(d, apiResponse.Data)
} else {
data.Data = append(d, apiResponse.Data.([]interface{})...)

if strings.Contains(path, "schedule") || data.Data == nil {
data.Data = apiResponse.Data
break // autopagination unsupported
} else if !isFirstRun {
data.Data = append(data.Data.([]interface{}), apiResponse.Data.([]interface{})...)
}

if apiResponse.Pagination == nil || apiResponse.Pagination.Cursor == "" {
Expand All @@ -135,13 +136,14 @@ func NewRequest(method string, path string, queryParameters []string, body []byt
break
}
cursor = apiResponse.Pagination.Cursor
isFirstRun = false
}

if data.Data == nil {
data.Data = make([]interface{}, 0)
}
// handle json marshalling better; returns empty slice vs. null
if len(data.Data.([]interface{})) == 0 && data.Error == "" {
if !strings.Contains(path, "schedule") && len(data.Data.([]interface{})) == 0 && data.Error == "" {
data.Data = make([]interface{}, 0)
}

Expand Down

0 comments on commit f00dadc

Please sign in to comment.