mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-02-23 05:59:28 -06:00
Added the LinkUpdated activity in the space context
This commit is contained in:
6
changelog/unreleased/fix-acitivity-update-public-link.md
Normal file
6
changelog/unreleased/fix-acitivity-update-public-link.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Bugfix: Added LinkUpdated activity
|
||||
|
||||
Added the LinkUpdated activity in the space context
|
||||
|
||||
https://github.com/owncloud/ocis/pull/10085
|
||||
https://github.com/owncloud/ocis/issues/10012
|
||||
@@ -37,6 +37,7 @@ var _registeredEvents = []events.Unmarshaller{
|
||||
events.ShareCreated{},
|
||||
events.ShareRemoved{},
|
||||
events.LinkCreated{},
|
||||
events.LinkUpdated{},
|
||||
events.LinkRemoved{},
|
||||
events.SpaceShared{},
|
||||
events.SpaceUnshared{},
|
||||
|
||||
@@ -145,6 +145,16 @@ func (s *ActivitylogService) HandleGetItemActivities(w http.ResponseWriter, r *h
|
||||
message = MessageLinkCreated
|
||||
ts = utils.TSToTime(ev.CTime)
|
||||
vars, err = s.GetVars(ctx, WithResource(toRef(ev.ItemID), false), WithUser(ev.Executant, ""))
|
||||
case events.LinkUpdated:
|
||||
if ev.Sharer != nil && ev.ItemID != nil && ev.Sharer.GetOpaqueId() == ev.ItemID.GetSpaceId() {
|
||||
continue
|
||||
}
|
||||
message = MessageLinkUpdated
|
||||
ts = utils.TSToTime(ev.CTime)
|
||||
vars, err = s.GetVars(ctx,
|
||||
WithResource(toRef(ev.ItemID), false),
|
||||
WithUser(ev.Executant, ""),
|
||||
WithLinkFieldUpdated(&ev))
|
||||
case events.LinkRemoved:
|
||||
message = MessageLinkDeleted
|
||||
ts = utils.TSToTime(ev.Timestamp)
|
||||
|
||||
@@ -11,6 +11,7 @@ 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"
|
||||
"github.com/cs3org/reva/v2/pkg/events"
|
||||
"github.com/cs3org/reva/v2/pkg/storagespace"
|
||||
"github.com/cs3org/reva/v2/pkg/utils"
|
||||
libregraph "github.com/owncloud/libre-graph-api-go"
|
||||
@@ -27,6 +28,7 @@ var (
|
||||
MessageShareCreated = l10n.Template("{user} shared {resource} with {sharee}")
|
||||
MessageShareDeleted = l10n.Template("{user} removed {sharee} from {resource}")
|
||||
MessageLinkCreated = l10n.Template("{user} shared {resource} via link")
|
||||
MessageLinkUpdated = l10n.Template("{user} updated {field} for a link {token} on {resource}")
|
||||
MessageLinkDeleted = l10n.Template("{user} removed link to {resource}")
|
||||
MessageSpaceShared = l10n.Template("{user} added {sharee} as member of {space}")
|
||||
MessageSpaceUnshared = l10n.Template("{user} removed {sharee} from {space}")
|
||||
@@ -215,6 +217,33 @@ func WithSpace(spaceid *provider.StorageSpaceId) ActivityOption {
|
||||
}
|
||||
}
|
||||
|
||||
func WithLinkFieldUpdated(e *events.LinkUpdated) ActivityOption {
|
||||
return func(_ context.Context, _ gateway.GatewayAPIClient, vars map[string]interface{}) error {
|
||||
f := "some field"
|
||||
switch e.FieldUpdated {
|
||||
case "TYPE_PERMISSIONS":
|
||||
f = "permission"
|
||||
case "TYPE_PASSWORD":
|
||||
f = "password"
|
||||
case "TYPE_EXPIRATION":
|
||||
f = "expiration date"
|
||||
case "TYPE_DISPLAYNAME":
|
||||
f = "display name"
|
||||
case "TYPE_DESCRIPTION":
|
||||
f = "description"
|
||||
}
|
||||
vars["field"] = Resource{
|
||||
ID: e.ItemID.GetOpaqueId(),
|
||||
Name: f,
|
||||
}
|
||||
vars["token"] = Resource{
|
||||
ID: e.ItemID.GetOpaqueId(),
|
||||
Name: e.Token,
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// NewActivity creates a new activity
|
||||
func NewActivity(message string, ts time.Time, eventID string, vars map[string]interface{}) libregraph.Activity {
|
||||
return libregraph.Activity{
|
||||
|
||||
@@ -114,6 +114,10 @@ func (a *ActivitylogService) Run() {
|
||||
err = a.AddActivity(toRef(ev.ItemID), e.ID, ev.Timestamp)
|
||||
case events.LinkCreated:
|
||||
err = a.AddActivity(toRef(ev.ItemID), e.ID, utils.TSToTime(ev.CTime))
|
||||
case events.LinkUpdated:
|
||||
if ev.Sharer != nil && ev.ItemID != nil && ev.Sharer.GetOpaqueId() != ev.ItemID.GetSpaceId() {
|
||||
err = a.AddActivity(toRef(ev.ItemID), e.ID, utils.TSToTime(ev.CTime))
|
||||
}
|
||||
case events.LinkRemoved:
|
||||
err = a.AddActivity(toRef(ev.ItemID), e.ID, utils.TSToTime(ev.Timestamp))
|
||||
case events.SpaceShared:
|
||||
|
||||
Reference in New Issue
Block a user