Merge pull request #10162 from kobergj/DownloadedActivity

FileDownloaded Activity
This commit is contained in:
kobergj
2024-09-27 10:46:10 +02:00
committed by GitHub
5 changed files with 29 additions and 13 deletions

View File

@@ -0,0 +1,5 @@
Enhancement: FileDownloaded Activity
Add an activity when a file gets downloaded via public link
https://github.com/owncloud/ocis/pull/10161

View File

@@ -31,6 +31,7 @@ var _registeredEvents = []events.Unmarshaller{
events.UploadReady{},
events.FileTouched{},
events.ContainerCreated{},
events.FileDownloaded{},
events.ItemTrashed{},
events.ItemPurged{},
events.ItemMoved{},

View File

@@ -135,6 +135,10 @@ func (s *ActivitylogService) HandleGetItemActivities(w http.ResponseWriter, r *h
message = MessageResourceCreated
ts = utils.TSToTime(ev.Timestamp)
vars, err = s.GetVars(ctx, WithResource(ev.Ref, false), WithUser(ev.Executant, nil, ev.ImpersonatingUser))
case events.FileDownloaded:
message = MessageResourceDownloaded
ts = utils.TSToTime(ev.Timestamp)
vars, err = s.GetVars(ctx, WithResource(ev.Ref, false), WithUser(ev.Executant, nil, ev.ImpersonatingUser), WithVar("token", "", ev.ImpersonatingUser.GetId().GetOpaqueId()))
case events.ContainerCreated:
message = MessageResourceCreated
ts = utils.TSToTime(ev.Timestamp)

View File

@@ -21,19 +21,20 @@ import (
// Translations
var (
MessageResourceCreated = l10n.Template("{user} added {resource} to {folder}")
MessageResourceUpdated = l10n.Template("{user} updated {resource} in {folder}")
MessageResourceTrashed = l10n.Template("{user} deleted {resource} from {folder}")
MessageResourceMoved = l10n.Template("{user} moved {resource} to {folder}")
MessageResourceRenamed = l10n.Template("{user} renamed {oldResource} to {resource}")
MessageShareCreated = l10n.Template("{user} shared {resource} with {sharee}")
MessageShareUpdated = l10n.Template("{user} updated {field} for the {resource}")
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}")
MessageResourceCreated = l10n.Template("{user} added {resource} to {folder}")
MessageResourceUpdated = l10n.Template("{user} updated {resource} in {folder}")
MessageResourceDownloaded = l10n.Template("{resource} was downloaded via public link {token}")
MessageResourceTrashed = l10n.Template("{user} deleted {resource} from {folder}")
MessageResourceMoved = l10n.Template("{user} moved {resource} to {folder}")
MessageResourceRenamed = l10n.Template("{user} renamed {oldResource} to {resource}")
MessageShareCreated = l10n.Template("{user} shared {resource} with {sharee}")
MessageShareUpdated = l10n.Template("{user} updated {field} for the {resource}")
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}")
StrSomeField = l10n.Template("some field")
StrPermission = l10n.Template("permission")

View File

@@ -100,6 +100,11 @@ func (a *ActivitylogService) Run() {
err = a.AddActivity(ev.FileRef, e.ID, utils.TSToTime(ev.Timestamp))
case events.FileTouched:
err = a.AddActivity(ev.Ref, e.ID, utils.TSToTime(ev.Timestamp))
case events.FileDownloaded:
// we are only interested in public link downloads - so no need to store others.
if ev.ImpersonatingUser.GetDisplayName() == "Public" {
err = a.AddActivity(ev.Ref, e.ID, utils.TSToTime(ev.Timestamp))
}
case events.ContainerCreated:
err = a.AddActivity(ev.Ref, e.ID, utils.TSToTime(ev.Timestamp))
case events.ItemTrashed: