mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-04 19:29:49 -06:00
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:
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user