Skip to content

Commit

Permalink
feat(api): api update (#3621)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed Nov 19, 2024
1 parent 806e26b commit dacc8de
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 1,156 deletions.
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 1417
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-4c49562d088783434a838d9fb04f3a71514aaf0ee9096dabf65e3ae0825b8756.yml
configured_endpoints: 1411
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-d8a11058191753bacee9c070940904a1318942d364a2420ad1e253bd450b2bcf.yml
24 changes: 0 additions & 24 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1155,34 +1155,10 @@ Methods:

## Phishguard

Response Types:

- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#PhishguardListResponse">PhishguardListResponse</a>

Methods:

- <code title="get /accounts/{account_id}/email-security/phishguard/reports">client.EmailSecurity.Phishguard.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#PhishguardService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#PhishguardListParams">PhishguardListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#PhishguardListResponse">PhishguardListResponse</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

## Settings

### AllowPatterns

Response Types:

- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternNewResponseUnion">SettingAllowPatternNewResponseUnion</a>
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternListResponse">SettingAllowPatternListResponse</a>
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternDeleteResponse">SettingAllowPatternDeleteResponse</a>
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternEditResponse">SettingAllowPatternEditResponse</a>
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternGetResponse">SettingAllowPatternGetResponse</a>

Methods:

- <code title="post /accounts/{account_id}/email-security/settings/allow_patterns">client.EmailSecurity.Settings.AllowPatterns.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternNewParams">SettingAllowPatternNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternNewResponseUnion">SettingAllowPatternNewResponseUnion</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="get /accounts/{account_id}/email-security/settings/allow_patterns">client.EmailSecurity.Settings.AllowPatterns.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternListParams">SettingAllowPatternListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#V4PagePaginationArray">V4PagePaginationArray</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternListResponse">SettingAllowPatternListResponse</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="delete /accounts/{account_id}/email-security/settings/allow_patterns/{pattern_id}">client.EmailSecurity.Settings.AllowPatterns.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, patternID <a href="https://pkg.go.dev/builtin#int64">int64</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternDeleteParams">SettingAllowPatternDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternDeleteResponse">SettingAllowPatternDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="patch /accounts/{account_id}/email-security/settings/allow_patterns/{pattern_id}">client.EmailSecurity.Settings.AllowPatterns.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternService.Edit">Edit</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, patternID <a href="https://pkg.go.dev/builtin#int64">int64</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternEditParams">SettingAllowPatternEditParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternEditResponse">SettingAllowPatternEditResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="get /accounts/{account_id}/email-security/settings/allow_patterns/{pattern_id}">client.EmailSecurity.Settings.AllowPatterns.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, patternID <a href="https://pkg.go.dev/builtin#int64">int64</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternGetParams">SettingAllowPatternGetParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security">email_security</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/email_security#SettingAllowPatternGetResponse">SettingAllowPatternGetResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

### BlockSenders

Response Types:
Expand Down
162 changes: 0 additions & 162 deletions email_security/phishguard.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,7 @@
package email_security

import (
"context"
"errors"
"fmt"
"net/http"
"net/url"
"time"

"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
"github.com/cloudflare/cloudflare-go/v3/internal/apiquery"
"github.com/cloudflare/cloudflare-go/v3/internal/param"
"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v3/option"
"github.com/cloudflare/cloudflare-go/v3/packages/pagination"
)

// PhishguardService contains methods and other services that help with interacting
Expand All @@ -36,153 +24,3 @@ func NewPhishguardService(opts ...option.RequestOption) (r *PhishguardService) {
r.Options = opts
return
}

// Get PhishGuard reports
func (r *PhishguardService) List(ctx context.Context, params PhishguardListParams, opts ...option.RequestOption) (res *pagination.SinglePage[PhishguardListResponse], err error) {
var raw *http.Response
opts = append(r.Options[:], opts...)
opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
if params.AccountID.Value == "" {
err = errors.New("missing required account_id parameter")
return
}
path := fmt.Sprintf("accounts/%s/email-security/phishguard/reports", params.AccountID)
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, params, &res, opts...)
if err != nil {
return nil, err
}
err = cfg.Execute()
if err != nil {
return nil, err
}
res.SetPageConfig(cfg, raw)
return res, nil
}

// Get PhishGuard reports
func (r *PhishguardService) ListAutoPaging(ctx context.Context, params PhishguardListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[PhishguardListResponse] {
return pagination.NewSinglePageAutoPager(r.List(ctx, params, opts...))
}

type PhishguardListResponse struct {
ID int64 `json:"id,required"`
Content string `json:"content,required"`
Disposition PhishguardListResponseDisposition `json:"disposition,required"`
Fields PhishguardListResponseFields `json:"fields,required"`
Priority string `json:"priority,required"`
Title string `json:"title,required"`
Ts time.Time `json:"ts,required" format:"date-time"`
Tags []PhishguardListResponseTag `json:"tags,nullable"`
JSON phishguardListResponseJSON `json:"-"`
}

// phishguardListResponseJSON contains the JSON metadata for the struct
// [PhishguardListResponse]
type phishguardListResponseJSON struct {
ID apijson.Field
Content apijson.Field
Disposition apijson.Field
Fields apijson.Field
Priority apijson.Field
Title apijson.Field
Ts apijson.Field
Tags apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

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

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

type PhishguardListResponseDisposition string

const (
PhishguardListResponseDispositionMalicious PhishguardListResponseDisposition = "MALICIOUS"
PhishguardListResponseDispositionMaliciousBec PhishguardListResponseDisposition = "MALICIOUS-BEC"
PhishguardListResponseDispositionSuspicious PhishguardListResponseDisposition = "SUSPICIOUS"
PhishguardListResponseDispositionSpoof PhishguardListResponseDisposition = "SPOOF"
PhishguardListResponseDispositionSpam PhishguardListResponseDisposition = "SPAM"
PhishguardListResponseDispositionBulk PhishguardListResponseDisposition = "BULK"
PhishguardListResponseDispositionEncrypted PhishguardListResponseDisposition = "ENCRYPTED"
PhishguardListResponseDispositionExternal PhishguardListResponseDisposition = "EXTERNAL"
PhishguardListResponseDispositionUnknown PhishguardListResponseDisposition = "UNKNOWN"
PhishguardListResponseDispositionNone PhishguardListResponseDisposition = "NONE"
)

func (r PhishguardListResponseDisposition) IsKnown() bool {
switch r {
case PhishguardListResponseDispositionMalicious, PhishguardListResponseDispositionMaliciousBec, PhishguardListResponseDispositionSuspicious, PhishguardListResponseDispositionSpoof, PhishguardListResponseDispositionSpam, PhishguardListResponseDispositionBulk, PhishguardListResponseDispositionEncrypted, PhishguardListResponseDispositionExternal, PhishguardListResponseDispositionUnknown, PhishguardListResponseDispositionNone:
return true
}
return false
}

type PhishguardListResponseFields struct {
PostfixID string `json:"postfix_id,required"`
To []string `json:"to,required"`
Ts time.Time `json:"ts,required" format:"date-time"`
From string `json:"from,nullable"`
JSON phishguardListResponseFieldsJSON `json:"-"`
}

// phishguardListResponseFieldsJSON contains the JSON metadata for the struct
// [PhishguardListResponseFields]
type phishguardListResponseFieldsJSON struct {
PostfixID apijson.Field
To apijson.Field
Ts apijson.Field
From apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

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

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

type PhishguardListResponseTag struct {
Category string `json:"category,required"`
Value string `json:"value,required"`
JSON phishguardListResponseTagJSON `json:"-"`
}

// phishguardListResponseTagJSON contains the JSON metadata for the struct
// [PhishguardListResponseTag]
type phishguardListResponseTagJSON struct {
Category apijson.Field
Value apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

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

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

type PhishguardListParams struct {
// Account Identifier
AccountID param.Field[string] `path:"account_id,required"`
FromDate param.Field[time.Time] `query:"from_date,required" format:"date"`
ToDate param.Field[time.Time] `query:"to_date,required" format:"date"`
}

// URLQuery serializes [PhishguardListParams]'s query parameters as `url.Values`.
func (r PhishguardListParams) URLQuery() (v url.Values) {
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
NestedFormat: apiquery.NestedQueryFormatDots,
})
}
43 changes: 0 additions & 43 deletions email_security/phishguard_test.go

This file was deleted.

Loading

0 comments on commit dacc8de

Please sign in to comment.