From 897a6e5d5c9d150c75c4fa7934e5db4b1860219f Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 24 Dec 2022 14:34:59 +0100 Subject: [PATCH] fix(caldav): use const for repeat modes --- pkg/caldav/caldav.go | 8 +++++--- pkg/caldav/caldav_test.go | 6 ++++-- pkg/caldav/parsing.go | 7 +------ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/pkg/caldav/caldav.go b/pkg/caldav/caldav.go index 998cc27c14..3431fb1ad9 100644 --- a/pkg/caldav/caldav.go +++ b/pkg/caldav/caldav.go @@ -22,6 +22,8 @@ import ( "strings" "time" + "code.vikunja.io/api/pkg/models" + "code.vikunja.io/api/pkg/user" "code.vikunja.io/api/pkg/utils" ) @@ -62,7 +64,7 @@ type Todo struct { DueDate time.Time Duration time.Duration RepeatAfter int64 - RepeatMode string + RepeatMode models.TaskRepeatMode Created time.Time Updated time.Time // last-mod @@ -227,8 +229,8 @@ CREATED:` + makeCalDavTimeFromTimeStamp(t.Created) PRIORITY:` + strconv.Itoa(mapPriorityToCaldav(t.Priority)) } - if t.RepeatAfter > 0 || t.RepeatMode == "MONTHLY" { - if t.RepeatMode == "MONTHLY" { + if t.RepeatAfter > 0 || t.RepeatMode == models.TaskRepeatModeMonth { + if t.RepeatMode == models.TaskRepeatModeMonth { caldavtodos += ` RRULE:FREQ=MONTHLY;BYMONTHDAY=` + t.DueDate.Format("02") // Day of the month } else { diff --git a/pkg/caldav/caldav_test.go b/pkg/caldav/caldav_test.go index 3e9cfee7e5..f5e3ab13f0 100644 --- a/pkg/caldav/caldav_test.go +++ b/pkg/caldav/caldav_test.go @@ -20,6 +20,8 @@ import ( "testing" "time" + "code.vikunja.io/api/pkg/models" + "code.vikunja.io/api/pkg/config" "github.com/stretchr/testify/assert" ) @@ -423,7 +425,7 @@ END:VCALENDAR`, Description: "Lorem Ipsum", UID: "randommduid", Timestamp: time.Unix(1543626724, 0).In(config.GetTimeZone()), - RepeatMode: "MONTHLY", + RepeatMode: models.TaskRepeatModeMonth, DueDate: time.Unix(1543626724, 0).In(config.GetTimeZone()), }, }, @@ -458,7 +460,7 @@ END:VCALENDAR`, Description: "Lorem Ipsum", UID: "randommduid", Timestamp: time.Unix(1543626724, 0).In(config.GetTimeZone()), - RepeatMode: "DEFAULT", + RepeatMode: models.TaskRepeatModeDefault, DueDate: time.Unix(1543626724, 0).In(config.GetTimeZone()), RepeatAfter: 435, }, diff --git a/pkg/caldav/parsing.go b/pkg/caldav/parsing.go index 9c7463d081..d9c4190865 100644 --- a/pkg/caldav/parsing.go +++ b/pkg/caldav/parsing.go @@ -35,11 +35,6 @@ func GetCaldavTodosForTasks(list *models.ListWithTasksAndBuckets, listTasks []*m duration := t.EndDate.Sub(t.StartDate) - repeatMode := "DEFAULT" - if t.RepeatMode == models.TaskRepeatModeMonth { - repeatMode = "MONTHLY" - } - caldavtodos = append(caldavtodos, &Todo{ Timestamp: t.Updated, UID: t.UID, @@ -55,7 +50,7 @@ func GetCaldavTodosForTasks(list *models.ListWithTasksAndBuckets, listTasks []*m DueDate: t.DueDate, Duration: duration, RepeatAfter: t.RepeatAfter, - RepeatMode: repeatMode, + RepeatMode: t.RepeatMode, }) }