Merge pull request #7410 from kobergj/DeleteUserlogEvents

[full-ci] Delete userlog events
This commit is contained in:
kobergj
2023-10-05 09:20:25 +02:00
committed by GitHub
10 changed files with 100 additions and 31 deletions
+15
View File
@@ -61,6 +61,7 @@ func (ul *UserlogService) HandleGetEvents(w http.ResponseWriter, r *http.Request
conv := NewConverter(ctx, r.Header.Get(HeaderAcceptLanguage), gwc, ul.cfg.Service.Name, ul.cfg.TranslationPath)
var outdatedEvents []string
resp := GetEventResponseOC10{}
for _, e := range evs {
etype, ok := ul.registeredEvents[e.Type]
@@ -77,6 +78,10 @@ func (ul *UserlogService) HandleGetEvents(w http.ResponseWriter, r *http.Request
noti, err := conv.ConvertEvent(e.Id, einterface)
if err != nil {
if utils.IsErrNotFound(err) || utils.IsErrPermissionDenied(err) {
outdatedEvents = append(outdatedEvents, e.Id)
continue
}
ul.log.Error().Err(err).Str("eventid", e.Id).Str("eventtype", e.Type).Msg("failed to convert event")
continue
}
@@ -84,6 +89,16 @@ func (ul *UserlogService) HandleGetEvents(w http.ResponseWriter, r *http.Request
resp.OCS.Data = append(resp.OCS.Data, noti)
}
// delete outdated events asynchronously
if len(outdatedEvents) > 0 {
go func() {
err := ul.DeleteEvents(u.GetId().GetOpaqueId(), outdatedEvents)
if err != nil {
ul.log.Error().Err(err).Msg("failed to delete events")
}
}()
}
glevs, err := ul.GetGlobalEvents(ctx)
if err != nil {
ul.log.Error().Err(err).Int("returned statuscode", http.StatusInternalServerError).Msg("get global events failed")