mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
PublicDashboards: Paused or deleted public dashboard screen (#63970)
This commit is contained in:
@@ -43,6 +43,7 @@ func (api *Api) ViewPublicDashboard(c *contextmodel.ReqContext) response.Respons
|
||||
IsFolder: false,
|
||||
FolderId: dash.FolderID,
|
||||
PublicDashboardAccessToken: pubdash.AccessToken,
|
||||
PublicDashboardEnabled: pubdash.IsEnabled,
|
||||
}
|
||||
dash.Data.Get("timepicker").Set("hidden", !pubdash.TimeSelectionEnabled)
|
||||
|
||||
|
||||
@@ -190,11 +190,11 @@ func (d *PublicDashboardStoreImpl) ExistsEnabledByAccessToken(ctx context.Contex
|
||||
return hasPublicDashboard, err
|
||||
}
|
||||
|
||||
// GetOrgIdByAccessToken Returns the public dashboard OrgId if exists and is enabled.
|
||||
// GetOrgIdByAccessToken Returns the public dashboard OrgId if exists.
|
||||
func (d *PublicDashboardStoreImpl) GetOrgIdByAccessToken(ctx context.Context, accessToken string) (int64, error) {
|
||||
var orgId int64
|
||||
err := d.sqlStore.WithDbSession(ctx, func(dbSession *db.Session) error {
|
||||
sql := "SELECT org_id FROM dashboard_public WHERE access_token=? AND is_enabled=true"
|
||||
sql := "SELECT org_id FROM dashboard_public WHERE access_token=?"
|
||||
|
||||
_, err := dbSession.SQL(sql, accessToken).Get(&orgId)
|
||||
if err != nil {
|
||||
|
||||
@@ -597,7 +597,7 @@ func TestIntegrationGetOrgIdByAccessToken(t *testing.T) {
|
||||
assert.Equal(t, savedDashboard.OrgID, orgId)
|
||||
})
|
||||
|
||||
t.Run("GetOrgIdByAccessToken will return 0 when IsEnabled=false", func(t *testing.T) {
|
||||
t.Run("GetOrgIdByAccessToken will return current OrgId when IsEnabled=false", func(t *testing.T) {
|
||||
setup()
|
||||
cmd := SavePublicDashboardCommand{
|
||||
PublicDashboard: PublicDashboard{
|
||||
@@ -616,7 +616,7 @@ func TestIntegrationGetOrgIdByAccessToken(t *testing.T) {
|
||||
|
||||
orgId, err := publicdashboardStore.GetOrgIdByAccessToken(context.Background(), "accessToken")
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, savedDashboard.OrgID, orgId)
|
||||
assert.Equal(t, savedDashboard.OrgID, orgId)
|
||||
})
|
||||
|
||||
t.Run("GetOrgIdByAccessToken will return 0 when no public dashboard has matching access token", func(t *testing.T) {
|
||||
|
||||
@@ -20,4 +20,6 @@ var (
|
||||
ErrInvalidMaxDataPoints = errutil.NewBase(errutil.StatusBadRequest, "publicdashboards.maxDataPoints", errutil.WithPublicMessage("maxDataPoints should be greater than 0"))
|
||||
ErrInvalidTimeRange = errutil.NewBase(errutil.StatusBadRequest, "publicdashboards.invalidTimeRange", errutil.WithPublicMessage("Invalid time range"))
|
||||
ErrInvalidShareType = errutil.NewBase(errutil.StatusBadRequest, "publicdashboards.invalidShareType", errutil.WithPublicMessage("Invalid share type"))
|
||||
|
||||
ErrPublicDashboardNotEnabled = errutil.NewBase(errutil.StatusForbidden, "publicdashboards.notEnabled", errutil.WithPublicMessage("Public dashboard paused"))
|
||||
)
|
||||
|
||||
@@ -113,7 +113,7 @@ func (pd *PublicDashboardServiceImpl) FindPublicDashboardAndDashboardByAccessTok
|
||||
}
|
||||
|
||||
if !pubdash.IsEnabled {
|
||||
return nil, nil, ErrPublicDashboardNotFound.Errorf("FindPublicDashboardAndDashboardByAccessToken: Public dashboard is disabled accessToken: %s", accessToken)
|
||||
return nil, nil, ErrPublicDashboardNotEnabled.Errorf("FindPublicDashboardAndDashboardByAccessToken: Public dashboard is paused accessToken: %s", accessToken)
|
||||
}
|
||||
|
||||
dash, err := pd.store.FindDashboard(ctx, pubdash.OrgId, pubdash.DashboardUid)
|
||||
|
||||
Reference in New Issue
Block a user