Skip to content

Commit 71ee99c

Browse files
feat(api): api update
1 parent 7f640aa commit 71ee99c

File tree

6 files changed

+254
-37
lines changed

6 files changed

+254
-37
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 1769
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-5c876b177dbba3599b1318016d08090007ae62b19c8b16a3ca5c1f8b2f87c6da.yml
3-
openapi_spec_hash: 29e6443234745412b8d74e8728eb477c
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-39e4b2fb9790bb8423896c1bb946e7678e6b92593a16dbd5ae95b9a362dc3122.yml
3+
openapi_spec_hash: 6c754370b2fe531dcc849359b69d26c9
44
config_hash: 18e6b76de8b719dd7c9c28614ac32643

accounts/tokenpermissiongroup.go

Lines changed: 214 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ import (
77
"errors"
88
"fmt"
99
"net/http"
10+
"net/url"
1011

1112
"github.com/cloudflare/cloudflare-go/v4/internal/apijson"
13+
"github.com/cloudflare/cloudflare-go/v4/internal/apiquery"
1214
"github.com/cloudflare/cloudflare-go/v4/internal/param"
1315
"github.com/cloudflare/cloudflare-go/v4/internal/requestconfig"
1416
"github.com/cloudflare/cloudflare-go/v4/option"
@@ -35,16 +37,16 @@ func NewTokenPermissionGroupService(opts ...option.RequestOption) (r *TokenPermi
3537
}
3638

3739
// Find all available permission groups for Account Owned API Tokens
38-
func (r *TokenPermissionGroupService) List(ctx context.Context, query TokenPermissionGroupListParams, opts ...option.RequestOption) (res *pagination.SinglePage[TokenPermissionGroupListResponse], err error) {
40+
func (r *TokenPermissionGroupService) List(ctx context.Context, params TokenPermissionGroupListParams, opts ...option.RequestOption) (res *pagination.SinglePage[TokenPermissionGroupListResponse], err error) {
3941
var raw *http.Response
4042
opts = append(r.Options[:], opts...)
4143
opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
42-
if query.AccountID.Value == "" {
44+
if params.AccountID.Value == "" {
4345
err = errors.New("missing required account_id parameter")
4446
return
4547
}
46-
path := fmt.Sprintf("accounts/%s/tokens/permission_groups", query.AccountID)
47-
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, nil, &res, opts...)
48+
path := fmt.Sprintf("accounts/%s/tokens/permission_groups", params.AccountID)
49+
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, params, &res, opts...)
4850
if err != nil {
4951
return nil, err
5052
}
@@ -57,35 +59,25 @@ func (r *TokenPermissionGroupService) List(ctx context.Context, query TokenPermi
5759
}
5860

5961
// Find all available permission groups for Account Owned API Tokens
60-
func (r *TokenPermissionGroupService) ListAutoPaging(ctx context.Context, query TokenPermissionGroupListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[TokenPermissionGroupListResponse] {
61-
return pagination.NewSinglePageAutoPager(r.List(ctx, query, opts...))
62+
func (r *TokenPermissionGroupService) ListAutoPaging(ctx context.Context, params TokenPermissionGroupListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[TokenPermissionGroupListResponse] {
63+
return pagination.NewSinglePageAutoPager(r.List(ctx, params, opts...))
6264
}
6365

6466
// Find all available permission groups for Account Owned API Tokens
65-
func (r *TokenPermissionGroupService) Get(ctx context.Context, query TokenPermissionGroupGetParams, opts ...option.RequestOption) (res *pagination.SinglePage[TokenPermissionGroupGetResponse], err error) {
66-
var raw *http.Response
67+
func (r *TokenPermissionGroupService) Get(ctx context.Context, params TokenPermissionGroupGetParams, opts ...option.RequestOption) (res *[]TokenPermissionGroupGetResponse, err error) {
68+
var env TokenPermissionGroupGetResponseEnvelope
6769
opts = append(r.Options[:], opts...)
68-
opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
69-
if query.AccountID.Value == "" {
70+
if params.AccountID.Value == "" {
7071
err = errors.New("missing required account_id parameter")
7172
return
7273
}
73-
path := fmt.Sprintf("accounts/%s/tokens/permission_groups", query.AccountID)
74-
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, nil, &res, opts...)
75-
if err != nil {
76-
return nil, err
77-
}
78-
err = cfg.Execute()
74+
path := fmt.Sprintf("accounts/%s/tokens/permission_groups", params.AccountID)
75+
err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, params, &env, opts...)
7976
if err != nil {
80-
return nil, err
77+
return
8178
}
82-
res.SetPageConfig(cfg, raw)
83-
return res, nil
84-
}
85-
86-
// Find all available permission groups for Account Owned API Tokens
87-
func (r *TokenPermissionGroupService) GetAutoPaging(ctx context.Context, query TokenPermissionGroupGetParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[TokenPermissionGroupGetResponse] {
88-
return pagination.NewSinglePageAutoPager(r.Get(ctx, query, opts...))
79+
res = &env.Result
80+
return
8981
}
9082

9183
type TokenPermissionGroupListResponse struct {
@@ -181,9 +173,207 @@ func (r TokenPermissionGroupGetResponseScope) IsKnown() bool {
181173
type TokenPermissionGroupListParams struct {
182174
// Account identifier tag.
183175
AccountID param.Field[string] `path:"account_id,required"`
176+
// Filter by the name of the permission group. The value must be URL-encoded.
177+
Name param.Field[string] `query:"name"`
178+
// Filter by the scope of the permission group. The value must be URL-encoded.
179+
Scope param.Field[string] `query:"scope"`
180+
}
181+
182+
// URLQuery serializes [TokenPermissionGroupListParams]'s query parameters as
183+
// `url.Values`.
184+
func (r TokenPermissionGroupListParams) URLQuery() (v url.Values) {
185+
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
186+
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
187+
NestedFormat: apiquery.NestedQueryFormatDots,
188+
})
184189
}
185190

186191
type TokenPermissionGroupGetParams struct {
187192
// Account identifier tag.
188193
AccountID param.Field[string] `path:"account_id,required"`
194+
// Filter by the name of the permission group. The value must be URL-encoded.
195+
Name param.Field[string] `query:"name"`
196+
// Filter by the scope of the permission group. The value must be URL-encoded.
197+
Scope param.Field[string] `query:"scope"`
198+
}
199+
200+
// URLQuery serializes [TokenPermissionGroupGetParams]'s query parameters as
201+
// `url.Values`.
202+
func (r TokenPermissionGroupGetParams) URLQuery() (v url.Values) {
203+
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
204+
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
205+
NestedFormat: apiquery.NestedQueryFormatDots,
206+
})
207+
}
208+
209+
type TokenPermissionGroupGetResponseEnvelope struct {
210+
Errors []TokenPermissionGroupGetResponseEnvelopeErrors `json:"errors,required"`
211+
Messages []TokenPermissionGroupGetResponseEnvelopeMessages `json:"messages,required"`
212+
// Whether the API call was successful.
213+
Success TokenPermissionGroupGetResponseEnvelopeSuccess `json:"success,required"`
214+
Result []TokenPermissionGroupGetResponse `json:"result"`
215+
ResultInfo TokenPermissionGroupGetResponseEnvelopeResultInfo `json:"result_info"`
216+
JSON tokenPermissionGroupGetResponseEnvelopeJSON `json:"-"`
217+
}
218+
219+
// tokenPermissionGroupGetResponseEnvelopeJSON contains the JSON metadata for the
220+
// struct [TokenPermissionGroupGetResponseEnvelope]
221+
type tokenPermissionGroupGetResponseEnvelopeJSON struct {
222+
Errors apijson.Field
223+
Messages apijson.Field
224+
Success apijson.Field
225+
Result apijson.Field
226+
ResultInfo apijson.Field
227+
raw string
228+
ExtraFields map[string]apijson.Field
229+
}
230+
231+
func (r *TokenPermissionGroupGetResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
232+
return apijson.UnmarshalRoot(data, r)
233+
}
234+
235+
func (r tokenPermissionGroupGetResponseEnvelopeJSON) RawJSON() string {
236+
return r.raw
237+
}
238+
239+
type TokenPermissionGroupGetResponseEnvelopeErrors struct {
240+
Code int64 `json:"code,required"`
241+
Message string `json:"message,required"`
242+
DocumentationURL string `json:"documentation_url"`
243+
Source TokenPermissionGroupGetResponseEnvelopeErrorsSource `json:"source"`
244+
JSON tokenPermissionGroupGetResponseEnvelopeErrorsJSON `json:"-"`
245+
}
246+
247+
// tokenPermissionGroupGetResponseEnvelopeErrorsJSON contains the JSON metadata for
248+
// the struct [TokenPermissionGroupGetResponseEnvelopeErrors]
249+
type tokenPermissionGroupGetResponseEnvelopeErrorsJSON struct {
250+
Code apijson.Field
251+
Message apijson.Field
252+
DocumentationURL apijson.Field
253+
Source apijson.Field
254+
raw string
255+
ExtraFields map[string]apijson.Field
256+
}
257+
258+
func (r *TokenPermissionGroupGetResponseEnvelopeErrors) UnmarshalJSON(data []byte) (err error) {
259+
return apijson.UnmarshalRoot(data, r)
260+
}
261+
262+
func (r tokenPermissionGroupGetResponseEnvelopeErrorsJSON) RawJSON() string {
263+
return r.raw
264+
}
265+
266+
type TokenPermissionGroupGetResponseEnvelopeErrorsSource struct {
267+
Pointer string `json:"pointer"`
268+
JSON tokenPermissionGroupGetResponseEnvelopeErrorsSourceJSON `json:"-"`
269+
}
270+
271+
// tokenPermissionGroupGetResponseEnvelopeErrorsSourceJSON contains the JSON
272+
// metadata for the struct [TokenPermissionGroupGetResponseEnvelopeErrorsSource]
273+
type tokenPermissionGroupGetResponseEnvelopeErrorsSourceJSON struct {
274+
Pointer apijson.Field
275+
raw string
276+
ExtraFields map[string]apijson.Field
277+
}
278+
279+
func (r *TokenPermissionGroupGetResponseEnvelopeErrorsSource) UnmarshalJSON(data []byte) (err error) {
280+
return apijson.UnmarshalRoot(data, r)
281+
}
282+
283+
func (r tokenPermissionGroupGetResponseEnvelopeErrorsSourceJSON) RawJSON() string {
284+
return r.raw
285+
}
286+
287+
type TokenPermissionGroupGetResponseEnvelopeMessages struct {
288+
Code int64 `json:"code,required"`
289+
Message string `json:"message,required"`
290+
DocumentationURL string `json:"documentation_url"`
291+
Source TokenPermissionGroupGetResponseEnvelopeMessagesSource `json:"source"`
292+
JSON tokenPermissionGroupGetResponseEnvelopeMessagesJSON `json:"-"`
293+
}
294+
295+
// tokenPermissionGroupGetResponseEnvelopeMessagesJSON contains the JSON metadata
296+
// for the struct [TokenPermissionGroupGetResponseEnvelopeMessages]
297+
type tokenPermissionGroupGetResponseEnvelopeMessagesJSON struct {
298+
Code apijson.Field
299+
Message apijson.Field
300+
DocumentationURL apijson.Field
301+
Source apijson.Field
302+
raw string
303+
ExtraFields map[string]apijson.Field
304+
}
305+
306+
func (r *TokenPermissionGroupGetResponseEnvelopeMessages) UnmarshalJSON(data []byte) (err error) {
307+
return apijson.UnmarshalRoot(data, r)
308+
}
309+
310+
func (r tokenPermissionGroupGetResponseEnvelopeMessagesJSON) RawJSON() string {
311+
return r.raw
312+
}
313+
314+
type TokenPermissionGroupGetResponseEnvelopeMessagesSource struct {
315+
Pointer string `json:"pointer"`
316+
JSON tokenPermissionGroupGetResponseEnvelopeMessagesSourceJSON `json:"-"`
317+
}
318+
319+
// tokenPermissionGroupGetResponseEnvelopeMessagesSourceJSON contains the JSON
320+
// metadata for the struct [TokenPermissionGroupGetResponseEnvelopeMessagesSource]
321+
type tokenPermissionGroupGetResponseEnvelopeMessagesSourceJSON struct {
322+
Pointer apijson.Field
323+
raw string
324+
ExtraFields map[string]apijson.Field
325+
}
326+
327+
func (r *TokenPermissionGroupGetResponseEnvelopeMessagesSource) UnmarshalJSON(data []byte) (err error) {
328+
return apijson.UnmarshalRoot(data, r)
329+
}
330+
331+
func (r tokenPermissionGroupGetResponseEnvelopeMessagesSourceJSON) RawJSON() string {
332+
return r.raw
333+
}
334+
335+
// Whether the API call was successful.
336+
type TokenPermissionGroupGetResponseEnvelopeSuccess bool
337+
338+
const (
339+
TokenPermissionGroupGetResponseEnvelopeSuccessTrue TokenPermissionGroupGetResponseEnvelopeSuccess = true
340+
)
341+
342+
func (r TokenPermissionGroupGetResponseEnvelopeSuccess) IsKnown() bool {
343+
switch r {
344+
case TokenPermissionGroupGetResponseEnvelopeSuccessTrue:
345+
return true
346+
}
347+
return false
348+
}
349+
350+
type TokenPermissionGroupGetResponseEnvelopeResultInfo struct {
351+
// Total number of results for the requested service
352+
Count float64 `json:"count"`
353+
// Current page within paginated list of results
354+
Page float64 `json:"page"`
355+
// Number of results per page of results
356+
PerPage float64 `json:"per_page"`
357+
// Total results available without any search parameters
358+
TotalCount float64 `json:"total_count"`
359+
JSON tokenPermissionGroupGetResponseEnvelopeResultInfoJSON `json:"-"`
360+
}
361+
362+
// tokenPermissionGroupGetResponseEnvelopeResultInfoJSON contains the JSON metadata
363+
// for the struct [TokenPermissionGroupGetResponseEnvelopeResultInfo]
364+
type tokenPermissionGroupGetResponseEnvelopeResultInfoJSON struct {
365+
Count apijson.Field
366+
Page apijson.Field
367+
PerPage apijson.Field
368+
TotalCount apijson.Field
369+
raw string
370+
ExtraFields map[string]apijson.Field
371+
}
372+
373+
func (r *TokenPermissionGroupGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error) {
374+
return apijson.UnmarshalRoot(data, r)
375+
}
376+
377+
func (r tokenPermissionGroupGetResponseEnvelopeResultInfoJSON) RawJSON() string {
378+
return r.raw
189379
}

accounts/tokenpermissiongroup_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"github.com/cloudflare/cloudflare-go/v4/option"
1515
)
1616

17-
func TestTokenPermissionGroupList(t *testing.T) {
17+
func TestTokenPermissionGroupListWithOptionalParams(t *testing.T) {
1818
t.Skip("TODO: investigate broken test")
1919
baseURL := "http://localhost:4010"
2020
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
@@ -30,6 +30,8 @@ func TestTokenPermissionGroupList(t *testing.T) {
3030
)
3131
_, err := client.Accounts.Tokens.PermissionGroups.List(context.TODO(), accounts.TokenPermissionGroupListParams{
3232
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
33+
Name: cloudflare.F("Account%20Settings%20Write"),
34+
Scope: cloudflare.F("com.cloudflare.api.account.zone"),
3335
})
3436
if err != nil {
3537
var apierr *cloudflare.Error
@@ -40,7 +42,7 @@ func TestTokenPermissionGroupList(t *testing.T) {
4042
}
4143
}
4244

43-
func TestTokenPermissionGroupGet(t *testing.T) {
45+
func TestTokenPermissionGroupGetWithOptionalParams(t *testing.T) {
4446
t.Skip("TODO: investigate broken test")
4547
baseURL := "http://localhost:4010"
4648
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
@@ -56,6 +58,8 @@ func TestTokenPermissionGroupGet(t *testing.T) {
5658
)
5759
_, err := client.Accounts.Tokens.PermissionGroups.Get(context.TODO(), accounts.TokenPermissionGroupGetParams{
5860
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
61+
Name: cloudflare.F("Account%20Settings%20Write"),
62+
Scope: cloudflare.F("com.cloudflare.api.account.zone"),
5963
})
6064
if err != nil {
6165
var apierr *cloudflare.Error

0 commit comments

Comments
 (0)