From 534d04a1db4dea2a5257ba71f4f5c107a3fbeddb Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 1 Mar 2023 22:18:59 +0100 Subject: [PATCH] fix(task): correctly load tasks by id and uuid in caldav Partially reverts 1afc72e1906c02b093bb6d9748235b93ab0eb181 --- pkg/models/tasks.go | 2 +- pkg/routes/caldav/listStorageProvider.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/models/tasks.go b/pkg/models/tasks.go index 130b8f2b524..2a66ccbb2cf 100644 --- a/pkg/models/tasks.go +++ b/pkg/models/tasks.go @@ -1612,7 +1612,7 @@ func (t *Task) Delete(s *xorm.Session, a web.Auth) (err error) { // @Router /tasks/{ID} [get] func (t *Task) ReadOne(s *xorm.Session, a web.Auth) (err error) { - *t, err = GetTaskSimple(s, t) + *t, err = GetTaskByIDSimple(s, t.ID) if err != nil { return } diff --git a/pkg/routes/caldav/listStorageProvider.go b/pkg/routes/caldav/listStorageProvider.go index e2c5d3c8b70..9302ebf1897 100644 --- a/pkg/routes/caldav/listStorageProvider.go +++ b/pkg/routes/caldav/listStorageProvider.go @@ -210,7 +210,7 @@ func (vcls *VikunjaCaldavListStorage) GetResource(rpath string) (*data.Resource, // save and override the updated unix date to not break any later etag checks updated := vcls.task.Updated - err := vcls.task.ReadOne(s, vcls.user) + tasks, err := models.GetTasksByUIDs(s, []string{vcls.task.UID}, vcls.user) if err != nil { _ = s.Rollback() if models.IsErrTaskDoesNotExist(err) { @@ -222,6 +222,11 @@ func (vcls *VikunjaCaldavListStorage) GetResource(rpath string) (*data.Resource, return nil, false, err } + if len(tasks) < 1 { + return nil, false, errs.ResourceNotFoundError + } + vcls.task = tasks[0] + if updated.Unix() > 0 { vcls.task.Updated = updated }