Skip to content

Commit e085c74

Browse files
feat(api): update via SDK Studio
1 parent 4dbfaf1 commit e085c74

File tree

1 file changed

+195
-0
lines changed

1 file changed

+195
-0
lines changed

Diff for: packages/pagination/pagination.go

+195
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,103 @@ func (r *ServicesPageAutoPager[T]) Index() int {
107107
return r.run
108108
}
109109

110+
type TasksPage[T any] struct {
111+
Tasks []T `json:"tasks"`
112+
NextToken string `json:"nextToken"`
113+
JSON tasksPageJSON `json:"-"`
114+
cfg *requestconfig.RequestConfig
115+
res *http.Response
116+
}
117+
118+
// tasksPageJSON contains the JSON metadata for the struct [TasksPage[T]]
119+
type tasksPageJSON struct {
120+
Tasks apijson.Field
121+
NextToken apijson.Field
122+
raw string
123+
ExtraFields map[string]apijson.Field
124+
}
125+
126+
func (r *TasksPage[T]) UnmarshalJSON(data []byte) (err error) {
127+
return apijson.UnmarshalRoot(data, r)
128+
}
129+
130+
func (r tasksPageJSON) RawJSON() string {
131+
return r.raw
132+
}
133+
134+
// GetNextPage returns the next page as defined by this pagination style. When
135+
// there is no next page, this function will return a 'nil' for the page value, but
136+
// will not return an error
137+
func (r *TasksPage[T]) GetNextPage() (res *TasksPage[T], err error) {
138+
next := r.NextToken
139+
if len(next) == 0 {
140+
return nil, nil
141+
}
142+
cfg := r.cfg.Clone(r.cfg.Context)
143+
cfg.Apply(option.WithQuery("token", next))
144+
var raw *http.Response
145+
cfg.ResponseInto = &raw
146+
cfg.ResponseBodyInto = &res
147+
err = cfg.Execute()
148+
if err != nil {
149+
return nil, err
150+
}
151+
res.SetPageConfig(cfg, raw)
152+
return res, nil
153+
}
154+
155+
func (r *TasksPage[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
156+
if r == nil {
157+
r = &TasksPage[T]{}
158+
}
159+
r.cfg = cfg
160+
r.res = res
161+
}
162+
163+
type TasksPageAutoPager[T any] struct {
164+
page *TasksPage[T]
165+
cur T
166+
idx int
167+
run int
168+
err error
169+
}
170+
171+
func NewTasksPageAutoPager[T any](page *TasksPage[T], err error) *TasksPageAutoPager[T] {
172+
return &TasksPageAutoPager[T]{
173+
page: page,
174+
err: err,
175+
}
176+
}
177+
178+
func (r *TasksPageAutoPager[T]) Next() bool {
179+
if r.page == nil || len(r.page.Tasks) == 0 {
180+
return false
181+
}
182+
if r.idx >= len(r.page.Tasks) {
183+
r.idx = 0
184+
r.page, r.err = r.page.GetNextPage()
185+
if r.err != nil || r.page == nil || len(r.page.Tasks) == 0 {
186+
return false
187+
}
188+
}
189+
r.cur = r.page.Tasks[r.idx]
190+
r.run += 1
191+
r.idx += 1
192+
return true
193+
}
194+
195+
func (r *TasksPageAutoPager[T]) Current() T {
196+
return r.cur
197+
}
198+
199+
func (r *TasksPageAutoPager[T]) Err() error {
200+
return r.err
201+
}
202+
203+
func (r *TasksPageAutoPager[T]) Index() int {
204+
return r.run
205+
}
206+
110207
type TaskExecutionsPage[T any] struct {
111208
TaskExecutions []T `json:"taskExecutions"`
112209
NextToken string `json:"nextToken"`
@@ -204,3 +301,101 @@ func (r *TaskExecutionsPageAutoPager[T]) Err() error {
204301
func (r *TaskExecutionsPageAutoPager[T]) Index() int {
205302
return r.run
206303
}
304+
305+
type EnvironnmentClassesPage[T any] struct {
306+
EnvironmentClasses []T `json:"environmentClasses"`
307+
NextToken string `json:"nextToken"`
308+
JSON environnmentClassesPageJSON `json:"-"`
309+
cfg *requestconfig.RequestConfig
310+
res *http.Response
311+
}
312+
313+
// environnmentClassesPageJSON contains the JSON metadata for the struct
314+
// [EnvironnmentClassesPage[T]]
315+
type environnmentClassesPageJSON struct {
316+
EnvironmentClasses apijson.Field
317+
NextToken apijson.Field
318+
raw string
319+
ExtraFields map[string]apijson.Field
320+
}
321+
322+
func (r *EnvironnmentClassesPage[T]) UnmarshalJSON(data []byte) (err error) {
323+
return apijson.UnmarshalRoot(data, r)
324+
}
325+
326+
func (r environnmentClassesPageJSON) RawJSON() string {
327+
return r.raw
328+
}
329+
330+
// GetNextPage returns the next page as defined by this pagination style. When
331+
// there is no next page, this function will return a 'nil' for the page value, but
332+
// will not return an error
333+
func (r *EnvironnmentClassesPage[T]) GetNextPage() (res *EnvironnmentClassesPage[T], err error) {
334+
next := r.NextToken
335+
if len(next) == 0 {
336+
return nil, nil
337+
}
338+
cfg := r.cfg.Clone(r.cfg.Context)
339+
cfg.Apply(option.WithQuery("token", next))
340+
var raw *http.Response
341+
cfg.ResponseInto = &raw
342+
cfg.ResponseBodyInto = &res
343+
err = cfg.Execute()
344+
if err != nil {
345+
return nil, err
346+
}
347+
res.SetPageConfig(cfg, raw)
348+
return res, nil
349+
}
350+
351+
func (r *EnvironnmentClassesPage[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
352+
if r == nil {
353+
r = &EnvironnmentClassesPage[T]{}
354+
}
355+
r.cfg = cfg
356+
r.res = res
357+
}
358+
359+
type EnvironnmentClassesPageAutoPager[T any] struct {
360+
page *EnvironnmentClassesPage[T]
361+
cur T
362+
idx int
363+
run int
364+
err error
365+
}
366+
367+
func NewEnvironnmentClassesPageAutoPager[T any](page *EnvironnmentClassesPage[T], err error) *EnvironnmentClassesPageAutoPager[T] {
368+
return &EnvironnmentClassesPageAutoPager[T]{
369+
page: page,
370+
err: err,
371+
}
372+
}
373+
374+
func (r *EnvironnmentClassesPageAutoPager[T]) Next() bool {
375+
if r.page == nil || len(r.page.EnvironmentClasses) == 0 {
376+
return false
377+
}
378+
if r.idx >= len(r.page.EnvironmentClasses) {
379+
r.idx = 0
380+
r.page, r.err = r.page.GetNextPage()
381+
if r.err != nil || r.page == nil || len(r.page.EnvironmentClasses) == 0 {
382+
return false
383+
}
384+
}
385+
r.cur = r.page.EnvironmentClasses[r.idx]
386+
r.run += 1
387+
r.idx += 1
388+
return true
389+
}
390+
391+
func (r *EnvironnmentClassesPageAutoPager[T]) Current() T {
392+
return r.cur
393+
}
394+
395+
func (r *EnvironnmentClassesPageAutoPager[T]) Err() error {
396+
return r.err
397+
}
398+
399+
func (r *EnvironnmentClassesPageAutoPager[T]) Index() int {
400+
return r.run
401+
}

0 commit comments

Comments
 (0)