Skip to content

Commit d01aba0

Browse files
authored
feat(iam): add group members (#665)
1 parent e72d18d commit d01aba0

File tree

4 files changed

+48
-0
lines changed

4 files changed

+48
-0
lines changed

packages/clients/src/api/iam/v1alpha1/api.gen.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
} from '../../../bridge'
1010
import {
1111
marshalAddGroupMemberRequest,
12+
marshalAddGroupMembersRequest,
1213
marshalCreateAPIKeyRequest,
1314
marshalCreateApplicationRequest,
1415
marshalCreateGroupRequest,
@@ -45,6 +46,7 @@ import {
4546
import type {
4647
APIKey,
4748
AddGroupMemberRequest,
49+
AddGroupMembersRequest,
4850
Application,
4951
ClonePolicyRequest,
5052
CreateAPIKeyRequest,
@@ -565,6 +567,33 @@ export class API extends ParentAPI {
565567
unmarshalGroup,
566568
)
567569

570+
/**
571+
* Add multiple users and applications to a group. Add multiple users and
572+
* applications to a group in a single call. You can specify an array of
573+
* `user_id`s and `application_id`s. Note that any existing users and
574+
* applications in the group will remain. To add new users/applications and
575+
* delete pre-existing ones, use the [Overwrite users and applications of a
576+
* group](#path-groups-overwrite-users-and-applications-of-a-group) method.
577+
*
578+
* @param request - The request {@link AddGroupMembersRequest}
579+
* @returns A Promise of Group
580+
*/
581+
addGroupMembers = (request: Readonly<AddGroupMembersRequest>) =>
582+
this.client.fetch<Group>(
583+
{
584+
body: JSON.stringify(
585+
marshalAddGroupMembersRequest(request, this.client.settings),
586+
),
587+
headers: jsonContentHeaders,
588+
method: 'POST',
589+
path: `/iam/v1alpha1/groups/${validatePathParam(
590+
'groupId',
591+
request.groupId,
592+
)}/add-members`,
593+
},
594+
unmarshalGroup,
595+
)
596+
568597
/**
569598
* Remove a user or an application from a group. Remove a user or an
570599
* application from a group. You can specify a `user_id` and and

packages/clients/src/api/iam/v1alpha1/index.gen.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export { API } from './api.gen'
44
export type {
55
APIKey,
66
AddGroupMemberRequest,
7+
AddGroupMembersRequest,
78
Application,
89
BearerType,
910
ClonePolicyRequest,

packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import type { DefaultValues } from '../../../bridge'
1111
import type {
1212
APIKey,
1313
AddGroupMemberRequest,
14+
AddGroupMembersRequest,
1415
Application,
1516
CreateAPIKeyRequest,
1617
CreateApplicationRequest,
@@ -422,6 +423,14 @@ export const marshalAddGroupMemberRequest = (
422423
]),
423424
})
424425

426+
export const marshalAddGroupMembersRequest = (
427+
request: AddGroupMembersRequest,
428+
defaults: DefaultValues,
429+
): Record<string, unknown> => ({
430+
application_ids: request.applicationIds,
431+
user_ids: request.userIds,
432+
})
433+
425434
export const marshalCreateAPIKeyRequest = (
426435
request: CreateAPIKeyRequest,
427436
defaults: DefaultValues,

packages/clients/src/api/iam/v1alpha1/types.gen.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,15 @@ export type AddGroupMemberRequest = {
626626
applicationId?: string
627627
}
628628

629+
export type AddGroupMembersRequest = {
630+
/** ID of the group. */
631+
groupId: string
632+
/** IDs of the users to add. */
633+
userIds?: string[]
634+
/** IDs of the applications to add. */
635+
applicationIds?: string[]
636+
}
637+
629638
export type RemoveGroupMemberRequest = {
630639
/** ID of the group. */
631640
groupId: string

0 commit comments

Comments
 (0)