internal: fix go paginator not setting page correctly (#11253) Signed-off-by: Jens Langhammer <jens@goauthentik.io> Co-authored-by: Jens L. <jens@goauthentik.io>
This commit is contained in:
![98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com](/assets/img/avatar_default.png)
committed by
GitHub

parent
bfaa1046b2
commit
b2801641bc
@ -35,10 +35,11 @@ func Paginator[Tobj any, Treq any, Tres PaginatorResponse[Tobj]](
|
|||||||
req PaginatorRequest[Treq, Tres],
|
req PaginatorRequest[Treq, Tres],
|
||||||
opts PaginatorOptions,
|
opts PaginatorOptions,
|
||||||
) ([]Tobj, error) {
|
) ([]Tobj, error) {
|
||||||
|
var bfreq, cfreq interface{}
|
||||||
fetchOffset := func(page int32) (Tres, error) {
|
fetchOffset := func(page int32) (Tres, error) {
|
||||||
req.Page(page)
|
bfreq = req.Page(page)
|
||||||
req.PageSize(int32(opts.PageSize))
|
cfreq = bfreq.(PaginatorRequest[Treq, Tres]).PageSize(int32(opts.PageSize))
|
||||||
res, _, err := req.Execute()
|
res, _, err := cfreq.(PaginatorRequest[Treq, Tres]).Execute()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
opts.Logger.WithError(err).WithField("page", page).Warning("failed to fetch page")
|
opts.Logger.WithError(err).WithField("page", page).Warning("failed to fetch page")
|
||||||
}
|
}
|
||||||
|
26
internal/outpost/ak/api_utils_test.go
Normal file
26
internal/outpost/ak/api_utils_test.go
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package ak
|
||||||
|
|
||||||
|
// func Test_PaginatorCompile(t *testing.T) {
|
||||||
|
// req := api.ApiCoreUsersListRequest{}
|
||||||
|
// Paginator(req, PaginatorOptions{
|
||||||
|
// PageSize: 100,
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
|
// func Test_PaginatorCompileExplicit(t *testing.T) {
|
||||||
|
// req := api.ApiCoreUsersListRequest{}
|
||||||
|
// Paginator[
|
||||||
|
// api.User,
|
||||||
|
// api.ApiCoreUsersListRequest,
|
||||||
|
// *api.PaginatedUserList,
|
||||||
|
// ](req, PaginatorOptions{
|
||||||
|
// PageSize: 100,
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
|
// func Test_PaginatorCompileOther(t *testing.T) {
|
||||||
|
// req := api.ApiOutpostsProxyListRequest{}
|
||||||
|
// Paginator(req, PaginatorOptions{
|
||||||
|
// PageSize: 100,
|
||||||
|
// })
|
||||||
|
// }
|
Reference in New Issue
Block a user