mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-20 14:34:25 +00:00
# Which Problems Are Solved 1. Adding users to user groups and removing users from user groups. 2. Searching for users in user groups by group IDs or user IDs # How the Problems Are Solved By adding: 1. The API definitions to manage users in users groups 3. The command-layer implementation of adding users/removing users to/from user groups. 4. The projection table group_users1 5. Query-side implementation to search for users in user groups # Additional Changes 1. Remove debug statements from unit tests. 2. Fix removal of groups when orgs are removed 3. Add unit tests for groups projection # Additional Context * Related to #9702 * Follow-up for PRs * https://github.com/zitadel/zitadel/pull/10455 * https://github.com/zitadel/zitadel/pull/10758 * https://github.com/zitadel/zitadel/pull/10853
31 lines
1.0 KiB
Go
31 lines
1.0 KiB
Go
package group
|
|
|
|
import (
|
|
"context"
|
|
|
|
"connectrpc.com/connect"
|
|
"google.golang.org/protobuf/types/known/timestamppb"
|
|
|
|
group_v2 "github.com/zitadel/zitadel/pkg/grpc/group/v2"
|
|
)
|
|
|
|
func (s *Server) AddUsersToGroup(ctx context.Context, c *connect.Request[group_v2.AddUsersToGroupRequest]) (*connect.Response[group_v2.AddUsersToGroupResponse], error) {
|
|
addUsersResp, err := s.command.AddUsersToGroup(ctx, c.Msg.GetId(), c.Msg.GetUserIds())
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return connect.NewResponse(&group_v2.AddUsersToGroupResponse{
|
|
ChangeDate: timestamppb.New(addUsersResp.EventDate),
|
|
}), nil
|
|
}
|
|
|
|
func (s *Server) RemoveUsersFromGroup(ctx context.Context, c *connect.Request[group_v2.RemoveUsersFromGroupRequest]) (*connect.Response[group_v2.RemoveUsersFromGroupResponse], error) {
|
|
details, err := s.command.RemoveUsersFromGroup(ctx, c.Msg.GetId(), c.Msg.GetUserIds())
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return connect.NewResponse(&group_v2.RemoveUsersFromGroupResponse{
|
|
ChangeDate: timestamppb.New(details.EventDate),
|
|
}), nil
|
|
}
|