Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): OpenAPI spec update via Stainless API #2106

Merged
merged 1 commit into from
May 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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-ae9c24759a71468298d37ae7aa05d4b1162e756e77597ba8fcd49c7ea2b4ac6b.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-2182de20fb3bd47b4dca83f00f0dd21dcfc8b8c2d24ad81b9751011a4d94765d.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
Loading