From 27d8cf38091bc6f9e6c410031097acb6b1c0cd22 Mon Sep 17 00:00:00 2001 From: Evgeny Martyn Date: Wed, 29 May 2024 13:40:13 +0300 Subject: [PATCH] [api] save dash meta (#1228) --- internal/api/handler.go | 4 ++-- internal/metajournal/metadata.go | 20 ++++++-------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/internal/api/handler.go b/internal/api/handler.go index b0901e02d..91643d246 100644 --- a/internal/api/handler.go +++ b/internal/api/handler.go @@ -1479,7 +1479,7 @@ func (h *Handler) handleGetDashboardList(ai accessInfo, showInvisible bool) (*Ge return resp, defaultCacheTTL, nil } -func (h *Handler) handlePostDashboard(ctx context.Context, _ accessInfo, dash DashboardMetaInfo, create, delete bool) (*DashboardInfo, error) { +func (h *Handler) handlePostDashboard(ctx context.Context, ai accessInfo, dash DashboardMetaInfo, create, delete bool) (*DashboardInfo, error) { if !create { if _, ok := format.BuiltinDashboardByID[dash.DashboardID]; ok { return &DashboardInfo{}, httpErr(http.StatusBadRequest, fmt.Errorf("can't edit builtin dashboard %d", dash.DashboardID)) @@ -1499,7 +1499,7 @@ func (h *Handler) handlePostDashboard(ctx context.Context, _ accessInfo, dash Da UpdateTime: dash.UpdateTime, DeleteTime: dash.DeletedTime, JSONData: dash.JSONData, - }, create, delete) + }, create, delete, ai.toMetadata()) if err != nil { s := "edit" if create { diff --git a/internal/metajournal/metadata.go b/internal/metajournal/metadata.go index d99f76812..10d6acb3a 100644 --- a/internal/metajournal/metadata.go +++ b/internal/metajournal/metadata.go @@ -26,7 +26,6 @@ import ( const ( pmcBigNegativeCacheTTL = 1 * time.Hour DefaultMetaTimeout = 2 * time.Second - saveMeta = true ) var errorInvalidUserRequest = errors.New("") @@ -47,7 +46,7 @@ func NewMetricMetaLoader(client *tlmetadata.Client, loadTimeout time.Duration) * } } -func (l *MetricMetaLoader) SaveDashboard(ctx context.Context, value format.DashboardMeta, create, remove bool) (format.DashboardMeta, error) { +func (l *MetricMetaLoader) SaveDashboard(ctx context.Context, value format.DashboardMeta, create, remove bool, metadata string) (format.DashboardMeta, error) { if !format.ValidDashboardName(value.Name) { return format.DashboardMeta{}, fmt.Errorf("invalid dashboard name %w: %q", errorInvalidUserRequest, value.Name) } @@ -66,6 +65,7 @@ func (l *MetricMetaLoader) SaveDashboard(ctx context.Context, value format.Dashb } editMetricReq.SetCreate(create) editMetricReq.SetDelete(remove) + editMetricReq.Event.SetMetadata(metadata) ctx, cancelFunc := context.WithTimeout(ctx, l.loadTimeout) defer cancelFunc() event := tlmetadata.Event{} @@ -115,9 +115,7 @@ func (l *MetricMetaLoader) SaveMetricsGroup(ctx context.Context, value format.Me } // todo add namespace after meta release editMetricReq.SetCreate(create) - if saveMeta { - editMetricReq.Event.SetMetadata(metadata) - } + editMetricReq.Event.SetMetadata(metadata) ctx, cancelFunc := context.WithTimeout(ctx, l.loadTimeout) defer cancelFunc() event := tlmetadata.Event{} @@ -163,9 +161,7 @@ func (l *MetricMetaLoader) SaveNamespace(ctx context.Context, value format.Names } // todo add namespace after meta release editMetricReq.SetCreate(create) - if saveMeta { - editMetricReq.Event.SetMetadata(metadata) - } + editMetricReq.Event.SetMetadata(metadata) ctx, cancelFunc := context.WithTimeout(ctx, l.loadTimeout) defer cancelFunc() event := tlmetadata.Event{} @@ -258,9 +254,7 @@ func (l *MetricMetaLoader) SaveMetric(ctx context.Context, value format.MetricMe } // todo add namespace after meta release editMetricReq.SetCreate(create) - if saveMeta { - editMetricReq.Event.SetMetadata(metadata) - } + editMetricReq.Event.SetMetadata(metadata) ctx, cancelFunc := context.WithTimeout(ctx, l.loadTimeout) defer cancelFunc() event := tlmetadata.Event{} @@ -370,9 +364,7 @@ func (l *MetricMetaLoader) SaveScrapeConfig(ctx context.Context, version int64, Data: config, }, } - if saveMeta { - editMetricReq.Event.SetMetadata(metadata) - } + editMetricReq.Event.SetMetadata(metadata) ctx, cancelFunc := context.WithTimeout(ctx, l.loadTimeout) defer cancelFunc() var event tlmetadata.Event