Skip to content

Commit

Permalink
feat(api): OpenAPI spec update via Stainless API (#2077)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed May 17, 2024
1 parent a9b5599 commit 33c6b18
Show file tree
Hide file tree
Showing 7 changed files with 251 additions and 144 deletions.
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 1296
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-2c59ba17fb766d9e90a181533e4a331d5bd1f1bf9d2f4ede385e68a40eed3c15.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-da87625c4b73e80b854a5d9c24c950c288ffc20910e51369326afa5749108968.yml
12 changes: 6 additions & 6 deletions api.md

Large diffs are not rendered by default.

132 changes: 83 additions & 49 deletions cloudforce_one/request.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"context"
"fmt"
"net/http"
"reflect"
"time"

"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
Expand All @@ -14,6 +15,7 @@ import (
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/option"
"github.com/cloudflare/cloudflare-go/v2/shared"
"github.com/tidwall/gjson"
)

// RequestService contains methods and other services that help with interacting
Expand Down Expand Up @@ -93,10 +95,15 @@ func (r *RequestService) ListAutoPaging(ctx context.Context, accountIdentifier s
}

// Delete a Request
func (r *RequestService) Delete(ctx context.Context, accountIdentifier string, requestIdentifier string, opts ...option.RequestOption) (res *RequestDeleteResponse, err error) {
func (r *RequestService) Delete(ctx context.Context, accountIdentifier string, requestIdentifier string, opts ...option.RequestOption) (res *RequestDeleteResponseUnion, err error) {
opts = append(r.Options[:], opts...)
var env RequestDeleteResponseEnvelope
path := fmt.Sprintf("accounts/%s/cloudforce-one/requests/%s", accountIdentifier, requestIdentifier)
err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, nil, &res, opts...)
err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, nil, &env, opts...)
if err != nil {
return
}
res = &env.Result
return
}

Expand Down Expand Up @@ -464,46 +471,30 @@ func (r RequestConstantsTlp) IsKnown() bool {

type RequestTypes []string

type RequestDeleteResponse struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
// Whether the API call was successful
Success RequestDeleteResponseSuccess `json:"success,required"`
JSON requestDeleteResponseJSON `json:"-"`
}

// requestDeleteResponseJSON contains the JSON metadata for the struct
// [RequestDeleteResponse]
type requestDeleteResponseJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

func (r *RequestDeleteResponse) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
// Union satisfied by [cloudforce_one.RequestDeleteResponseUnknown],
// [cloudforce_one.RequestDeleteResponseArray] or [shared.UnionString].
type RequestDeleteResponseUnion interface {
ImplementsCloudforceOneRequestDeleteResponseUnion()
}

func (r requestDeleteResponseJSON) RawJSON() string {
return r.raw
func init() {
apijson.RegisterUnion(
reflect.TypeOf((*RequestDeleteResponseUnion)(nil)).Elem(),
"",
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(RequestDeleteResponseArray{}),
},
apijson.UnionVariant{
TypeFilter: gjson.String,
Type: reflect.TypeOf(shared.UnionString("")),
},
)
}

// Whether the API call was successful
type RequestDeleteResponseSuccess bool
type RequestDeleteResponseArray []interface{}

const (
RequestDeleteResponseSuccessTrue RequestDeleteResponseSuccess = true
)

func (r RequestDeleteResponseSuccess) IsKnown() bool {
switch r {
case RequestDeleteResponseSuccessTrue:
return true
}
return false
}
func (r RequestDeleteResponseArray) ImplementsCloudforceOneRequestDeleteResponseUnion() {}

type RequestNewParams struct {
// Request content
Expand Down Expand Up @@ -544,9 +535,9 @@ func (r RequestNewParamsTlp) IsKnown() bool {
type RequestNewResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Result Item `json:"result,required"`
// Whether the API call was successful
Success RequestNewResponseEnvelopeSuccess `json:"success,required"`
Result Item `json:"result"`
JSON requestNewResponseEnvelopeJSON `json:"-"`
}

Expand All @@ -555,8 +546,8 @@ type RequestNewResponseEnvelope struct {
type requestNewResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
Expand Down Expand Up @@ -623,9 +614,9 @@ func (r RequestUpdateParamsTlp) IsKnown() bool {
type RequestUpdateResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Result Item `json:"result,required"`
// Whether the API call was successful
Success RequestUpdateResponseEnvelopeSuccess `json:"success,required"`
Result Item `json:"result"`
JSON requestUpdateResponseEnvelopeJSON `json:"-"`
}

Expand All @@ -634,8 +625,8 @@ type RequestUpdateResponseEnvelope struct {
type requestUpdateResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
Expand Down Expand Up @@ -726,12 +717,55 @@ func (r RequestListParamsStatus) IsKnown() bool {
return false
}

type RequestDeleteResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Result RequestDeleteResponseUnion `json:"result,required"`
// Whether the API call was successful
Success RequestDeleteResponseEnvelopeSuccess `json:"success,required"`
JSON requestDeleteResponseEnvelopeJSON `json:"-"`
}

// requestDeleteResponseEnvelopeJSON contains the JSON metadata for the struct
// [RequestDeleteResponseEnvelope]
type requestDeleteResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

func (r *RequestDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}

func (r requestDeleteResponseEnvelopeJSON) RawJSON() string {
return r.raw
}

// Whether the API call was successful
type RequestDeleteResponseEnvelopeSuccess bool

const (
RequestDeleteResponseEnvelopeSuccessTrue RequestDeleteResponseEnvelopeSuccess = true
)

func (r RequestDeleteResponseEnvelopeSuccess) IsKnown() bool {
switch r {
case RequestDeleteResponseEnvelopeSuccessTrue:
return true
}
return false
}

type RequestConstantsResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Result RequestConstants `json:"result,required"`
// Whether the API call was successful
Success RequestConstantsResponseEnvelopeSuccess `json:"success,required"`
Result RequestConstants `json:"result"`
JSON requestConstantsResponseEnvelopeJSON `json:"-"`
}

Expand All @@ -740,8 +774,8 @@ type RequestConstantsResponseEnvelope struct {
type requestConstantsResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
Expand Down Expand Up @@ -772,9 +806,9 @@ func (r RequestConstantsResponseEnvelopeSuccess) IsKnown() bool {
type RequestGetResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Result Item `json:"result,required"`
// Whether the API call was successful
Success RequestGetResponseEnvelopeSuccess `json:"success,required"`
Result Item `json:"result"`
JSON requestGetResponseEnvelopeJSON `json:"-"`
}

Expand All @@ -783,8 +817,8 @@ type RequestGetResponseEnvelope struct {
type requestGetResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
Expand Down Expand Up @@ -815,9 +849,9 @@ func (r RequestGetResponseEnvelopeSuccess) IsKnown() bool {
type RequestQuotaResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Result Quota `json:"result,required"`
// Whether the API call was successful
Success RequestQuotaResponseEnvelopeSuccess `json:"success,required"`
Result Quota `json:"result"`
JSON requestQuotaResponseEnvelopeJSON `json:"-"`
}

Expand All @@ -826,8 +860,8 @@ type RequestQuotaResponseEnvelope struct {
type requestQuotaResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
Expand Down Expand Up @@ -858,9 +892,9 @@ func (r RequestQuotaResponseEnvelopeSuccess) IsKnown() bool {
type RequestTypesResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Result RequestTypes `json:"result,required"`
// Whether the API call was successful
Success RequestTypesResponseEnvelopeSuccess `json:"success,required"`
Result RequestTypes `json:"result"`
JSON requestTypesResponseEnvelopeJSON `json:"-"`
}

Expand All @@ -869,8 +903,8 @@ type RequestTypesResponseEnvelope struct {
type requestTypesResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
Expand Down

0 comments on commit 33c6b18

Please sign in to comment.