From 51c2497e6d9aa9e86671cb11badb90bd7912a5da Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 30 May 2025 09:31:59 +0200 Subject: [PATCH] feat: add shareType to sharees field on activities api (#954) --- services/activitylog/pkg/service/response.go | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/services/activitylog/pkg/service/response.go b/services/activitylog/pkg/service/response.go index 596656c08f..0aa9f26452 100644 --- a/services/activitylog/pkg/service/response.go +++ b/services/activitylog/pkg/service/response.go @@ -12,9 +12,9 @@ import ( user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" + libregraph "github.com/opencloud-eu/libre-graph-api-go" "github.com/opencloud-eu/reva/v2/pkg/storagespace" "github.com/opencloud-eu/reva/v2/pkg/utils" - libregraph "github.com/opencloud-eu/libre-graph-api-go" "github.com/opencloud-eu/opencloud/pkg/l10n" ) @@ -61,6 +61,13 @@ type Actor struct { DisplayName string `json:"displayName"` } +// Sharee represents a share reciever (group or user) +type Sharee struct { + ID string `json:"id"` + DisplayName string `json:"displayName"` + ShareType string `json:"shareType"` +} + // ActivityOption allows setting variables for an activity type ActivityOption func(context.Context, gateway.GatewayAPIClient, map[string]interface{}) error @@ -204,20 +211,23 @@ func WithSharee(uid *user.UserId, gid *group.GroupId) ActivityOption { case uid != nil: u, err := utils.GetUser(uid, gwc) if err != nil { - vars["sharee"] = Actor{ + vars["sharee"] = Sharee{ DisplayName: "DeletedUser", + ShareType: "user", } return err } - vars["sharee"] = Actor{ + vars["sharee"] = Sharee{ ID: uid.GetOpaqueId(), DisplayName: u.GetUsername(), + ShareType: "user", } case gid != nil: - vars["sharee"] = Actor{ + vars["sharee"] = Sharee{ ID: gid.GetOpaqueId(), DisplayName: "DeletedGroup", + ShareType: "group", } r, err := gwc.GetGroup(ctx, &group.GetGroupRequest{GroupId: gid}) if err != nil { @@ -228,9 +238,10 @@ func WithSharee(uid *user.UserId, gid *group.GroupId) ActivityOption { return fmt.Errorf("error getting group: %s", r.GetStatus().GetMessage()) } - vars["sharee"] = Actor{ + vars["sharee"] = Sharee{ ID: gid.GetOpaqueId(), DisplayName: r.GetGroup().GetDisplayName(), + ShareType: "group", } }