// Add a user to a group
member, err := client.GroupMembers.Create(ctx, rownd.CreateGroupMemberRequest{
GroupID: "group_a3l1n2lsnb3q0xbul9enjnh7",
UserID: "user_a7b53gwdaml5jt7t71442nt7",
Roles: []string{"editor", "viewer"},
})
// Response:
// member = {
// ID: "member_dnn5g4e3q6aptail2gr43kpj", // The member_id
// UserID: "user_a7b53gwdaml5jt7t71442nt7", // The user_id
// Roles: ["editor", "viewer"],
// State: "active",
// Profile: {
// "email": "user@example.com",
// "first_name": "John"
// },
// GroupID: "group_a3l1n2lsnb3q0xbul9enjnh7"
// }
// Update a member's roles using member_id
updatedMember, err := client.GroupMembers.Update(ctx, rownd.UpdateGroupMemberRequest{
GroupID: "group_a3l1n2lsnb3q0xbul9enjnh7",
MemberID: "member_dnn5g4e3q6aptail2gr43kpj", // Use member_id, not user_id
Roles: []string{"admin"},
})
// List group members
members, err := client.GroupMembers.List(ctx, rownd.ListGroupMembersRequest{
GroupID: "group_a3l1n2lsnb3q0xbul9enjnh7",
})
// Response:
// members = {
// TotalResults: 2,
// Results: [{
// ID: "member_dnn5g4e3q6aptail2gr43kpj",
// UserID: "user_a7b53gwdaml5jt7t71442nt7",
// Roles: ["admin"],
// State: "active",
// Profile: {
// "email": "user@example.com"
// }
// }, {
// ID: "member_kll8h7g2p9qbxyzw4m5njth8",
// UserID: "user_b8c64hwdaml5kt8u82553ou8",
// Roles: ["viewer"],
// State: "active",
// Profile: {
// "email": "another@example.com"
// }
// }]
// }
// Remove a member from a group using member_id
err := client.GroupMembers.Delete(ctx, rownd.DeleteGroupMemberRequest{
GroupID: "group_a3l1n2lsnb3q0xbul9enjnh7",
MemberID: "member_dnn5g4e3q6aptail2gr43kpj", // Use member_id, not user_id
})