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:
|
case u != nil:
|
||||||
target = u
|
target = u
|
||||||
case uid != nil:
|
case uid != nil:
|
||||||
us, err := utils.GetUserWithContext(ctx, uid, gwc)
|
us, err := utils.GetUserNoGroups(ctx, uid, gwc)
|
||||||
target = us
|
target = us
|
||||||
|
|
||||||
if err != nil {
|
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 {
|
return func(ctx context.Context, gwc gateway.GatewayAPIClient, vars map[string]interface{}) error {
|
||||||
switch {
|
switch {
|
||||||
case uid != nil:
|
case uid != nil:
|
||||||
u, err := utils.GetUser(uid, gwc)
|
u, err := utils.GetUserNoGroups(ctx, uid, gwc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
vars["sharee"] = Sharee{
|
vars["sharee"] = Sharee{
|
||||||
DisplayName: "DeletedUser",
|
DisplayName: "DeletedUser",
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import (
|
|||||||
cs3User "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
|
cs3User "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
|
||||||
rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
|
rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
|
||||||
"github.com/jellydator/ttlcache/v3"
|
"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/opencloud/services/graph/pkg/errorcode"
|
||||||
"github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool"
|
"github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool"
|
||||||
revautils "github.com/opencloud-eu/reva/v2/pkg/utils"
|
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
|
// 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{
|
cs3UserID := &cs3User.UserId{
|
||||||
OpaqueId: userid,
|
OpaqueId: userid,
|
||||||
}
|
}
|
||||||
u, err := revautils.GetUserWithContext(ctx, cs3UserID, gatewayClient)
|
u, err := revautils.GetUserNoGroups(ctx, cs3UserID, gatewayClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if revautils.IsErrNotFound(err) {
|
if revautils.IsErrNotFound(err) {
|
||||||
return libregraph.User{}, ErrNotFound
|
return libregraph.User{}, ErrNotFound
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ func (s eventsNotifier) handleScienceMeshInviteTokenGenerated(e events.ScienceMe
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
owner, err := utils.GetUserWithContext(ctx, e.Sharer, gatewayClient)
|
owner, err := utils.GetUserNoGroups(ctx, e.Sharer, gatewayClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error().Err(err).Msg("unable to get user")
|
logger.Error().Err(err).Msg("unable to get user")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ func (s eventsNotifier) prepareShareCreated(logger zerolog.Logger, e events.Shar
|
|||||||
return owner, shareFolder, shareLink, ctx, err
|
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 {
|
if err != nil {
|
||||||
logger.Error().
|
logger.Error().
|
||||||
Err(err).
|
Err(err).
|
||||||
@@ -108,7 +108,7 @@ func (s eventsNotifier) handleShareExpired(e events.ShareExpired, eventId string
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
owner, err := utils.GetUserWithContext(ctx, e.ShareOwner, gatewayClient)
|
owner, err := utils.GetUserNoGroups(ctx, e.ShareOwner, gatewayClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error().Err(err).Msg("Could not get user")
|
logger.Error().Err(err).Msg("Could not get user")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ func (s eventsNotifier) prepareSpaceShared(logger zerolog.Logger, e events.Space
|
|||||||
return executant, spaceName, shareLink, ctx, err
|
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 {
|
if err != nil {
|
||||||
logger.Error().
|
logger.Error().
|
||||||
Err(err).
|
Err(err).
|
||||||
@@ -146,7 +146,7 @@ func (s eventsNotifier) prepareSpaceUnshared(logger zerolog.Logger, e events.Spa
|
|||||||
return executant, spaceName, shareLink, ctx, err
|
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 {
|
if err != nil {
|
||||||
logger.Error().
|
logger.Error().
|
||||||
Err(err).
|
Err(err).
|
||||||
@@ -199,7 +199,7 @@ func (s eventsNotifier) handleSpaceMembershipExpired(e events.SpaceMembershipExp
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
owner, err := utils.GetUser(e.SpaceOwner, gatewayClient)
|
owner, err := utils.GetUserNoGroups(ctx, e.SpaceOwner, gatewayClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error().
|
logger.Error().
|
||||||
Err(err).
|
Err(err).
|
||||||
|
|||||||
@@ -347,7 +347,7 @@ func (c *Converter) getResource(ctx context.Context, resourceID *storageprovider
|
|||||||
return resource, err
|
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 {
|
if u, ok := c.users[userID.GetOpaqueId()]; ok {
|
||||||
return u, nil
|
return u, nil
|
||||||
}
|
}
|
||||||
@@ -355,7 +355,7 @@ func (c *Converter) getUser(_ context.Context, userID *user.UserId) (*user.User,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
usr, err := utils.GetUser(userID, gwc)
|
usr, err := utils.GetUserNoGroups(ctx, userID, gwc)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
c.users[userID.GetOpaqueId()] = usr
|
c.users[userID.GetOpaqueId()] = usr
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user