From 94dbc3fa8f3f9648fc52407c2632ca0cd9085aa5 Mon Sep 17 00:00:00 2001 From: Shengwen YU Date: Fri, 17 Feb 2023 17:54:53 +0800 Subject: [PATCH] fix: add "next_scheduled_time" (#18102) Signed-off-by: Shengwen Yu --- src/pkg/retention/manager.go | 8 ++++++++ src/pkg/retention/policy/models.go | 3 +++ 2 files changed, 11 insertions(+) diff --git a/src/pkg/retention/manager.go b/src/pkg/retention/manager.go index 8b36d0a93..a04ac8674 100644 --- a/src/pkg/retention/manager.go +++ b/src/pkg/retention/manager.go @@ -21,7 +21,9 @@ import ( "time" "github.com/beego/beego/v2/client/orm" + "github.com/go-openapi/strfmt" + "github.com/goharbor/harbor/src/common/utils" "github.com/goharbor/harbor/src/pkg/retention/dao" "github.com/goharbor/harbor/src/pkg/retention/dao/models" "github.com/goharbor/harbor/src/pkg/retention/policy" @@ -92,6 +94,12 @@ func (d *DefaultManager) GetPolicy(ctx context.Context, id int64) (*policy.Metad return nil, err } p.ID = id + if p.Trigger.Kind == policy.TriggerKindSchedule { + cron, ok := p.Trigger.Settings[policy.TriggerSettingsCron] + if ok && len(cron.(string)) > 0 { + p.Trigger.Settings[policy.TriggerSettingNextScheduledTime] = strfmt.DateTime(utils.NextSchedule(cron.(string), time.Now())) + } + } return p, nil } diff --git a/src/pkg/retention/policy/models.go b/src/pkg/retention/policy/models.go index c58daf63f..42b4d20fb 100644 --- a/src/pkg/retention/policy/models.go +++ b/src/pkg/retention/policy/models.go @@ -32,6 +32,9 @@ const ( // TriggerSettingsCron cron TriggerSettingsCron = "cron" + // TriggerSettingNextScheduledTime next_scheduled_time + TriggerSettingNextScheduledTime = "next_scheduled_time" + // ScopeLevelProject project ScopeLevelProject = "project" )