add code grpc to manage new collection db groupMember

This commit is contained in:
soukainna
2022-12-19 09:13:56 +01:00
parent 9705c8d898
commit daf39bc067
8 changed files with 1249 additions and 123 deletions

View File

@@ -122,3 +122,91 @@ func Run(done chan error, cfg *viper.Viper, handler handlers.GroupsManagementHan
done <- err
}
}
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
func (s GroupsManagementServerImpl) AddGroupMember(ctx context.Context, req *AddGroupMemberRequest) (*AddGroupMemberResponse, error) {
g := req.Group.ToStorageType()
group, err := s.handler.AddGroupMember(g)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.AlreadyExists, "group creation failed : %v", err)
}
response, err := GroupFromStorageTypeMember(group)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.Internal, "issue while retrieving group : %v", err)
}
return &AddGroupMemberResponse{Group: response}, nil
}
func (s GroupsManagementServerImpl) GetGroupMember(ctx context.Context, req *GetGroupMemberRequest) (*GetGroupMemberResponse, error) {
group, err := s.handler.GetGroupMember(req.Id)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.AlreadyExists, "issue while retrieving group : %v", err)
}
response, err := GroupFromStorageTypeMember(group)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.Internal, "issue while retrieving group : %v", err)
}
return &GetGroupMemberResponse{Group: response}, nil
}
func (s GroupsManagementServerImpl) GetGroupsMember(ctx context.Context, req *GetGroupsMemberRequest) (*GetGroupsMemberResponse, error) {
responses, err := s.handler.GetGroupsMember(req.Namespaces)
if err != nil {
return nil, status.Errorf(codes.NotFound, "could not get groups : %v", err)
}
var groups []*GroupMember
for _, g := range responses {
group, err := GroupFromStorageTypeMember(&g)
if err != nil {
return nil, status.Errorf(codes.Internal, "could not get groups : %v", err)
}
groups = append(groups, group)
}
return &GetGroupsMemberResponse{Groups: groups}, nil
}
func (s GroupsManagementServerImpl) GetGroupsBatchMember(ctx context.Context, req *GetGroupsBatchMemberRequest) (*GetGroupsBatchMemberResponse, error) {
responses, err := s.handler.GetGroupsBatchMember(req.Groupids)
if err != nil {
return nil, status.Errorf(codes.NotFound, "could not get groups : %v", err)
}
var groups []*GroupMember
for _, g := range responses {
group, err := GroupFromStorageTypeMember(&g)
if err != nil {
return nil, status.Errorf(codes.Internal, "could not get groups : %v", err)
}
groups = append(groups, group)
}
return &GetGroupsBatchMemberResponse{Groups: groups}, nil
}
func (s GroupsManagementServerImpl) SubscribeMember(ctx context.Context, req *SubscribeMemberRequest) (*SubscribeMemberResponse, error) {
g := req.Group.ToStorageType()
// err := s.handler.SubscribeMember(g)
// if err != nil {
// return nil, status.Errorf(codes.AlreadyExists, "could not subscribe : %v", err)
// }
// return &SubscribeMemberResponse{
// Ok: true,
// }, nil
group, err := s.handler.SubscribeMember(g)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.AlreadyExists, "group creation failed : %v", err)
}
response, err := GroupFromStorageTypeMember(group)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.Internal, "issue while retrieving group : %v", err)
}
return &SubscribeMemberResponse{Group: response}, nil
}