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): update via SDK Studio #1705

Merged
merged 1 commit into from
Apr 9, 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 +1 @@
configured_endpoints: 1274
configured_endpoints: 1251
118 changes: 111 additions & 7 deletions accounts/member.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import (
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/internal/shared"
"github.com/cloudflare/cloudflare-go/v2/option"
"github.com/cloudflare/cloudflare-go/v2/user"
)

// MemberService contains methods and other services that help with interacting
Expand Down Expand Up @@ -144,9 +143,9 @@ type MemberRole struct {
// Description of role's permissions.
Description string `json:"description,required"`
// Role name.
Name string `json:"name,required"`
Permissions user.Permission `json:"permissions,required"`
JSON memberRoleJSON `json:"-"`
Name string `json:"name,required"`
Permissions MemberRolesPermissions `json:"permissions,required"`
JSON memberRoleJSON `json:"-"`
}

// memberRoleJSON contains the JSON metadata for the struct [MemberRole]
Expand All @@ -167,6 +166,49 @@ func (r memberRoleJSON) RawJSON() string {
return r.raw
}

type MemberRolesPermissions struct {
Analytics PermissionGrant `json:"analytics"`
Billing PermissionGrant `json:"billing"`
CachePurge PermissionGrant `json:"cache_purge"`
DNS PermissionGrant `json:"dns"`
DNSRecords PermissionGrant `json:"dns_records"`
Lb PermissionGrant `json:"lb"`
Logs PermissionGrant `json:"logs"`
Organization PermissionGrant `json:"organization"`
SSL PermissionGrant `json:"ssl"`
WAF PermissionGrant `json:"waf"`
ZoneSettings PermissionGrant `json:"zone_settings"`
Zones PermissionGrant `json:"zones"`
JSON memberRolesPermissionsJSON `json:"-"`
}

// memberRolesPermissionsJSON contains the JSON metadata for the struct
// [MemberRolesPermissions]
type memberRolesPermissionsJSON struct {
Analytics apijson.Field
Billing apijson.Field
CachePurge apijson.Field
DNS apijson.Field
DNSRecords apijson.Field
Lb apijson.Field
Logs apijson.Field
Organization apijson.Field
SSL apijson.Field
WAF apijson.Field
ZoneSettings apijson.Field
Zones apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

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

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

type MemberUser struct {
// The contact email address of the user.
Email string `json:"email,required"`
Expand Down Expand Up @@ -241,9 +283,9 @@ type MemberWithInviteCodeRole struct {
// Description of role's permissions.
Description string `json:"description,required"`
// Role name.
Name string `json:"name,required"`
Permissions user.Permission `json:"permissions,required"`
JSON memberWithInviteCodeRoleJSON `json:"-"`
Name string `json:"name,required"`
Permissions MemberWithInviteCodeRolesPermissions `json:"permissions,required"`
JSON memberWithInviteCodeRoleJSON `json:"-"`
}

// memberWithInviteCodeRoleJSON contains the JSON metadata for the struct
Expand All @@ -265,6 +307,49 @@ func (r memberWithInviteCodeRoleJSON) RawJSON() string {
return r.raw
}

type MemberWithInviteCodeRolesPermissions struct {
Analytics PermissionGrant `json:"analytics"`
Billing PermissionGrant `json:"billing"`
CachePurge PermissionGrant `json:"cache_purge"`
DNS PermissionGrant `json:"dns"`
DNSRecords PermissionGrant `json:"dns_records"`
Lb PermissionGrant `json:"lb"`
Logs PermissionGrant `json:"logs"`
Organization PermissionGrant `json:"organization"`
SSL PermissionGrant `json:"ssl"`
WAF PermissionGrant `json:"waf"`
ZoneSettings PermissionGrant `json:"zone_settings"`
Zones PermissionGrant `json:"zones"`
JSON memberWithInviteCodeRolesPermissionsJSON `json:"-"`
}

// memberWithInviteCodeRolesPermissionsJSON contains the JSON metadata for the
// struct [MemberWithInviteCodeRolesPermissions]
type memberWithInviteCodeRolesPermissionsJSON struct {
Analytics apijson.Field
Billing apijson.Field
CachePurge apijson.Field
DNS apijson.Field
DNSRecords apijson.Field
Lb apijson.Field
Logs apijson.Field
Organization apijson.Field
SSL apijson.Field
WAF apijson.Field
ZoneSettings apijson.Field
Zones apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

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

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

type MemberWithInviteCodeUser struct {
// The contact email address of the user.
Email string `json:"email,required"`
Expand Down Expand Up @@ -462,6 +547,25 @@ func (r MemberUpdateParamsRole) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}

type MemberUpdateParamsRolesPermissions struct {
Analytics param.Field[PermissionGrantParam] `json:"analytics"`
Billing param.Field[PermissionGrantParam] `json:"billing"`
CachePurge param.Field[PermissionGrantParam] `json:"cache_purge"`
DNS param.Field[PermissionGrantParam] `json:"dns"`
DNSRecords param.Field[PermissionGrantParam] `json:"dns_records"`
Lb param.Field[PermissionGrantParam] `json:"lb"`
Logs param.Field[PermissionGrantParam] `json:"logs"`
Organization param.Field[PermissionGrantParam] `json:"organization"`
SSL param.Field[PermissionGrantParam] `json:"ssl"`
WAF param.Field[PermissionGrantParam] `json:"waf"`
ZoneSettings param.Field[PermissionGrantParam] `json:"zone_settings"`
Zones param.Field[PermissionGrantParam] `json:"zones"`
}

func (r MemberUpdateParamsRolesPermissions) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}

type MemberUpdateResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
Expand Down
4 changes: 2 additions & 2 deletions accounts/role.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ type Role struct {
// Role Name.
Name string `json:"name,required"`
// Access permissions for this User.
Permissions []user.PermissionItem `json:"permissions,required"`
JSON roleJSON `json:"-"`
Permissions []user.Permission `json:"permissions,required"`
JSON roleJSON `json:"-"`
}

// roleJSON contains the JSON metadata for the struct [Role]
Expand Down
Loading