From cc1bb3083f1957f0b45dd6e5131a8c0a837919b4 Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 6 Sep 2021 22:14:38 +0200 Subject: [PATCH] Don't try to export items which do not have a parent --- pkg/models/export.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/models/export.go b/pkg/models/export.go index 2b600c37fa0..eec59db5aee 100644 --- a/pkg/models/export.go +++ b/pkg/models/export.go @@ -185,6 +185,10 @@ func exportListsAndTasks(s *xorm.Session, u *user.User, wr *zip.Writer) (err err taskMap[t.ID] = &TaskWithComments{ Task: *t, } + if _, exists := listMap[t.ListID]; !exists { + log.Debugf("[User Data Export] List %d does not exist for task %d, ommitting", t.ListID, t.ID) + continue + } listMap[t.ListID].Tasks = append(listMap[t.ListID].Tasks, taskMap[t.ID]) } @@ -198,6 +202,10 @@ func exportListsAndTasks(s *xorm.Session, u *user.User, wr *zip.Writer) (err err } for _, c := range comments { + if _, exists := taskMap[c.TaskID]; !exists { + log.Debugf("[User Data Export] Task %d does not exist for comment %d, ommitting", c.TaskID, c.ID) + continue + } taskMap[c.TaskID].Comments = append(taskMap[c.TaskID].Comments, c) } @@ -208,6 +216,10 @@ func exportListsAndTasks(s *xorm.Session, u *user.User, wr *zip.Writer) (err err } for _, b := range buckets { + if _, exists := listMap[b.ListID]; !exists { + log.Debugf("[User Data Export] List %d does not exist for bucket %d, ommitting", b.ListID, b.ID) + continue + } listMap[b.ListID].Buckets = append(listMap[b.ListID].Buckets, b) }