We fixed the missing folder variable when folder renamed
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
Bugfix: Fixed the missing folder variable
|
||||
|
||||
We fixed the missing folder variable when folder renamed.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/10150
|
||||
https://github.com/owncloud/ocis/issues/10148
|
||||
@@ -134,19 +134,19 @@ func (s *ActivitylogService) HandleGetItemActivities(w http.ResponseWriter, r *h
|
||||
message = MessageResourceUpdated
|
||||
}
|
||||
ts = utils.TSToTime(ev.Timestamp)
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.FileRef, true), WithUser(nil, ev.ExecutingUser, ev.ImpersonatingUser), WithSpace(toSpace(ev.FileRef)))
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.FileRef, true), WithUser(nil, ev.ExecutingUser, ev.ImpersonatingUser))
|
||||
case events.FileTouched:
|
||||
message = MessageResourceCreated
|
||||
ts = utils.TSToTime(ev.Timestamp)
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.Ref, true), WithUser(ev.Executant, nil, ev.ImpersonatingUser), WithSpace(toSpace(ev.Ref)))
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.Ref, true), WithUser(ev.Executant, nil, ev.ImpersonatingUser))
|
||||
case events.ContainerCreated:
|
||||
message = MessageResourceCreated
|
||||
ts = utils.TSToTime(ev.Timestamp)
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.Ref, true), WithUser(ev.Executant, nil, ev.ImpersonatingUser), WithSpace(toSpace(ev.Ref)))
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.Ref, true), WithUser(ev.Executant, nil, ev.ImpersonatingUser))
|
||||
case events.ItemTrashed:
|
||||
message = MessageResourceTrashed
|
||||
ts = utils.TSToTime(ev.Timestamp)
|
||||
vars, err = s.GetVars(ctx, WithTrashedResource(ev.Ref, ev.ID), WithUser(ev.Executant, nil, ev.ImpersonatingUser), WithSpace(toSpace(ev.Ref)))
|
||||
vars, err = s.GetVars(ctx, WithTrashedResource(ev.Ref, ev.ID), WithUser(ev.Executant, nil, ev.ImpersonatingUser))
|
||||
case events.ItemMoved:
|
||||
switch isRename(ev.OldReference, ev.Ref) {
|
||||
case true:
|
||||
@@ -154,7 +154,7 @@ func (s *ActivitylogService) HandleGetItemActivities(w http.ResponseWriter, r *h
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.Ref, false), WithOldResource(ev.OldReference), WithUser(ev.Executant, nil, ev.ImpersonatingUser))
|
||||
case false:
|
||||
message = MessageResourceMoved
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.Ref, true), WithUser(ev.Executant, nil, ev.ImpersonatingUser), WithSpace(toSpace(ev.Ref)))
|
||||
vars, err = s.GetVars(ctx, WithResource(ev.Ref, true), WithUser(ev.Executant, nil, ev.ImpersonatingUser))
|
||||
}
|
||||
ts = utils.TSToTime(ev.Timestamp)
|
||||
case events.ShareCreated:
|
||||
|
||||
@@ -80,6 +80,18 @@ func WithResource(ref *provider.Reference, addSpace bool) ActivityOption {
|
||||
vars["resource"] = Resource{
|
||||
Name: filepath.Base(ref.GetPath()),
|
||||
}
|
||||
n := filepath.Base(filepath.Dir(ref.GetPath()))
|
||||
if n == "." || n == "/" {
|
||||
s, err := utils.GetSpace(ctx, toSpace(ref).GetOpaqueId(), gwc)
|
||||
if err == nil {
|
||||
n = s.GetName()
|
||||
} else {
|
||||
n = "root"
|
||||
}
|
||||
}
|
||||
vars["folder"] = Resource{
|
||||
Name: n,
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -88,16 +100,6 @@ func WithResource(ref *provider.Reference, addSpace bool) ActivityOption {
|
||||
Name: info.GetName(),
|
||||
}
|
||||
|
||||
parent, err := utils.GetResourceByID(ctx, info.GetParentId(), gwc)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
vars["folder"] = Resource{
|
||||
ID: info.GetParentId().GetOpaqueId(),
|
||||
Name: parent.GetName(),
|
||||
}
|
||||
|
||||
if addSpace {
|
||||
vars["space"] = Resource{
|
||||
ID: info.GetSpace().GetId().GetOpaqueId(),
|
||||
@@ -105,6 +107,15 @@ func WithResource(ref *provider.Reference, addSpace bool) ActivityOption {
|
||||
}
|
||||
}
|
||||
|
||||
parent, err := utils.GetResourceByID(ctx, info.GetParentId(), gwc)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
vars["folder"] = Resource{
|
||||
ID: info.GetParentId().GetOpaqueId(),
|
||||
Name: parent.GetName(),
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
}
|
||||
@@ -126,6 +137,18 @@ func WithTrashedResource(ref *provider.Reference, rid *provider.ResourceId) Acti
|
||||
vars["resource"] = Resource{
|
||||
Name: filepath.Base(ref.GetPath()),
|
||||
}
|
||||
n := filepath.Base(filepath.Dir(ref.GetPath()))
|
||||
if n == "." || n == "/" {
|
||||
s, err := utils.GetSpace(ctx, toSpace(ref).GetOpaqueId(), gwc)
|
||||
if err == nil {
|
||||
n = s.GetName()
|
||||
} else {
|
||||
n = "root"
|
||||
}
|
||||
}
|
||||
vars["folder"] = Resource{
|
||||
Name: n,
|
||||
}
|
||||
|
||||
resp, err := gwc.ListRecycle(ctx, &provider.ListRecycleRequest{
|
||||
Ref: ref,
|
||||
@@ -145,6 +168,12 @@ func WithTrashedResource(ref *provider.Reference, rid *provider.ResourceId) Acti
|
||||
ID: storagespace.FormatResourceID(rid),
|
||||
Name: filepath.Base(item.GetRef().GetPath()),
|
||||
}
|
||||
in := filepath.Base(filepath.Dir(item.GetRef().GetPath()))
|
||||
if in != "." && in != "/" {
|
||||
vars["folder"] = Resource{
|
||||
Name: in,
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
@@ -231,11 +260,6 @@ func WithSharee(uid *user.UserId, gid *group.GroupId) ActivityOption {
|
||||
// WithSpace sets the space variable for an activity
|
||||
func WithSpace(spaceid *provider.StorageSpaceId) ActivityOption {
|
||||
return func(ctx context.Context, gwc gateway.GatewayAPIClient, vars map[string]interface{}) error {
|
||||
if _, ok := vars["space"]; ok {
|
||||
// do not override space if already set
|
||||
return nil
|
||||
}
|
||||
|
||||
s, err := utils.GetSpace(ctx, spaceid.GetOpaqueId(), gwc)
|
||||
if err != nil {
|
||||
vars["space"] = Resource{
|
||||
|
||||
Reference in New Issue
Block a user