provider/rcode0.go
func (p *RcodeZeroProvider) fetchZones() ([]*rc0.Zone, error) {

	var allZones []*rc0.Zone

	listOptions := rc0.NewListOptions()

	for {
		zones, page, err := p.Client.Zones.List(listOptions)
		if err != nil {
			return nil, err
		}
		allZones = append(allZones, zones...)

		if page == nil || page.IsLastPage() {
			break
		}

		listOptions.SetPageNumber(page.CurrentPage + 1)
	}

	return allZones, nil
}
func (p *RcodeZeroProvider) fetchZones() ([]*rc0.Zone, error) {

	var allZones []*rc0.Zone

	listOptions := rc0.NewListOptions()

	for {
		zones, page, err := p.Client.Zones.List(listOptions)
		if err != nil {
			return nil, err
		}
		allZones = append(allZones, zones...)

		if page == nil || page.IsLastPage() {
			break
		}

		listOptions.SetPageNumber(page.CurrentPage + 1)
	}

	return allZones, nil
}
// Helper function