diff --git a/pkg/services/dashboards/errors.go b/pkg/services/dashboards/errors.go index af11c84f652..86e1974d3ec 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 2881db09436..2bb1eddb7af 100644 --- a/pkg/services/dashboards/service/dashboard_service.go +++ b/pkg/services/dashboards/service/dashboard_service.go @@ -348,6 +348,10 @@ func (dr *DashboardServiceImpl) BuildSaveDashboardCommand(ctx context.Context, d return nil, dashboards.ErrDashboardTitleEmpty } + if len(dash.Title) > 5000 { + return nil, dashboards.ErrDashboardTitleTooLong + } + metrics.MFolderIDsServiceCount.WithLabelValues(metrics.Dashboard).Inc() // nolint:staticcheck if dash.IsFolder && dash.FolderID > 0 {