add code grpc to manage new collection db groupMember
This commit is contained in:
@@ -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
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user