diff --git a/pkg/services/libraryelements/database.go b/pkg/services/libraryelements/database.go index e07f3a08470..c68ee55c2a1 100644 --- a/pkg/services/libraryelements/database.go +++ b/pkg/services/libraryelements/database.go @@ -722,6 +722,9 @@ func (l *LibraryElementService) getConnections(c context.Context, signedInUser i } ds, err := l.dashboardsService.GetDashboardUIDByID(c, &dashboards.GetDashboardRefByIDQuery{ID: connection.ConnectionID}) if err != nil { + if errors.Is(err, dashboards.ErrDashboardNotFound) { + continue + } return err } connections = append(connections, model.LibraryElementConnectionDTO{ diff --git a/pkg/services/libraryelements/libraryelements_test.go b/pkg/services/libraryelements/libraryelements_test.go index ef2876736d9..fd7bb559a12 100644 --- a/pkg/services/libraryelements/libraryelements_test.go +++ b/pkg/services/libraryelements/libraryelements_test.go @@ -166,6 +166,10 @@ func TestGetLibraryPanelConnections(t *testing.T) { err := sc.service.ConnectElementsToDashboard(sc.reqContext.Req.Context(), sc.reqContext.SignedInUser, []string{sc.initialResult.Result.UID}, dashInDB.ID) require.NoError(t, err) + // add a connection where the dashboard doesn't exist. Shouldn't be returned in the list + err = sc.service.ConnectElementsToDashboard(sc.reqContext.Req.Context(), sc.reqContext.SignedInUser, []string{sc.initialResult.Result.UID}, 99999999) + require.NoError(t, err) + var expected = func(res model.LibraryElementConnectionsResponse) model.LibraryElementConnectionsResponse { return model.LibraryElementConnectionsResponse{ Result: []model.LibraryElementConnectionDTO{