From 2f3aff0e04a22524e7d441a329a96aa49d5dfc88 Mon Sep 17 00:00:00 2001 From: Kevin Minehart <5140827+kminehart@users.noreply.github.com> Date: Tue, 4 Mar 2025 09:02:54 -0600 Subject: [PATCH] Dashboards: Prevent title longer than 5 000 characters (#101554) Co-authored-by: AgnesToulet <35176601+AgnesToulet@users.noreply.github.com> --- pkg/services/dashboards/errors.go | 5 +++++ pkg/services/dashboards/service/dashboard_service.go | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/pkg/services/dashboards/errors.go b/pkg/services/dashboards/errors.go index 93f6b1152e0..8665015c940 100644 --- a/pkg/services/dashboards/errors.go +++ b/pkg/services/dashboards/errors.go @@ -42,6 +42,11 @@ var ( StatusCode: 400, Status: "empty-name", } + ErrDashboardTitleTooLong = DashboardErr{ + Reason: "Dashboard title cannot contain more than 5 000 characters", + StatusCode: 400, + Status: "title-too-long", + } ErrDashboardFolderCannotHaveParent = DashboardErr{ Reason: "A Dashboard Folder cannot be added to another folder", StatusCode: 400, diff --git a/pkg/services/dashboards/service/dashboard_service.go b/pkg/services/dashboards/service/dashboard_service.go index 2d3e7c8fb07..53b705a8359 100644 --- a/pkg/services/dashboards/service/dashboard_service.go +++ b/pkg/services/dashboards/service/dashboard_service.go @@ -341,6 +341,10 @@ func (dr *DashboardServiceImpl) BuildSaveDashboardCommand(ctx context.Context, d return nil, dashboards.ErrDashboardTitleEmpty } + if len(dash.Title) > 5000 { + return nil, dashboards.ErrDashboardTitleTooLong + } + if len(dto.Message) > 500 { return nil, dashboards.ErrDashboardMessageTooLong }