diff --git a/internal/grpc/interceptors/eventsmiddleware/conversion.go b/internal/grpc/interceptors/eventsmiddleware/conversion.go index 8513b2edf6f..9dc766ed638 100644 --- a/internal/grpc/interceptors/eventsmiddleware/conversion.go +++ b/internal/grpc/interceptors/eventsmiddleware/conversion.go @@ -43,6 +43,7 @@ func ContainerCreated(r *provider.CreateContainerResponse, req *provider.CreateC // ShareCreated converts the response to an event func ShareCreated(r *collaboration.CreateShareResponse, executant *user.UserId) events.ShareCreated { return events.ShareCreated{ + ShareID: r.Share.GetId(), Executant: executant, Sharer: r.Share.Creator, GranteeUserID: r.Share.GetGrantee().GetUserId(), @@ -55,12 +56,14 @@ func ShareCreated(r *collaboration.CreateShareResponse, executant *user.UserId) // ShareRemoved converts the response to an event func ShareRemoved(r *collaboration.RemoveShareResponse, req *collaboration.RemoveShareRequest, executant *user.UserId) events.ShareRemoved { - var userid *user.UserId - utils.ReadJSONFromOpaque(r.Opaque, "granteeuserid", &userid) - var groupid *group.GroupId - utils.ReadJSONFromOpaque(r.Opaque, "granteegroupid", &userid) - var rid *provider.ResourceId - utils.ReadJSONFromOpaque(r.Opaque, "resourceid", &rid) + var ( + userid *user.UserId + groupid *group.GroupId + rid *provider.ResourceId + ) + _ = utils.ReadJSONFromOpaque(r.Opaque, "granteeuserid", &userid) + _ = utils.ReadJSONFromOpaque(r.Opaque, "granteegroupid", &userid) + _ = utils.ReadJSONFromOpaque(r.Opaque, "resourceid", &rid) return events.ShareRemoved{ Executant: executant, ShareID: req.Ref.GetId(), diff --git a/pkg/events/sharing.go b/pkg/events/sharing.go index 5fd71a987ae..2551e5e3a4b 100644 --- a/pkg/events/sharing.go +++ b/pkg/events/sharing.go @@ -33,6 +33,7 @@ import ( // ShareCreated is emitted when a share is created type ShareCreated struct { + ShareID *collaboration.ShareId Executant *user.UserId Sharer *user.UserId // split the protobuf Grantee oneof so we can use stdlib encoding/json @@ -96,6 +97,7 @@ func (ShareUpdated) Unmarshal(v []byte) (interface{}, error) { // ShareExpired is emitted when a share expires type ShareExpired struct { + ShareID *collaboration.ShareId ShareOwner *user.UserId ItemID *provider.ResourceId ExpiredAt time.Time diff --git a/pkg/share/manager/jsoncs3/jsoncs3.go b/pkg/share/manager/jsoncs3/jsoncs3.go index e8bef7c055a..06805f255de 100644 --- a/pkg/share/manager/jsoncs3/jsoncs3.go +++ b/pkg/share/manager/jsoncs3/jsoncs3.go @@ -429,6 +429,7 @@ func (m *Manager) GetShare(ctx context.Context, ref *collaboration.ShareReferenc Msg("failed to unshare expired share") } if err := events.Publish(m.eventStream, events.ShareExpired{ + ShareID: s.GetId(), ShareOwner: s.GetOwner(), ItemID: s.GetResourceId(), ExpiredAt: time.Unix(int64(s.GetExpiration().GetSeconds()), int64(s.GetExpiration().GetNanos())),