cleanup: Avoid fetching group membership when not needed

Use the new GetUserNoGroups helper to lookup users without resolving
groupmemberships where possible.

Closes: #1005
This commit is contained in:
Ralf Haferkamp
2025-06-10 17:58:14 +02:00
parent c35158fa44
commit 76b16765d8
6 changed files with 12 additions and 12 deletions

View File

@@ -182,7 +182,7 @@ func WithUser(uid *user.UserId, u *user.User, impersonator *user.User) ActivityO
case u != nil:
target = u
case uid != nil:
us, err := utils.GetUserWithContext(ctx, uid, gwc)
us, err := utils.GetUserNoGroups(ctx, uid, gwc)
target = us
if err != nil {
@@ -209,7 +209,7 @@ func WithSharee(uid *user.UserId, gid *group.GroupId) ActivityOption {
return func(ctx context.Context, gwc gateway.GatewayAPIClient, vars map[string]interface{}) error {
switch {
case uid != nil:
u, err := utils.GetUser(uid, gwc)
u, err := utils.GetUserNoGroups(ctx, uid, gwc)
if err != nil {
vars["sharee"] = Sharee{
DisplayName: "DeletedUser",

View File

@@ -9,10 +9,10 @@ import (
cs3User "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
"github.com/jellydator/ttlcache/v3"
libregraph "github.com/opencloud-eu/libre-graph-api-go"
"github.com/opencloud-eu/opencloud/services/graph/pkg/errorcode"
"github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool"
revautils "github.com/opencloud-eu/reva/v2/pkg/utils"
libregraph "github.com/opencloud-eu/libre-graph-api-go"
)
// IdentityCache implements a simple ttl based cache for looking up users and groups by ID
@@ -94,7 +94,7 @@ func (cache IdentityCache) GetUser(ctx context.Context, userid string) (libregra
cs3UserID := &cs3User.UserId{
OpaqueId: userid,
}
u, err := revautils.GetUserWithContext(ctx, cs3UserID, gatewayClient)
u, err := revautils.GetUserNoGroups(ctx, cs3UserID, gatewayClient)
if err != nil {
if revautils.IsErrNotFound(err) {
return libregraph.User{}, ErrNotFound

View File

@@ -26,7 +26,7 @@ func (s eventsNotifier) handleScienceMeshInviteTokenGenerated(e events.ScienceMe
return
}
owner, err := utils.GetUserWithContext(ctx, e.Sharer, gatewayClient)
owner, err := utils.GetUserNoGroups(ctx, e.Sharer, gatewayClient)
if err != nil {
logger.Error().Err(err).Msg("unable to get user")
return

View File

@@ -79,7 +79,7 @@ func (s eventsNotifier) prepareShareCreated(logger zerolog.Logger, e events.Shar
return owner, shareFolder, shareLink, ctx, err
}
owner, err = utils.GetUserWithContext(ctx, e.Sharer, gatewayClient)
owner, err = utils.GetUserNoGroups(ctx, e.Sharer, gatewayClient)
if err != nil {
logger.Error().
Err(err).
@@ -108,7 +108,7 @@ func (s eventsNotifier) handleShareExpired(e events.ShareExpired, eventId string
return
}
owner, err := utils.GetUserWithContext(ctx, e.ShareOwner, gatewayClient)
owner, err := utils.GetUserNoGroups(ctx, e.ShareOwner, gatewayClient)
if err != nil {
logger.Error().Err(err).Msg("Could not get user")
return

View File

@@ -61,7 +61,7 @@ func (s eventsNotifier) prepareSpaceShared(logger zerolog.Logger, e events.Space
return executant, spaceName, shareLink, ctx, err
}
executant, err = utils.GetUserWithContext(ctx, e.Executant, gatewayClient)
executant, err = utils.GetUserNoGroups(ctx, e.Executant, gatewayClient)
if err != nil {
logger.Error().
Err(err).
@@ -146,7 +146,7 @@ func (s eventsNotifier) prepareSpaceUnshared(logger zerolog.Logger, e events.Spa
return executant, spaceName, shareLink, ctx, err
}
executant, err = utils.GetUserWithContext(ctx, e.Executant, gatewayClient)
executant, err = utils.GetUserNoGroups(ctx, e.Executant, gatewayClient)
if err != nil {
logger.Error().
Err(err).
@@ -199,7 +199,7 @@ func (s eventsNotifier) handleSpaceMembershipExpired(e events.SpaceMembershipExp
return
}
owner, err := utils.GetUser(e.SpaceOwner, gatewayClient)
owner, err := utils.GetUserNoGroups(ctx, e.SpaceOwner, gatewayClient)
if err != nil {
logger.Error().
Err(err).

View File

@@ -347,7 +347,7 @@ func (c *Converter) getResource(ctx context.Context, resourceID *storageprovider
return resource, err
}
func (c *Converter) getUser(_ context.Context, userID *user.UserId) (*user.User, error) {
func (c *Converter) getUser(ctx context.Context, userID *user.UserId) (*user.User, error) {
if u, ok := c.users[userID.GetOpaqueId()]; ok {
return u, nil
}
@@ -355,7 +355,7 @@ func (c *Converter) getUser(_ context.Context, userID *user.UserId) (*user.User,
if err != nil {
return nil, err
}
usr, err := utils.GetUser(userID, gwc)
usr, err := utils.GetUserNoGroups(ctx, userID, gwc)
if err == nil {
c.users[userID.GetOpaqueId()] = usr
}