From 39cd688f9f604e4a54762e6045701149f998329f Mon Sep 17 00:00:00 2001 From: Benjamin Kuen Date: Wed, 27 Dec 2023 19:58:16 +0100 Subject: [PATCH] Add policy entity --- internal/pkg/wizard/domain/policy/entity.go | 43 +++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 internal/pkg/wizard/domain/policy/entity.go diff --git a/internal/pkg/wizard/domain/policy/entity.go b/internal/pkg/wizard/domain/policy/entity.go new file mode 100644 index 0000000..5eb01fe --- /dev/null +++ b/internal/pkg/wizard/domain/policy/entity.go @@ -0,0 +1,43 @@ +package policy + +import ( + "github.com/google/uuid" + "time" +) + +type RetentionKind string +type Weekday string + +const ( + RetentionKindHourly RetentionKind = "hourly" + RetentionKindDaily RetentionKind = "daily" + RetentionKindWeekly RetentionKind = "weekly" + RetentionKindMonthly RetentionKind = "monthly" + + WeekdayMonday Weekday = "monday" + WeekdayTuesday Weekday = "tuesday" + WeekdayWednesday Weekday = "wednesday" + WeekdayThursday Weekday = "thursday" + WeekdayFriday Weekday = "friday" + WeekdaySaturday Weekday = "saturday" + WeekdaySunday Weekday = "sunday" +) + +type Policy struct { + ID uuid.UUID + Retentions []*Retention + Schedules []*Schedule +} + +type Retention struct { + PolicyID uuid.UUID + Kind RetentionKind + Amount uint +} + +type Schedule struct { + PolicyID uuid.UUID + Kind RetentionKind + Weekday Weekday + Time time.Duration +}