mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
PublicDashboards: add time picker enabled column (#59324)
This commit is contained in:
parent
3a9d4cc688
commit
c6cf774ac5
@ -233,9 +233,10 @@ func (d *PublicDashboardStoreImpl) Update(ctx context.Context, cmd SavePublicDas
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlResult, err := sess.Exec("UPDATE dashboard_public SET is_enabled = ?, annotations_enabled = ?, time_settings = ?, updated_by = ?, updated_at = ? WHERE uid = ?",
|
sqlResult, err := sess.Exec("UPDATE dashboard_public SET is_enabled = ?, annotations_enabled = ?, time_selection_enabled = ?, time_settings = ?, updated_by = ?, updated_at = ? WHERE uid = ?",
|
||||||
cmd.PublicDashboard.IsEnabled,
|
cmd.PublicDashboard.IsEnabled,
|
||||||
cmd.PublicDashboard.AnnotationsEnabled,
|
cmd.PublicDashboard.AnnotationsEnabled,
|
||||||
|
cmd.PublicDashboard.TimeSelectionEnabled,
|
||||||
string(timeSettingsJSON),
|
string(timeSettingsJSON),
|
||||||
cmd.PublicDashboard.UpdatedBy,
|
cmd.PublicDashboard.UpdatedBy,
|
||||||
cmd.PublicDashboard.UpdatedAt.UTC().Format("2006-01-02 15:04:05"),
|
cmd.PublicDashboard.UpdatedAt.UTC().Format("2006-01-02 15:04:05"),
|
||||||
|
@ -400,15 +400,16 @@ func TestIntegrationCreatePublicDashboard(t *testing.T) {
|
|||||||
setup()
|
setup()
|
||||||
cmd := SavePublicDashboardCommand{
|
cmd := SavePublicDashboardCommand{
|
||||||
PublicDashboard: PublicDashboard{
|
PublicDashboard: PublicDashboard{
|
||||||
IsEnabled: true,
|
IsEnabled: true,
|
||||||
AnnotationsEnabled: true,
|
AnnotationsEnabled: true,
|
||||||
Uid: "pubdash-uid",
|
TimeSelectionEnabled: true,
|
||||||
DashboardUid: savedDashboard.Uid,
|
Uid: "pubdash-uid",
|
||||||
OrgId: savedDashboard.OrgId,
|
DashboardUid: savedDashboard.Uid,
|
||||||
TimeSettings: DefaultTimeSettings,
|
OrgId: savedDashboard.OrgId,
|
||||||
CreatedAt: DefaultTime,
|
TimeSettings: DefaultTimeSettings,
|
||||||
CreatedBy: 7,
|
CreatedAt: DefaultTime,
|
||||||
AccessToken: "NOTAREALUUID",
|
CreatedBy: 7,
|
||||||
|
AccessToken: "NOTAREALUUID",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
affectedRows, err := publicdashboardStore.Create(context.Background(), cmd)
|
affectedRows, err := publicdashboardStore.Create(context.Background(), cmd)
|
||||||
@ -418,6 +419,9 @@ func TestIntegrationCreatePublicDashboard(t *testing.T) {
|
|||||||
pubdash, err := publicdashboardStore.FindByDashboardUid(context.Background(), savedDashboard.OrgId, savedDashboard.Uid)
|
pubdash, err := publicdashboardStore.FindByDashboardUid(context.Background(), savedDashboard.OrgId, savedDashboard.Uid)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, pubdash.AccessToken, "NOTAREALUUID")
|
assert.Equal(t, pubdash.AccessToken, "NOTAREALUUID")
|
||||||
|
assert.True(t, pubdash.IsEnabled)
|
||||||
|
assert.True(t, pubdash.AnnotationsEnabled)
|
||||||
|
assert.True(t, pubdash.TimeSelectionEnabled)
|
||||||
|
|
||||||
// verify we didn't update all dashboards
|
// verify we didn't update all dashboards
|
||||||
pubdash2, err := publicdashboardStore.FindByDashboardUid(context.Background(), savedDashboard2.OrgId, savedDashboard2.Uid)
|
pubdash2, err := publicdashboardStore.FindByDashboardUid(context.Background(), savedDashboard2.OrgId, savedDashboard2.Uid)
|
||||||
@ -474,14 +478,15 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) {
|
|||||||
pdUid := "asdf1234"
|
pdUid := "asdf1234"
|
||||||
cmd := SavePublicDashboardCommand{
|
cmd := SavePublicDashboardCommand{
|
||||||
PublicDashboard: PublicDashboard{
|
PublicDashboard: PublicDashboard{
|
||||||
Uid: pdUid,
|
Uid: pdUid,
|
||||||
DashboardUid: savedDashboard.Uid,
|
DashboardUid: savedDashboard.Uid,
|
||||||
OrgId: savedDashboard.OrgId,
|
OrgId: savedDashboard.OrgId,
|
||||||
IsEnabled: false,
|
IsEnabled: false,
|
||||||
AnnotationsEnabled: true,
|
AnnotationsEnabled: true,
|
||||||
CreatedAt: DefaultTime,
|
TimeSelectionEnabled: true,
|
||||||
CreatedBy: 7,
|
CreatedAt: DefaultTime,
|
||||||
AccessToken: "NOTAREALUUID",
|
CreatedBy: 7,
|
||||||
|
AccessToken: "NOTAREALUUID",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
affectedRows, err := publicdashboardStore.Create(context.Background(), cmd)
|
affectedRows, err := publicdashboardStore.Create(context.Background(), cmd)
|
||||||
@ -492,14 +497,15 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) {
|
|||||||
anotherPdUid := "anotherUid"
|
anotherPdUid := "anotherUid"
|
||||||
cmd = SavePublicDashboardCommand{
|
cmd = SavePublicDashboardCommand{
|
||||||
PublicDashboard: PublicDashboard{
|
PublicDashboard: PublicDashboard{
|
||||||
Uid: anotherPdUid,
|
Uid: anotherPdUid,
|
||||||
DashboardUid: anotherSavedDashboard.Uid,
|
DashboardUid: anotherSavedDashboard.Uid,
|
||||||
OrgId: anotherSavedDashboard.OrgId,
|
OrgId: anotherSavedDashboard.OrgId,
|
||||||
IsEnabled: true,
|
IsEnabled: true,
|
||||||
AnnotationsEnabled: false,
|
AnnotationsEnabled: false,
|
||||||
CreatedAt: DefaultTime,
|
TimeSelectionEnabled: false,
|
||||||
CreatedBy: 7,
|
CreatedAt: DefaultTime,
|
||||||
AccessToken: "fakeaccesstoken",
|
CreatedBy: 7,
|
||||||
|
AccessToken: "fakeaccesstoken",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -508,14 +514,15 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) {
|
|||||||
assert.EqualValues(t, affectedRows, 1)
|
assert.EqualValues(t, affectedRows, 1)
|
||||||
|
|
||||||
updatedPublicDashboard := PublicDashboard{
|
updatedPublicDashboard := PublicDashboard{
|
||||||
Uid: pdUid,
|
Uid: pdUid,
|
||||||
DashboardUid: savedDashboard.Uid,
|
DashboardUid: savedDashboard.Uid,
|
||||||
OrgId: savedDashboard.OrgId,
|
OrgId: savedDashboard.OrgId,
|
||||||
IsEnabled: false,
|
IsEnabled: false,
|
||||||
AnnotationsEnabled: true,
|
AnnotationsEnabled: true,
|
||||||
TimeSettings: &TimeSettings{From: "now-8", To: "now"},
|
TimeSelectionEnabled: true,
|
||||||
UpdatedAt: time.Now().UTC().Round(time.Second),
|
TimeSettings: &TimeSettings{From: "now-8", To: "now"},
|
||||||
UpdatedBy: 8,
|
UpdatedAt: time.Now().UTC().Round(time.Second),
|
||||||
|
UpdatedBy: 8,
|
||||||
}
|
}
|
||||||
|
|
||||||
// update initial record
|
// update initial record
|
||||||
@ -533,6 +540,7 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) {
|
|||||||
// UseBool with xorm
|
// UseBool with xorm
|
||||||
assert.Equal(t, updatedPublicDashboard.IsEnabled, pdRetrieved.IsEnabled)
|
assert.Equal(t, updatedPublicDashboard.IsEnabled, pdRetrieved.IsEnabled)
|
||||||
assert.Equal(t, updatedPublicDashboard.AnnotationsEnabled, pdRetrieved.AnnotationsEnabled)
|
assert.Equal(t, updatedPublicDashboard.AnnotationsEnabled, pdRetrieved.AnnotationsEnabled)
|
||||||
|
assert.Equal(t, updatedPublicDashboard.TimeSelectionEnabled, pdRetrieved.TimeSelectionEnabled)
|
||||||
|
|
||||||
// not updated dashboard shouldn't have changed
|
// not updated dashboard shouldn't have changed
|
||||||
pdNotUpdatedRetrieved, err := publicdashboardStore.FindByDashboardUid(context.Background(), anotherSavedDashboard.OrgId, anotherSavedDashboard.Uid)
|
pdNotUpdatedRetrieved, err := publicdashboardStore.FindByDashboardUid(context.Background(), anotherSavedDashboard.OrgId, anotherSavedDashboard.Uid)
|
||||||
|
@ -31,13 +31,14 @@ const QueryFailure = "failure"
|
|||||||
var QueryResultStatuses = []string{QuerySuccess, QueryFailure}
|
var QueryResultStatuses = []string{QuerySuccess, QueryFailure}
|
||||||
|
|
||||||
type PublicDashboard struct {
|
type PublicDashboard struct {
|
||||||
Uid string `json:"uid" xorm:"pk uid"`
|
Uid string `json:"uid" xorm:"pk uid"`
|
||||||
DashboardUid string `json:"dashboardUid" xorm:"dashboard_uid"`
|
DashboardUid string `json:"dashboardUid" xorm:"dashboard_uid"`
|
||||||
OrgId int64 `json:"-" xorm:"org_id"` // Don't ever marshal orgId to Json
|
OrgId int64 `json:"-" xorm:"org_id"` // Don't ever marshal orgId to Json
|
||||||
TimeSettings *TimeSettings `json:"timeSettings" xorm:"time_settings"`
|
TimeSettings *TimeSettings `json:"timeSettings" xorm:"time_settings"`
|
||||||
IsEnabled bool `json:"isEnabled" xorm:"is_enabled"`
|
IsEnabled bool `json:"isEnabled" xorm:"is_enabled"`
|
||||||
AccessToken string `json:"accessToken" xorm:"access_token"`
|
AccessToken string `json:"accessToken" xorm:"access_token"`
|
||||||
AnnotationsEnabled bool `json:"annotationsEnabled" xorm:"annotations_enabled"`
|
AnnotationsEnabled bool `json:"annotationsEnabled" xorm:"annotations_enabled"`
|
||||||
|
TimeSelectionEnabled bool `json:"timeSelectionEnabled" xorm:"time_selection_enabled"`
|
||||||
|
|
||||||
CreatedBy int64 `json:"createdBy" xorm:"created_by"`
|
CreatedBy int64 `json:"createdBy" xorm:"created_by"`
|
||||||
UpdatedBy int64 `json:"updatedBy" xorm:"updated_by"`
|
UpdatedBy int64 `json:"updatedBy" xorm:"updated_by"`
|
||||||
|
@ -218,12 +218,13 @@ func (pd *PublicDashboardServiceImpl) Update(ctx context.Context, u *user.Signed
|
|||||||
// set values to update
|
// set values to update
|
||||||
cmd := SavePublicDashboardCommand{
|
cmd := SavePublicDashboardCommand{
|
||||||
PublicDashboard: PublicDashboard{
|
PublicDashboard: PublicDashboard{
|
||||||
Uid: existingPubdash.Uid,
|
Uid: existingPubdash.Uid,
|
||||||
IsEnabled: dto.PublicDashboard.IsEnabled,
|
IsEnabled: dto.PublicDashboard.IsEnabled,
|
||||||
AnnotationsEnabled: dto.PublicDashboard.AnnotationsEnabled,
|
AnnotationsEnabled: dto.PublicDashboard.AnnotationsEnabled,
|
||||||
TimeSettings: dto.PublicDashboard.TimeSettings,
|
TimeSelectionEnabled: dto.PublicDashboard.TimeSelectionEnabled,
|
||||||
UpdatedBy: dto.UserId,
|
TimeSettings: dto.PublicDashboard.TimeSettings,
|
||||||
UpdatedAt: time.Now(),
|
UpdatedBy: dto.UserId,
|
||||||
|
UpdatedAt: time.Now(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,6 +75,13 @@ func addPublicDashboardMigration(mg *Migrator) {
|
|||||||
Default: "0",
|
Default: "0",
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
mg.AddMigration("add time_selection_enabled column", NewAddColumnMigration(dashboardPublicCfgV2, &Column{
|
||||||
|
Name: "time_selection_enabled",
|
||||||
|
Type: DB_Bool,
|
||||||
|
Nullable: false,
|
||||||
|
Default: "0",
|
||||||
|
}))
|
||||||
|
|
||||||
mg.AddMigration("delete orphaned public dashboards", NewRawSQLMigration(
|
mg.AddMigration("delete orphaned public dashboards", NewRawSQLMigration(
|
||||||
"DELETE FROM dashboard_public WHERE dashboard_uid NOT IN (SELECT uid FROM dashboard)"))
|
"DELETE FROM dashboard_public WHERE dashboard_uid NOT IN (SELECT uid FROM dashboard)"))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user