🐛 Fix unable get user full perm node

This commit is contained in:
2024-11-23 20:51:57 +08:00
parent bc5a0ea966
commit bc2e7df574
3 changed files with 6 additions and 18 deletions

View File

@ -19,6 +19,7 @@ func (v *App) Authenticate(_ context.Context, in *proto.AuthRequest) (*proto.Aut
}, nil
} else {
user := ticket.Account
user.PermNodes = perms
userinfo := &proto.UserInfo{
Id: uint64(user.ID),
Name: user.Name,

View File

@ -6,7 +6,6 @@ import (
"git.solsynth.dev/hypernet/nexus/pkg/proto"
"git.solsynth.dev/hypernet/passport/pkg/authkit/models"
"git.solsynth.dev/hypernet/passport/pkg/internal/database"
"git.solsynth.dev/hypernet/passport/pkg/internal/services"
"github.com/samber/lo"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
@ -25,20 +24,6 @@ func (v *App) GetUser(ctx context.Context, request *proto.GetUserRequest) (*prot
if err := tx.First(&account).Error; err != nil {
return nil, status.Errorf(codes.NotFound, fmt.Sprintf("requested user with id %d was not found", request.GetUserId()))
}
groups, err := services.GetUserAccountGroup(account)
if err != nil {
return nil, status.Errorf(codes.Internal, fmt.Sprintf("unable to get user %d groups: %v", request.GetUserId(), err))
}
for _, group := range groups {
for k, v := range group.PermNodes {
if _, ok := account.PermNodes[k]; !ok {
account.PermNodes[k] = v
}
}
}
return account.EncodeToUserInfo(), nil
}