From fcb61a52733bfc1a8dbb262ba5c673aa553aa0b1 Mon Sep 17 00:00:00 2001 From: stainless-bot Date: Wed, 3 Apr 2024 02:58:32 +0000 Subject: [PATCH] feat(api): update via SDK Studio --- accounts/member.go | 316 ++++++++++++++------------------------ accounts/role.go | 31 ++++ api.md | 23 +-- memberships/membership.go | 104 +------------ 4 files changed, 166 insertions(+), 308 deletions(-) diff --git a/accounts/member.go b/accounts/member.go index 4f31158df0e..fa539cad228 100644 --- a/accounts/member.go +++ b/accounts/member.go @@ -34,7 +34,7 @@ func NewMemberService(opts ...option.RequestOption) (r *MemberService) { } // Add a user to the list of members for this account. -func (r *MemberService) New(ctx context.Context, params MemberNewParams, opts ...option.RequestOption) (res *AccountMemberWithID, err error) { +func (r *MemberService) New(ctx context.Context, params MemberNewParams, opts ...option.RequestOption) (res *MemberWithCode, err error) { opts = append(r.Options[:], opts...) var env MemberNewResponseEnvelope path := fmt.Sprintf("accounts/%v/members", params.AccountID) @@ -47,7 +47,7 @@ func (r *MemberService) New(ctx context.Context, params MemberNewParams, opts .. } // Modify an account member. -func (r *MemberService) Update(ctx context.Context, memberID string, params MemberUpdateParams, opts ...option.RequestOption) (res *AccountMember, err error) { +func (r *MemberService) Update(ctx context.Context, memberID string, params MemberUpdateParams, opts ...option.RequestOption) (res *Member, err error) { opts = append(r.Options[:], opts...) var env MemberUpdateResponseEnvelope path := fmt.Sprintf("accounts/%v/members/%s", params.AccountID, memberID) @@ -96,7 +96,7 @@ func (r *MemberService) Delete(ctx context.Context, memberID string, body Member } // Get information about a specific member of an account. -func (r *MemberService) Get(ctx context.Context, memberID string, query MemberGetParams, opts ...option.RequestOption) (res *AccountMember, err error) { +func (r *MemberService) Get(ctx context.Context, memberID string, query MemberGetParams, opts ...option.RequestOption) (res *Member, err error) { opts = append(r.Options[:], opts...) var env MemberGetResponseEnvelope path := fmt.Sprintf("accounts/%v/members/%s", query.AccountID, memberID) @@ -108,18 +108,18 @@ func (r *MemberService) Get(ctx context.Context, memberID string, query MemberGe return } -type AccountMember struct { +type Member struct { // Membership identifier tag. ID string `json:"id,required"` // Roles assigned to this member. - Roles []AccountMemberRole `json:"roles,required"` - Status interface{} `json:"status,required"` - User AccountMemberUser `json:"user,required"` - JSON accountMemberJSON `json:"-"` + Roles []MemberRole `json:"roles,required"` + Status interface{} `json:"status,required"` + User MemberUser `json:"user,required"` + JSON memberJSON `json:"-"` } -// accountMemberJSON contains the JSON metadata for the struct [AccountMember] -type accountMemberJSON struct { +// memberJSON contains the JSON metadata for the struct [Member] +type memberJSON struct { ID apijson.Field Roles apijson.Field Status apijson.Field @@ -128,28 +128,27 @@ type accountMemberJSON struct { ExtraFields map[string]apijson.Field } -func (r *AccountMember) UnmarshalJSON(data []byte) (err error) { +func (r *Member) UnmarshalJSON(data []byte) (err error) { return apijson.UnmarshalRoot(data, r) } -func (r accountMemberJSON) RawJSON() string { +func (r memberJSON) RawJSON() string { return r.raw } -type AccountMemberRole struct { +type MemberRole struct { // Role identifier tag. ID string `json:"id,required"` // Description of role's permissions. Description string `json:"description,required"` // Role name. - Name string `json:"name,required"` - Permissions AccountMemberRolesPermissions `json:"permissions,required"` - JSON accountMemberRoleJSON `json:"-"` + Name string `json:"name,required"` + Permissions MemberPermission `json:"permissions,required"` + JSON memberRoleJSON `json:"-"` } -// accountMemberRoleJSON contains the JSON metadata for the struct -// [AccountMemberRole] -type accountMemberRoleJSON struct { +// memberRoleJSON contains the JSON metadata for the struct [MemberRole] +type memberRoleJSON struct { ID apijson.Field Description apijson.Field Name apijson.Field @@ -158,58 +157,15 @@ type accountMemberRoleJSON struct { ExtraFields map[string]apijson.Field } -func (r *AccountMemberRole) UnmarshalJSON(data []byte) (err error) { +func (r *MemberRole) UnmarshalJSON(data []byte) (err error) { return apijson.UnmarshalRoot(data, r) } -func (r accountMemberRoleJSON) RawJSON() string { +func (r memberRoleJSON) RawJSON() string { return r.raw } -type AccountMemberRolesPermissions struct { - Analytics RolePermissionGrant `json:"analytics"` - Billing RolePermissionGrant `json:"billing"` - CachePurge RolePermissionGrant `json:"cache_purge"` - DNS RolePermissionGrant `json:"dns"` - DNSRecords RolePermissionGrant `json:"dns_records"` - Lb RolePermissionGrant `json:"lb"` - Logs RolePermissionGrant `json:"logs"` - Organization RolePermissionGrant `json:"organization"` - SSL RolePermissionGrant `json:"ssl"` - WAF RolePermissionGrant `json:"waf"` - ZoneSettings RolePermissionGrant `json:"zone_settings"` - Zones RolePermissionGrant `json:"zones"` - JSON accountMemberRolesPermissionsJSON `json:"-"` -} - -// accountMemberRolesPermissionsJSON contains the JSON metadata for the struct -// [AccountMemberRolesPermissions] -type accountMemberRolesPermissionsJSON 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 *AccountMemberRolesPermissions) UnmarshalJSON(data []byte) (err error) { - return apijson.UnmarshalRoot(data, r) -} - -func (r accountMemberRolesPermissionsJSON) RawJSON() string { - return r.raw -} - -type AccountMemberUser struct { +type MemberUser struct { // The contact email address of the user. Email string `json:"email,required"` // Identifier @@ -220,13 +176,12 @@ type AccountMemberUser struct { LastName string `json:"last_name,nullable"` // Indicates whether two-factor authentication is enabled for the user account. // Does not apply to API authentication. - TwoFactorAuthenticationEnabled bool `json:"two_factor_authentication_enabled"` - JSON accountMemberUserJSON `json:"-"` + TwoFactorAuthenticationEnabled bool `json:"two_factor_authentication_enabled"` + JSON memberUserJSON `json:"-"` } -// accountMemberUserJSON contains the JSON metadata for the struct -// [AccountMemberUser] -type accountMemberUserJSON struct { +// memberUserJSON contains the JSON metadata for the struct [MemberUser] +type memberUserJSON struct { Email apijson.Field ID apijson.Field FirstName apijson.Field @@ -236,29 +191,90 @@ type accountMemberUserJSON struct { ExtraFields map[string]apijson.Field } -func (r *AccountMemberUser) UnmarshalJSON(data []byte) (err error) { +func (r *MemberUser) UnmarshalJSON(data []byte) (err error) { return apijson.UnmarshalRoot(data, r) } -func (r accountMemberUserJSON) RawJSON() string { +func (r memberUserJSON) RawJSON() string { return r.raw } -type AccountMemberWithID struct { +type MemberPermission 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 memberPermissionJSON `json:"-"` +} + +// memberPermissionJSON contains the JSON metadata for the struct +// [MemberPermission] +type memberPermissionJSON 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 *MemberPermission) UnmarshalJSON(data []byte) (err error) { + return apijson.UnmarshalRoot(data, r) +} + +func (r memberPermissionJSON) RawJSON() string { + return r.raw +} + +type MemberPermissionParam 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 MemberPermissionParam) MarshalJSON() (data []byte, err error) { + return apijson.MarshalRoot(r) +} + +type MemberWithCode struct { // Membership identifier tag. ID string `json:"id,required"` // Roles assigned to this member. - Roles []AccountMemberWithIDRole `json:"roles,required"` - Status interface{} `json:"status,required"` - User AccountMemberWithIDUser `json:"user,required"` + Roles []MemberWithCodeRole `json:"roles,required"` + Status interface{} `json:"status,required"` + User MemberWithCodeUser `json:"user,required"` // The unique activation code for the account membership. - Code string `json:"code"` - JSON accountMemberWithIDJSON `json:"-"` + Code string `json:"code"` + JSON memberWithCodeJSON `json:"-"` } -// accountMemberWithIDJSON contains the JSON metadata for the struct -// [AccountMemberWithID] -type accountMemberWithIDJSON struct { +// memberWithCodeJSON contains the JSON metadata for the struct [MemberWithCode] +type memberWithCodeJSON struct { ID apijson.Field Roles apijson.Field Status apijson.Field @@ -268,28 +284,28 @@ type accountMemberWithIDJSON struct { ExtraFields map[string]apijson.Field } -func (r *AccountMemberWithID) UnmarshalJSON(data []byte) (err error) { +func (r *MemberWithCode) UnmarshalJSON(data []byte) (err error) { return apijson.UnmarshalRoot(data, r) } -func (r accountMemberWithIDJSON) RawJSON() string { +func (r memberWithCodeJSON) RawJSON() string { return r.raw } -type AccountMemberWithIDRole struct { +type MemberWithCodeRole struct { // Role identifier tag. ID string `json:"id,required"` // Description of role's permissions. Description string `json:"description,required"` // Role name. - Name string `json:"name,required"` - Permissions AccountMemberWithIDRolesPermissions `json:"permissions,required"` - JSON accountMemberWithIDRoleJSON `json:"-"` + Name string `json:"name,required"` + Permissions MemberPermission `json:"permissions,required"` + JSON memberWithCodeRoleJSON `json:"-"` } -// accountMemberWithIDRoleJSON contains the JSON metadata for the struct -// [AccountMemberWithIDRole] -type accountMemberWithIDRoleJSON struct { +// memberWithCodeRoleJSON contains the JSON metadata for the struct +// [MemberWithCodeRole] +type memberWithCodeRoleJSON struct { ID apijson.Field Description apijson.Field Name apijson.Field @@ -298,58 +314,15 @@ type accountMemberWithIDRoleJSON struct { ExtraFields map[string]apijson.Field } -func (r *AccountMemberWithIDRole) UnmarshalJSON(data []byte) (err error) { - return apijson.UnmarshalRoot(data, r) -} - -func (r accountMemberWithIDRoleJSON) RawJSON() string { - return r.raw -} - -type AccountMemberWithIDRolesPermissions struct { - Analytics RolePermissionGrant `json:"analytics"` - Billing RolePermissionGrant `json:"billing"` - CachePurge RolePermissionGrant `json:"cache_purge"` - DNS RolePermissionGrant `json:"dns"` - DNSRecords RolePermissionGrant `json:"dns_records"` - Lb RolePermissionGrant `json:"lb"` - Logs RolePermissionGrant `json:"logs"` - Organization RolePermissionGrant `json:"organization"` - SSL RolePermissionGrant `json:"ssl"` - WAF RolePermissionGrant `json:"waf"` - ZoneSettings RolePermissionGrant `json:"zone_settings"` - Zones RolePermissionGrant `json:"zones"` - JSON accountMemberWithIDRolesPermissionsJSON `json:"-"` -} - -// accountMemberWithIDRolesPermissionsJSON contains the JSON metadata for the -// struct [AccountMemberWithIDRolesPermissions] -type accountMemberWithIDRolesPermissionsJSON 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 *AccountMemberWithIDRolesPermissions) UnmarshalJSON(data []byte) (err error) { +func (r *MemberWithCodeRole) UnmarshalJSON(data []byte) (err error) { return apijson.UnmarshalRoot(data, r) } -func (r accountMemberWithIDRolesPermissionsJSON) RawJSON() string { +func (r memberWithCodeRoleJSON) RawJSON() string { return r.raw } -type AccountMemberWithIDUser struct { +type MemberWithCodeUser struct { // The contact email address of the user. Email string `json:"email,required"` // Identifier @@ -360,13 +333,13 @@ type AccountMemberWithIDUser struct { LastName string `json:"last_name,nullable"` // Indicates whether two-factor authentication is enabled for the user account. // Does not apply to API authentication. - TwoFactorAuthenticationEnabled bool `json:"two_factor_authentication_enabled"` - JSON accountMemberWithIDUserJSON `json:"-"` + TwoFactorAuthenticationEnabled bool `json:"two_factor_authentication_enabled"` + JSON memberWithCodeUserJSON `json:"-"` } -// accountMemberWithIDUserJSON contains the JSON metadata for the struct -// [AccountMemberWithIDUser] -type accountMemberWithIDUserJSON struct { +// memberWithCodeUserJSON contains the JSON metadata for the struct +// [MemberWithCodeUser] +type memberWithCodeUserJSON struct { Email apijson.Field ID apijson.Field FirstName apijson.Field @@ -376,46 +349,14 @@ type accountMemberWithIDUserJSON struct { ExtraFields map[string]apijson.Field } -func (r *AccountMemberWithIDUser) UnmarshalJSON(data []byte) (err error) { +func (r *MemberWithCodeUser) UnmarshalJSON(data []byte) (err error) { return apijson.UnmarshalRoot(data, r) } -func (r accountMemberWithIDUserJSON) RawJSON() string { +func (r memberWithCodeUserJSON) RawJSON() string { return r.raw } -type RolePermissionGrant struct { - Read bool `json:"read"` - Write bool `json:"write"` - JSON rolePermissionGrantJSON `json:"-"` -} - -// rolePermissionGrantJSON contains the JSON metadata for the struct -// [RolePermissionGrant] -type rolePermissionGrantJSON struct { - Read apijson.Field - Write apijson.Field - raw string - ExtraFields map[string]apijson.Field -} - -func (r *RolePermissionGrant) UnmarshalJSON(data []byte) (err error) { - return apijson.UnmarshalRoot(data, r) -} - -func (r rolePermissionGrantJSON) RawJSON() string { - return r.raw -} - -type RolePermissionGrantParam struct { - Read param.Field[bool] `json:"read"` - Write param.Field[bool] `json:"write"` -} - -func (r RolePermissionGrantParam) MarshalJSON() (data []byte, err error) { - return apijson.MarshalRoot(r) -} - type MemberListResponse struct { // Identifier ID string `json:"id,required"` @@ -519,7 +460,7 @@ func (r MemberNewParamsStatus) IsKnown() bool { type MemberNewResponseEnvelope struct { Errors []MemberNewResponseEnvelopeErrors `json:"errors,required"` Messages []MemberNewResponseEnvelopeMessages `json:"messages,required"` - Result AccountMemberWithID `json:"result,required"` + Result MemberWithCode `json:"result,required"` // Whether the API call was successful Success MemberNewResponseEnvelopeSuccess `json:"success,required"` JSON memberNewResponseEnvelopeJSON `json:"-"` @@ -624,29 +565,10 @@ func (r MemberUpdateParamsRole) MarshalJSON() (data []byte, err error) { return apijson.MarshalRoot(r) } -type MemberUpdateParamsRolesPermissions struct { - Analytics param.Field[RolePermissionGrantParam] `json:"analytics"` - Billing param.Field[RolePermissionGrantParam] `json:"billing"` - CachePurge param.Field[RolePermissionGrantParam] `json:"cache_purge"` - DNS param.Field[RolePermissionGrantParam] `json:"dns"` - DNSRecords param.Field[RolePermissionGrantParam] `json:"dns_records"` - Lb param.Field[RolePermissionGrantParam] `json:"lb"` - Logs param.Field[RolePermissionGrantParam] `json:"logs"` - Organization param.Field[RolePermissionGrantParam] `json:"organization"` - SSL param.Field[RolePermissionGrantParam] `json:"ssl"` - WAF param.Field[RolePermissionGrantParam] `json:"waf"` - ZoneSettings param.Field[RolePermissionGrantParam] `json:"zone_settings"` - Zones param.Field[RolePermissionGrantParam] `json:"zones"` -} - -func (r MemberUpdateParamsRolesPermissions) MarshalJSON() (data []byte, err error) { - return apijson.MarshalRoot(r) -} - type MemberUpdateResponseEnvelope struct { Errors []MemberUpdateResponseEnvelopeErrors `json:"errors,required"` Messages []MemberUpdateResponseEnvelopeMessages `json:"messages,required"` - Result AccountMember `json:"result,required"` + Result Member `json:"result,required"` // Whether the API call was successful Success MemberUpdateResponseEnvelopeSuccess `json:"success,required"` JSON memberUpdateResponseEnvelopeJSON `json:"-"` @@ -905,7 +827,7 @@ type MemberGetParams struct { type MemberGetResponseEnvelope struct { Errors []MemberGetResponseEnvelopeErrors `json:"errors,required"` Messages []MemberGetResponseEnvelopeMessages `json:"messages,required"` - Result AccountMember `json:"result,required"` + Result Member `json:"result,required"` // Whether the API call was successful Success MemberGetResponseEnvelopeSuccess `json:"success,required"` JSON memberGetResponseEnvelopeJSON `json:"-"` diff --git a/accounts/role.go b/accounts/role.go index f20d031c41f..659cdfaf941 100644 --- a/accounts/role.go +++ b/accounts/role.go @@ -70,6 +70,37 @@ func (r *RoleService) Get(ctx context.Context, roleID interface{}, query RoleGet return } +type PermissionGrant struct { + Read bool `json:"read"` + Write bool `json:"write"` + JSON permissionGrantJSON `json:"-"` +} + +// permissionGrantJSON contains the JSON metadata for the struct [PermissionGrant] +type permissionGrantJSON struct { + Read apijson.Field + Write apijson.Field + raw string + ExtraFields map[string]apijson.Field +} + +func (r *PermissionGrant) UnmarshalJSON(data []byte) (err error) { + return apijson.UnmarshalRoot(data, r) +} + +func (r permissionGrantJSON) RawJSON() string { + return r.raw +} + +type PermissionGrantParam struct { + Read param.Field[bool] `json:"read"` + Write param.Field[bool] `json:"write"` +} + +func (r PermissionGrantParam) MarshalJSON() (data []byte, err error) { + return apijson.MarshalRoot(r) +} + type Role struct { // Role identifier tag. ID string `json:"id,required"` diff --git a/api.md b/api.md index 3b8352004d4..8b4051ff419 100644 --- a/api.md +++ b/api.md @@ -21,28 +21,34 @@ Methods: Params Types: -- accounts.RolePermissionGrantParam +- accounts.MemberPermissionParam Response Types: -- accounts.AccountMember -- accounts.AccountMemberWithID -- accounts.RolePermissionGrant +- accounts.Member +- accounts.MemberPermission +- accounts.MemberRole +- accounts.MemberWithCode - accounts.MemberListResponse - accounts.MemberDeleteResponse Methods: -- client.Accounts.Members.New(ctx context.Context, params accounts.MemberNewParams) (accounts.AccountMemberWithID, error) -- client.Accounts.Members.Update(ctx context.Context, memberID string, params accounts.MemberUpdateParams) (accounts.AccountMember, error) +- client.Accounts.Members.New(ctx context.Context, params accounts.MemberNewParams) (accounts.MemberWithCode, error) +- client.Accounts.Members.Update(ctx context.Context, memberID string, params accounts.MemberUpdateParams) (accounts.Member, error) - client.Accounts.Members.List(ctx context.Context, params accounts.MemberListParams) (pagination.V4PagePaginationArray[accounts.MemberListResponse], error) - client.Accounts.Members.Delete(ctx context.Context, memberID string, body accounts.MemberDeleteParams) (accounts.MemberDeleteResponse, error) -- client.Accounts.Members.Get(ctx context.Context, memberID string, query accounts.MemberGetParams) (accounts.AccountMember, error) +- client.Accounts.Members.Get(ctx context.Context, memberID string, query accounts.MemberGetParams) (accounts.Member, error) ## Roles +Params Types: + +- accounts.PermissionGrantParam + Response Types: +- accounts.PermissionGrant - accounts.Role - accounts.RoleGetResponse @@ -83,7 +89,6 @@ Methods: Response Types: -- memberships.Membership - memberships.MembershipUpdateResponse - memberships.MembershipDeleteResponse - memberships.MembershipGetResponse @@ -91,7 +96,7 @@ Response Types: Methods: - client.Memberships.Update(ctx context.Context, membershipID string, body memberships.MembershipUpdateParams) (memberships.MembershipUpdateResponse, error) -- client.Memberships.List(ctx context.Context, query memberships.MembershipListParams) (pagination.V4PagePaginationArray[memberships.Membership], error) +- client.Memberships.List(ctx context.Context, query memberships.MembershipListParams) (pagination.V4PagePaginationArray[accounts.MemberRole], error) - client.Memberships.Delete(ctx context.Context, membershipID string) (memberships.MembershipDeleteResponse, error) - client.Memberships.Get(ctx context.Context, membershipID string) (memberships.MembershipGetResponse, error) diff --git a/memberships/membership.go b/memberships/membership.go index 7004f1e8239..97e19c0071b 100644 --- a/memberships/membership.go +++ b/memberships/membership.go @@ -51,7 +51,7 @@ func (r *MembershipService) Update(ctx context.Context, membershipID string, bod } // List memberships of accounts the user can access. -func (r *MembershipService) List(ctx context.Context, query MembershipListParams, opts ...option.RequestOption) (res *pagination.V4PagePaginationArray[Membership], err error) { +func (r *MembershipService) List(ctx context.Context, query MembershipListParams, opts ...option.RequestOption) (res *pagination.V4PagePaginationArray[accounts.MemberRole], err error) { var raw *http.Response opts = append(r.Options, opts...) opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...) @@ -69,7 +69,7 @@ func (r *MembershipService) List(ctx context.Context, query MembershipListParams } // List memberships of accounts the user can access. -func (r *MembershipService) ListAutoPaging(ctx context.Context, query MembershipListParams, opts ...option.RequestOption) *pagination.V4PagePaginationArrayAutoPager[Membership] { +func (r *MembershipService) ListAutoPaging(ctx context.Context, query MembershipListParams, opts ...option.RequestOption) *pagination.V4PagePaginationArrayAutoPager[accounts.MemberRole] { return pagination.NewV4PagePaginationArrayAutoPager(r.List(ctx, query, opts...)) } @@ -99,106 +99,6 @@ func (r *MembershipService) Get(ctx context.Context, membershipID string, opts . return } -type Membership struct { - // Membership identifier tag. - ID string `json:"id"` - Account accounts.Account `json:"account"` - // Enterprise only. Indicates whether or not API access is enabled specifically for - // this user on a given account. - APIAccessEnabled bool `json:"api_access_enabled,nullable"` - // The unique activation code for the account membership. - Code string `json:"code"` - // All access permissions for the user at the account. - Permissions MembershipPermissions `json:"permissions"` - // List of role names for the user at the account. - Roles []string `json:"roles"` - // Status of this membership. - Status MembershipStatus `json:"status"` - JSON membershipJSON `json:"-"` -} - -// membershipJSON contains the JSON metadata for the struct [Membership] -type membershipJSON struct { - ID apijson.Field - Account apijson.Field - APIAccessEnabled apijson.Field - Code apijson.Field - Permissions apijson.Field - Roles apijson.Field - Status apijson.Field - raw string - ExtraFields map[string]apijson.Field -} - -func (r *Membership) UnmarshalJSON(data []byte) (err error) { - return apijson.UnmarshalRoot(data, r) -} - -func (r membershipJSON) RawJSON() string { - return r.raw -} - -// All access permissions for the user at the account. -type MembershipPermissions struct { - Analytics accounts.RolePermissionGrant `json:"analytics"` - Billing accounts.RolePermissionGrant `json:"billing"` - CachePurge accounts.RolePermissionGrant `json:"cache_purge"` - DNS accounts.RolePermissionGrant `json:"dns"` - DNSRecords accounts.RolePermissionGrant `json:"dns_records"` - Lb accounts.RolePermissionGrant `json:"lb"` - Logs accounts.RolePermissionGrant `json:"logs"` - Organization accounts.RolePermissionGrant `json:"organization"` - SSL accounts.RolePermissionGrant `json:"ssl"` - WAF accounts.RolePermissionGrant `json:"waf"` - ZoneSettings accounts.RolePermissionGrant `json:"zone_settings"` - Zones accounts.RolePermissionGrant `json:"zones"` - JSON membershipPermissionsJSON `json:"-"` -} - -// membershipPermissionsJSON contains the JSON metadata for the struct -// [MembershipPermissions] -type membershipPermissionsJSON 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 *MembershipPermissions) UnmarshalJSON(data []byte) (err error) { - return apijson.UnmarshalRoot(data, r) -} - -func (r membershipPermissionsJSON) RawJSON() string { - return r.raw -} - -// Status of this membership. -type MembershipStatus string - -const ( - MembershipStatusAccepted MembershipStatus = "accepted" - MembershipStatusPending MembershipStatus = "pending" - MembershipStatusRejected MembershipStatus = "rejected" -) - -func (r MembershipStatus) IsKnown() bool { - switch r { - case MembershipStatusAccepted, MembershipStatusPending, MembershipStatusRejected: - return true - } - return false -} - // Union satisfied by [memberships.MembershipUpdateResponseUnknown] or // [shared.UnionString]. type MembershipUpdateResponse interface {