From 1f3d34ecda376dffa532254eeb075a12309b244b Mon Sep 17 00:00:00 2001 From: Ezequiel Victorero Date: Fri, 21 Oct 2022 18:25:20 -0300 Subject: [PATCH] PublicDashboards: service and store methods rename (#57463) --- pkg/api/dashboard.go | 2 +- .../dashboards/database/database_test.go | 12 ++-- pkg/services/publicdashboards/api/api.go | 7 +-- pkg/services/publicdashboards/api/api_test.go | 8 +-- .../publicdashboards/database/database.go | 10 +-- .../database/database_test.go | 62 +++++++++---------- .../public_dashboard_service_mock.go | 8 +-- .../public_dashboard_store_mock.go | 14 ++--- .../publicdashboards/publicdashboard.go | 24 +++---- .../publicdashboards/service/query.go | 4 +- .../publicdashboards/service/query_test.go | 21 ++++--- .../publicdashboards/service/service.go | 38 ++++++------ .../publicdashboards/service/service_test.go | 30 ++++----- 13 files changed, 118 insertions(+), 122 deletions(-) diff --git a/pkg/api/dashboard.go b/pkg/api/dashboard.go index 6b73bcccfdc..41356bca0f3 100644 --- a/pkg/api/dashboard.go +++ b/pkg/api/dashboard.go @@ -104,7 +104,7 @@ func (hs *HTTPServer) GetDashboard(c *models.ReqContext) response.Response { err error ) if hs.Features.IsEnabled(featuremgmt.FlagPublicDashboards) { - hasPublicDashboard, err = hs.PublicDashboardsApi.PublicDashboardService.PublicDashboardEnabled(c.Req.Context(), dash.Uid) + hasPublicDashboard, err = hs.PublicDashboardsApi.PublicDashboardService.PublicDashboardIsEnabled(c.Req.Context(), dash.Uid) if err != nil { return response.Error(500, "Error while retrieving public dashboards", err) } diff --git a/pkg/services/dashboards/database/database_test.go b/pkg/services/dashboards/database/database_test.go index 9f001c106b7..ee1a23cc307 100644 --- a/pkg/services/dashboards/database/database_test.go +++ b/pkg/services/dashboards/database/database_test.go @@ -256,9 +256,9 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { AccessToken: "an-access-token", }, } - err := publicDashboardStore.SavePublicDashboardConfig(context.Background(), cmd) + err := publicDashboardStore.SavePublicDashboard(context.Background(), cmd) require.NoError(t, err) - pubdashConfig, _, _ := publicDashboardStore.GetPublicDashboard(context.Background(), "an-access-token") + pubdashConfig, _, _ := publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") require.NotNil(t, pubdashConfig) deleteCmd := &models.DeleteDashboardCommand{Id: savedDash.Id, OrgId: savedDash.OrgId} @@ -270,7 +270,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { require.Equal(t, getErr, dashboards.ErrDashboardNotFound) assert.Nil(t, dash) - pubdashConfig, _, err = publicDashboardStore.GetPublicDashboard(context.Background(), "an-access-token") + pubdashConfig, _, err = publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") require.Equal(t, err, publicDashboardModels.ErrPublicDashboardNotFound) require.Nil(t, pubdashConfig) }) @@ -291,9 +291,9 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { AccessToken: "an-access-token", }, } - err := publicDashboardStore.SavePublicDashboardConfig(context.Background(), cmd) + err := publicDashboardStore.SavePublicDashboard(context.Background(), cmd) require.NoError(t, err) - pubdashConfig, _, _ := publicDashboardStore.GetPublicDashboard(context.Background(), "an-access-token") + pubdashConfig, _, _ := publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") require.NotNil(t, pubdashConfig) deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.Id, ForceDeleteFolderRules: true} @@ -307,7 +307,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { require.NoError(t, err) require.Equal(t, len(query.Result), 0) - pubdashConfig, _, err = publicDashboardStore.GetPublicDashboard(context.Background(), "an-access-token") + pubdashConfig, _, err = publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") require.Equal(t, err, publicDashboardModels.ErrPublicDashboardNotFound) require.Nil(t, pubdashConfig) }) diff --git a/pkg/services/publicdashboards/api/api.go b/pkg/services/publicdashboards/api/api.go index 163f8184be2..b5eadc997d7 100644 --- a/pkg/services/publicdashboards/api/api.go +++ b/pkg/services/publicdashboards/api/api.go @@ -89,11 +89,10 @@ func (api *Api) GetPublicDashboard(c *models.ReqContext) response.Response { return response.Error(http.StatusBadRequest, "Invalid Access Token", nil) } - pubdash, dash, err := api.PublicDashboardService.GetPublicDashboard( + pubdash, dash, err := api.PublicDashboardService.GetPublicDashboardAndDashboard( c.Req.Context(), accessToken, ) - if err != nil { return api.handleError(c.Req.Context(), http.StatusInternalServerError, "GetPublicDashboard: failed to get public dashboard", err) } @@ -133,7 +132,7 @@ func (api *Api) ListPublicDashboards(c *models.ReqContext) response.Response { // GetPublicDashboardConfig Gets public dashboard configuration for dashboard // GET /api/dashboards/uid/:uid/public-config func (api *Api) GetPublicDashboardConfig(c *models.ReqContext) response.Response { - pdc, err := api.PublicDashboardService.GetPublicDashboardConfig(c.Req.Context(), c.OrgID, web.Params(c.Req)[":uid"]) + pdc, err := api.PublicDashboardService.GetPublicDashboard(c.Req.Context(), c.OrgID, web.Params(c.Req)[":uid"]) if err != nil { return api.handleError(c.Req.Context(), http.StatusInternalServerError, "GetPublicDashboardConfig: failed to get public dashboard config", err) } @@ -164,7 +163,7 @@ func (api *Api) SavePublicDashboardConfig(c *models.ReqContext) response.Respons } // Save the public dashboard - pubdash, err := api.PublicDashboardService.SavePublicDashboardConfig(c.Req.Context(), c.SignedInUser, &dto) + pubdash, err := api.PublicDashboardService.SavePublicDashboard(c.Req.Context(), c.SignedInUser, &dto) if err != nil { return api.handleError(c.Req.Context(), http.StatusInternalServerError, "SavePublicDashboardConfig: failed to save public dashboard configuration", err) } diff --git a/pkg/services/publicdashboards/api/api_test.go b/pkg/services/publicdashboards/api/api_test.go index 5e9581aa16d..e15be5b36cd 100644 --- a/pkg/services/publicdashboards/api/api_test.go +++ b/pkg/services/publicdashboards/api/api_test.go @@ -282,7 +282,7 @@ func TestAPIGetPublicDashboard(t *testing.T) { for _, test := range testCases { t.Run(test.Name, func(t *testing.T) { service := publicdashboards.NewFakePublicDashboardService(t) - service.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")). + service.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")). Return(&PublicDashboard{}, test.DashboardResult, test.Err).Maybe() cfg := setting.NewCfg() @@ -396,7 +396,7 @@ func TestAPIGetPublicDashboardConfig(t *testing.T) { service := publicdashboards.NewFakePublicDashboardService(t) if test.ShouldCallService { - service.On("GetPublicDashboardConfig", mock.Anything, mock.AnythingOfType("int64"), mock.AnythingOfType("string")). + service.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("int64"), mock.AnythingOfType("string")). Return(test.PublicDashboardResult, test.PublicDashboardErr) } @@ -507,7 +507,7 @@ func TestApiSavePublicDashboardConfig(t *testing.T) { // this is to avoid AssertExpectations fail at t.Cleanup when the middleware returns before calling the service if test.ShouldCallService { - service.On("SavePublicDashboardConfig", mock.Anything, mock.Anything, mock.AnythingOfType("*models.SavePublicDashboardConfigDTO")). + service.On("SavePublicDashboard", mock.Anything, mock.Anything, mock.AnythingOfType("*models.SavePublicDashboardConfigDTO")). Return(&PublicDashboard{IsEnabled: true}, test.SaveDashboardErr) } @@ -732,7 +732,7 @@ func TestIntegrationUnauthenticatedUserCanGetPubdashPanelQueryData(t *testing.T) ac := acmock.New() cfg.RBACEnabled = false service := publicdashboardsService.ProvideService(cfg, store, qds, annotationsService, ac) - pubdash, err := service.SavePublicDashboardConfig(context.Background(), &user.SignedInUser{}, savePubDashboardCmd) + pubdash, err := service.SavePublicDashboard(context.Background(), &user.SignedInUser{}, savePubDashboardCmd) require.NoError(t, err) // setup test server diff --git a/pkg/services/publicdashboards/database/database.go b/pkg/services/publicdashboards/database/database.go index 9d1a7f7fc79..2d9130ca276 100644 --- a/pkg/services/publicdashboards/database/database.go +++ b/pkg/services/publicdashboards/database/database.go @@ -73,9 +73,9 @@ func (d *PublicDashboardStoreImpl) GetDashboard(ctx context.Context, dashboardUi return dashboard, err } -// Retrieves public dashboard. This method makes 2 queries to the db so that in the +// GetPublicDashboardAndDashboard Retrieves public dashboard. This method makes 2 queries to the db so that in the // even that the underlying dashboard is missing it will return a 404. -func (d *PublicDashboardStoreImpl) GetPublicDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) { +func (d *PublicDashboardStoreImpl) GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) { if accessToken == "" { return nil, nil, ErrPublicDashboardIdentifierNotSet } @@ -192,7 +192,7 @@ func (d *PublicDashboardStoreImpl) GetPublicDashboardByUid(ctx context.Context, } // Retrieves public dashboard configuration -func (d *PublicDashboardStoreImpl) GetPublicDashboardConfig(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) { +func (d *PublicDashboardStoreImpl) GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) { if dashboardUid == "" { return nil, dashboards.ErrDashboardIdentifierNotSet } @@ -216,7 +216,7 @@ func (d *PublicDashboardStoreImpl) GetPublicDashboardConfig(ctx context.Context, } // Persists public dashboard configuration -func (d *PublicDashboardStoreImpl) SavePublicDashboardConfig(ctx context.Context, cmd SavePublicDashboardConfigCommand) error { +func (d *PublicDashboardStoreImpl) SavePublicDashboard(ctx context.Context, cmd SavePublicDashboardConfigCommand) error { if cmd.PublicDashboard.DashboardUid == "" { return dashboards.ErrDashboardIdentifierNotSet } @@ -234,7 +234,7 @@ func (d *PublicDashboardStoreImpl) SavePublicDashboardConfig(ctx context.Context } // Updates existing public dashboard configuration -func (d *PublicDashboardStoreImpl) UpdatePublicDashboardConfig(ctx context.Context, cmd SavePublicDashboardConfigCommand) error { +func (d *PublicDashboardStoreImpl) UpdatePublicDashboard(ctx context.Context, cmd SavePublicDashboardConfigCommand) error { err := d.sqlStore.WithTransactionalDbSession(ctx, func(sess *db.Session) error { timeSettingsJSON, err := json.Marshal(cmd.PublicDashboard.TimeSettings) if err != nil { diff --git a/pkg/services/publicdashboards/database/database_test.go b/pkg/services/publicdashboards/database/database_test.go index 17706a5d929..d98c68e5b03 100644 --- a/pkg/services/publicdashboards/database/database_test.go +++ b/pkg/services/publicdashboards/database/database_test.go @@ -104,7 +104,7 @@ func TestIntegrationEnabledPublicDashboardExistsByAccessToken(t *testing.T) { t.Run("PublicDashboardEnabledExistsByAccessToken will return true when at least one public dashboard has a matching access token", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc123", @@ -126,7 +126,7 @@ func TestIntegrationEnabledPublicDashboardExistsByAccessToken(t *testing.T) { t.Run("PublicDashboardEnabledExistsByAccessToken will return false when IsEnabled=false", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: false, Uid: "abc123", @@ -172,7 +172,7 @@ func TestIntegrationEnabledPublicDashboardExistsByDashboardUid(t *testing.T) { t.Run("PublicDashboardEnabledExistsByDashboardUid Will return true when dashboard has at least one enabled public dashboard", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc123", @@ -194,7 +194,7 @@ func TestIntegrationEnabledPublicDashboardExistsByDashboardUid(t *testing.T) { t.Run("PublicDashboardEnabledExistsByDashboardUid will return false when dashboard has public dashboards but they are not enabled", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: false, Uid: "abc123", @@ -214,8 +214,7 @@ func TestIntegrationEnabledPublicDashboardExistsByDashboardUid(t *testing.T) { }) } -// GetPublicDashboard -func TestIntegrationGetPublicDashboard(t *testing.T) { +func TestIntegrationGetPublicDashboardAndDashboard(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -245,10 +244,10 @@ func TestIntegrationGetPublicDashboard(t *testing.T) { }, } - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), cmd) + err := publicdashboardStore.SavePublicDashboard(context.Background(), cmd) require.NoError(t, err) - pd, d, err := publicdashboardStore.GetPublicDashboard(context.Background(), "NOTAREALUUID") + pd, d, err := publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "NOTAREALUUID") require.NoError(t, err) assert.Equal(t, pd, &cmd.PublicDashboard) @@ -257,19 +256,19 @@ func TestIntegrationGetPublicDashboard(t *testing.T) { t.Run("returns ErrPublicDashboardNotFound with empty uid", func(t *testing.T) { setup() - _, _, err := publicdashboardStore.GetPublicDashboard(context.Background(), "") + _, _, err := publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "") require.Error(t, ErrPublicDashboardIdentifierNotSet, err) }) t.Run("returns ErrPublicDashboardNotFound when PublicDashboard not found", func(t *testing.T) { setup() - _, _, err := publicdashboardStore.GetPublicDashboard(context.Background(), "zzzzzz") + _, _, err := publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "zzzzzz") require.Error(t, ErrPublicDashboardNotFound, err) }) t.Run("returns ErrDashboardNotFound when Dashboard not found", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc1234", @@ -280,13 +279,12 @@ func TestIntegrationGetPublicDashboard(t *testing.T) { }, }) require.NoError(t, err) - _, _, err = publicdashboardStore.GetPublicDashboard(context.Background(), "abc1234") + _, _, err = publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "abc1234") require.Error(t, dashboards.ErrDashboardNotFound, err) }) } -// GetPublicDashboardConfig -func TestIntegrationGetPublicDashboardConfig(t *testing.T) { +func TestIntegrationGetPublicDashboard(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -302,14 +300,14 @@ func TestIntegrationGetPublicDashboardConfig(t *testing.T) { t.Run("returns isPublic and set dashboardUid and orgId", func(t *testing.T) { setup() - pubdash, err := publicdashboardStore.GetPublicDashboardConfig(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pubdash, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) require.NoError(t, err) assert.Equal(t, &PublicDashboard{IsEnabled: false, DashboardUid: savedDashboard.Uid, OrgId: savedDashboard.OrgId}, pubdash) }) t.Run("returns dashboard errDashboardIdentifierNotSet", func(t *testing.T) { setup() - _, err := publicdashboardStore.GetPublicDashboardConfig(context.Background(), savedDashboard.OrgId, "") + _, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, "") require.Error(t, dashboards.ErrDashboardIdentifierNotSet, err) }) @@ -328,19 +326,18 @@ func TestIntegrationGetPublicDashboardConfig(t *testing.T) { } // insert test public dashboard - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), cmd) + err := publicdashboardStore.SavePublicDashboard(context.Background(), cmd) require.NoError(t, err) // retrieve from db - pubdash, err := publicdashboardStore.GetPublicDashboardConfig(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pubdash, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) require.NoError(t, err) assert.True(t, assert.ObjectsAreEqualValues(&cmd.PublicDashboard, pubdash)) }) } -// SavePublicDashboardConfig -func TestIntegrationSavePublicDashboardConfig(t *testing.T) { +func TestIntegrationSavePublicDashboard(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -358,7 +355,7 @@ func TestIntegrationSavePublicDashboardConfig(t *testing.T) { t.Run("saves new public dashboard", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, AnnotationsEnabled: true, @@ -373,21 +370,21 @@ func TestIntegrationSavePublicDashboardConfig(t *testing.T) { }) require.NoError(t, err) - pubdash, err := publicdashboardStore.GetPublicDashboardConfig(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pubdash, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) require.NoError(t, err) // verify we have a valid uid assert.True(t, util.IsValidShortUID(pubdash.Uid)) // verify we didn't update all dashboards - pubdash2, err := publicdashboardStore.GetPublicDashboardConfig(context.Background(), savedDashboard2.OrgId, savedDashboard2.Uid) + pubdash2, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard2.OrgId, savedDashboard2.Uid) require.NoError(t, err) assert.False(t, pubdash2.IsEnabled) }) t.Run("guards from saving without dashboardUid", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "pubdash-uid", @@ -403,7 +400,6 @@ func TestIntegrationSavePublicDashboardConfig(t *testing.T) { }) } -// UpdatePublicDashboardConfig func TestIntegrationUpdatePublicDashboard(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg @@ -424,7 +420,7 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) { setup() pdUid := "asdf1234" - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ Uid: pdUid, DashboardUid: savedDashboard.Uid, @@ -440,7 +436,7 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) { // inserting two different public dashboards to test update works and only affect the desired pd by uid anotherPdUid := "anotherUid" - err = publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err = publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ Uid: anotherPdUid, DashboardUid: anotherSavedDashboard.Uid, @@ -465,13 +461,13 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) { UpdatedBy: 8, } // update initial record - err = publicdashboardStore.UpdatePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err = publicdashboardStore.UpdatePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: updatedPublicDashboard, }) require.NoError(t, err) // updated dashboard should have changed - pdRetrieved, err := publicdashboardStore.GetPublicDashboardConfig(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pdRetrieved, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) require.NoError(t, err) assert.Equal(t, updatedPublicDashboard.UpdatedAt, pdRetrieved.UpdatedAt) @@ -481,7 +477,7 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) { assert.Equal(t, updatedPublicDashboard.AnnotationsEnabled, pdRetrieved.AnnotationsEnabled) // not updated dashboard shouldn't have changed - pdNotUpdatedRetrieved, err := publicdashboardStore.GetPublicDashboardConfig(context.Background(), anotherSavedDashboard.OrgId, anotherSavedDashboard.Uid) + pdNotUpdatedRetrieved, err := publicdashboardStore.GetPublicDashboard(context.Background(), anotherSavedDashboard.OrgId, anotherSavedDashboard.Uid) require.NoError(t, err) assert.NotEqual(t, updatedPublicDashboard.UpdatedAt, pdNotUpdatedRetrieved.UpdatedAt) assert.NotEqual(t, updatedPublicDashboard.IsEnabled, pdNotUpdatedRetrieved.IsEnabled) @@ -506,7 +502,7 @@ func TestIntegrationGetPublicDashboardOrgId(t *testing.T) { t.Run("GetPublicDashboardOrgId will OrgId when enabled", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc123", @@ -528,7 +524,7 @@ func TestIntegrationGetPublicDashboardOrgId(t *testing.T) { t.Run("GetPublicDashboardOrgId will return 0 when IsEnabled=false", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboardConfig(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: false, Uid: "abc123", @@ -599,7 +595,7 @@ func insertPublicDashboard(t *testing.T, publicdashboardStore *PublicDashboardSt }, } - err = publicdashboardStore.SavePublicDashboardConfig(ctx, cmd) + err = publicdashboardStore.SavePublicDashboard(ctx, cmd) require.NoError(t, err) pubdash, err := publicdashboardStore.GetPublicDashboardByUid(ctx, uid) diff --git a/pkg/services/publicdashboards/public_dashboard_service_mock.go b/pkg/services/publicdashboards/public_dashboard_service_mock.go index 9cc5e16b3c7..e4e269d667e 100644 --- a/pkg/services/publicdashboards/public_dashboard_service_mock.go +++ b/pkg/services/publicdashboards/public_dashboard_service_mock.go @@ -112,7 +112,7 @@ func (_m *FakePublicDashboardService) GetMetricRequest(ctx context.Context, dash } // GetPublicDashboard provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardService) GetPublicDashboard(ctx context.Context, accessToken string) (*models.PublicDashboard, *pkgmodels.Dashboard, error) { +func (_m *FakePublicDashboardService) GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*models.PublicDashboard, *pkgmodels.Dashboard, error) { ret := _m.Called(ctx, accessToken) var r0 *models.PublicDashboard @@ -144,7 +144,7 @@ func (_m *FakePublicDashboardService) GetPublicDashboard(ctx context.Context, ac } // GetPublicDashboardConfig provides a mock function with given fields: ctx, orgId, dashboardUid -func (_m *FakePublicDashboardService) GetPublicDashboardConfig(ctx context.Context, orgId int64, dashboardUid string) (*models.PublicDashboard, error) { +func (_m *FakePublicDashboardService) GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*models.PublicDashboard, error) { ret := _m.Called(ctx, orgId, dashboardUid) var r0 *models.PublicDashboard @@ -234,7 +234,7 @@ func (_m *FakePublicDashboardService) ListPublicDashboards(ctx context.Context, } // PublicDashboardEnabled provides a mock function with given fields: ctx, dashboardUid -func (_m *FakePublicDashboardService) PublicDashboardEnabled(ctx context.Context, dashboardUid string) (bool, error) { +func (_m *FakePublicDashboardService) PublicDashboardIsEnabled(ctx context.Context, dashboardUid string) (bool, error) { ret := _m.Called(ctx, dashboardUid) var r0 bool @@ -255,7 +255,7 @@ func (_m *FakePublicDashboardService) PublicDashboardEnabled(ctx context.Context } // SavePublicDashboardConfig provides a mock function with given fields: ctx, u, dto -func (_m *FakePublicDashboardService) SavePublicDashboardConfig(ctx context.Context, u *user.SignedInUser, dto *models.SavePublicDashboardConfigDTO) (*models.PublicDashboard, error) { +func (_m *FakePublicDashboardService) SavePublicDashboard(ctx context.Context, u *user.SignedInUser, dto *models.SavePublicDashboardConfigDTO) (*models.PublicDashboard, error) { ret := _m.Called(ctx, u, dto) var r0 *models.PublicDashboard diff --git a/pkg/services/publicdashboards/public_dashboard_store_mock.go b/pkg/services/publicdashboards/public_dashboard_store_mock.go index 5d8920ad759..3fde70e255e 100644 --- a/pkg/services/publicdashboards/public_dashboard_store_mock.go +++ b/pkg/services/publicdashboards/public_dashboard_store_mock.go @@ -105,7 +105,7 @@ func (_m *FakePublicDashboardStore) GetDashboard(ctx context.Context, dashboardU } // GetPublicDashboard provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardStore) GetPublicDashboard(ctx context.Context, accessToken string) (*publicdashboardsmodels.PublicDashboard, *models.Dashboard, error) { +func (_m *FakePublicDashboardStore) GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*publicdashboardsmodels.PublicDashboard, *models.Dashboard, error) { ret := _m.Called(ctx, accessToken) var r0 *publicdashboardsmodels.PublicDashboard @@ -159,8 +159,8 @@ func (_m *FakePublicDashboardStore) GetPublicDashboardByUid(ctx context.Context, return r0, r1 } -// GetPublicDashboardConfig provides a mock function with given fields: ctx, orgId, dashboardUid -func (_m *FakePublicDashboardStore) GetPublicDashboardConfig(ctx context.Context, orgId int64, dashboardUid string) (*publicdashboardsmodels.PublicDashboard, error) { +// GetPublicDashboard provides a mock function with given fields: ctx, orgId, dashboardUid +func (_m *FakePublicDashboardStore) GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*publicdashboardsmodels.PublicDashboard, error) { ret := _m.Called(ctx, orgId, dashboardUid) var r0 *publicdashboardsmodels.PublicDashboard @@ -226,7 +226,7 @@ func (_m *FakePublicDashboardStore) ListPublicDashboards(ctx context.Context, or return r0, r1 } -// PublicDashboardEnabled provides a mock function with given fields: ctx, dashboardUid +// PublicDashboardIsEnabled provides a mock function with given fields: ctx, dashboardUid func (_m *FakePublicDashboardStore) PublicDashboardEnabledExistsByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) { ret := _m.Called(ctx, dashboardUid) @@ -247,8 +247,8 @@ func (_m *FakePublicDashboardStore) PublicDashboardEnabledExistsByDashboardUid(c return r0, r1 } -// SavePublicDashboardConfig provides a mock function with given fields: ctx, cmd -func (_m *FakePublicDashboardStore) SavePublicDashboardConfig(ctx context.Context, cmd publicdashboardsmodels.SavePublicDashboardConfigCommand) error { +// SavePublicDashboard provides a mock function with given fields: ctx, cmd +func (_m *FakePublicDashboardStore) SavePublicDashboard(ctx context.Context, cmd publicdashboardsmodels.SavePublicDashboardConfigCommand) error { ret := _m.Called(ctx, cmd) var r0 error @@ -262,7 +262,7 @@ func (_m *FakePublicDashboardStore) SavePublicDashboardConfig(ctx context.Contex } // UpdatePublicDashboardConfig provides a mock function with given fields: ctx, cmd -func (_m *FakePublicDashboardStore) UpdatePublicDashboardConfig(ctx context.Context, cmd publicdashboardsmodels.SavePublicDashboardConfigCommand) error { +func (_m *FakePublicDashboardStore) UpdatePublicDashboard(ctx context.Context, cmd publicdashboardsmodels.SavePublicDashboardConfigCommand) error { ret := _m.Called(ctx, cmd) var r0 error diff --git a/pkg/services/publicdashboards/publicdashboard.go b/pkg/services/publicdashboards/publicdashboard.go index 16831d10f07..d2e11a86c5e 100644 --- a/pkg/services/publicdashboards/publicdashboard.go +++ b/pkg/services/publicdashboards/publicdashboard.go @@ -14,31 +14,31 @@ import ( //go:generate mockery --name Service --structname FakePublicDashboardService --inpackage --filename public_dashboard_service_mock.go type Service interface { - PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) GetAnnotations(ctx context.Context, reqDTO AnnotationsQueryDTO, accessToken string) ([]AnnotationEvent, error) GetDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) GetMetricRequest(ctx context.Context, dashboard *models.Dashboard, publicDashboard *PublicDashboard, panelId int64, reqDTO PublicDashboardQueryDTO) (dtos.MetricRequest, error) - GetPublicDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) - GetPublicDashboardConfig(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) + GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) + GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) GetPublicDashboardOrgId(ctx context.Context, accessToken string) (int64, error) GetQueryDataResponse(ctx context.Context, skipCache bool, reqDTO PublicDashboardQueryDTO, panelId int64, accessToken string) (*backend.QueryDataResponse, error) ListPublicDashboards(ctx context.Context, u *user.SignedInUser, orgId int64) ([]PublicDashboardListResponse, error) - PublicDashboardEnabled(ctx context.Context, dashboardUid string) (bool, error) - SavePublicDashboardConfig(ctx context.Context, u *user.SignedInUser, dto *SavePublicDashboardConfigDTO) (*PublicDashboard, error) + PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) + PublicDashboardIsEnabled(ctx context.Context, dashboardUid string) (bool, error) + SavePublicDashboard(ctx context.Context, u *user.SignedInUser, dto *SavePublicDashboardConfigDTO) (*PublicDashboard, error) } //go:generate mockery --name Store --structname FakePublicDashboardStore --inpackage --filename public_dashboard_store_mock.go type Store interface { - PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) - PublicDashboardEnabledExistsByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) GenerateNewPublicDashboardUid(ctx context.Context) (string, error) - GetDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) GenerateNewPublicDashboardAccessToken(ctx context.Context) (string, error) - GetPublicDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) + GetDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) + GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) + GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) GetPublicDashboardByUid(ctx context.Context, uid string) (*PublicDashboard, error) - GetPublicDashboardConfig(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) GetPublicDashboardOrgId(ctx context.Context, accessToken string) (int64, error) ListPublicDashboards(ctx context.Context, orgId int64) ([]PublicDashboardListResponse, error) - SavePublicDashboardConfig(ctx context.Context, cmd SavePublicDashboardConfigCommand) error - UpdatePublicDashboardConfig(ctx context.Context, cmd SavePublicDashboardConfigCommand) error + PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) + PublicDashboardEnabledExistsByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) + SavePublicDashboard(ctx context.Context, cmd SavePublicDashboardConfigCommand) error + UpdatePublicDashboard(ctx context.Context, cmd SavePublicDashboardConfigCommand) error } diff --git a/pkg/services/publicdashboards/service/query.go b/pkg/services/publicdashboards/service/query.go index d06e73911c6..0ab3ac969b9 100644 --- a/pkg/services/publicdashboards/service/query.go +++ b/pkg/services/publicdashboards/service/query.go @@ -19,7 +19,7 @@ import ( // GetAnnotations returns annotations for a public dashboard func (pd *PublicDashboardServiceImpl) GetAnnotations(ctx context.Context, reqDTO models.AnnotationsQueryDTO, accessToken string) ([]models.AnnotationEvent, error) { - pub, dash, err := pd.GetPublicDashboard(ctx, accessToken) + pub, dash, err := pd.GetPublicDashboardAndDashboard(ctx, accessToken) if err != nil { return nil, err } @@ -120,7 +120,7 @@ func (pd *PublicDashboardServiceImpl) GetMetricRequest(ctx context.Context, dash // GetQueryDataResponse returns a query data response for the given panel and query func (pd *PublicDashboardServiceImpl) GetQueryDataResponse(ctx context.Context, skipCache bool, queryDto models.PublicDashboardQueryDTO, panelId int64, accessToken string) (*backend.QueryDataResponse, error) { - publicDashboard, dashboard, err := pd.GetPublicDashboard(ctx, accessToken) + publicDashboard, dashboard, err := pd.GetPublicDashboardAndDashboard(ctx, accessToken) if err != nil { return nil, err } diff --git a/pkg/services/publicdashboards/service/query_test.go b/pkg/services/publicdashboards/service/query_test.go index 1adb772c508..46d8a26e97d 100644 --- a/pkg/services/publicdashboards/service/query_test.go +++ b/pkg/services/publicdashboards/service/query_test.go @@ -399,7 +399,7 @@ func TestGetQueryDataResponse(t *testing.T) { TimeSettings: timeSettings, }, } - pubdashDto, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + pubdashDto, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) resp, _ := service.GetQueryDataResponse(context.Background(), true, publicDashboardQueryDTO, 1, pubdashDto.AccessToken) @@ -421,8 +421,9 @@ func TestGetAnnotations(t *testing.T) { store: &fakeStore, AnnotationsRepo: annotationsRepo, } - fakeStore.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")). + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")). Return(&PublicDashboard{Uid: "uid1", IsEnabled: true}, grafanamodels.NewDashboard("dash1"), nil) + reqDTO := AnnotationsQueryDTO{ From: 1, To: 2, @@ -474,7 +475,7 @@ func TestGetAnnotations(t *testing.T) { AnnotationsRepo: &annotationsRepo, } pubdash := &PublicDashboard{Uid: "uid1", IsEnabled: true, OrgId: 1, DashboardUid: dashboard.Uid, AnnotationsEnabled: true} - fakeStore.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) annotationsRepo.On("Find", mock.Anything, mock.Anything).Return([]*annotations.ItemDTO{ { Id: 1, @@ -531,7 +532,7 @@ func TestGetAnnotations(t *testing.T) { AnnotationsRepo: &annotationsRepo, } pubdash := &PublicDashboard{Uid: "uid1", IsEnabled: true, OrgId: 1, DashboardUid: dashboard.Uid, AnnotationsEnabled: true} - fakeStore.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) annotationsRepo.On("Find", mock.Anything, mock.Anything).Return([]*annotations.ItemDTO{ { Id: 1, @@ -600,7 +601,7 @@ func TestGetAnnotations(t *testing.T) { AnnotationsRepo: &annotationsRepo, } pubdash := &PublicDashboard{Uid: "uid1", IsEnabled: true, OrgId: 1, DashboardUid: dashboard.Uid, AnnotationsEnabled: true} - fakeStore.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) annotationsRepo.On("Find", mock.Anything, mock.Anything).Return([]*annotations.ItemDTO{ { Id: 1, @@ -642,7 +643,7 @@ func TestGetAnnotations(t *testing.T) { } dashboard := grafanamodels.NewDashboard("dashWithNoAnnotations") pubdash := &PublicDashboard{Uid: "uid1", IsEnabled: true, OrgId: 1, DashboardUid: dashboard.Uid, AnnotationsEnabled: true} - fakeStore.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") @@ -675,7 +676,7 @@ func TestGetAnnotations(t *testing.T) { annos := []DashAnnotation{grafanaAnnotation} dashboard := AddAnnotationsToDashboard(t, dash, annos) pubdash := &PublicDashboard{Uid: "uid1", IsEnabled: true, OrgId: 1, DashboardUid: dashboard.Uid, AnnotationsEnabled: false} - fakeStore.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") @@ -707,7 +708,7 @@ func TestGetAnnotations(t *testing.T) { annos := []DashAnnotation{grafanaAnnotation} dash = AddAnnotationsToDashboard(t, dash, annos) pubdash := &PublicDashboard{Uid: "uid1", IsEnabled: true, OrgId: 1, DashboardUid: dash.Uid, AnnotationsEnabled: true} - fakeStore.On("GetPublicDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dash, nil) + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dash, nil) annotationsRepo.On("Find", mock.Anything, mock.Anything).Return(nil, errors.New("failed")).Maybe() items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") @@ -821,7 +822,7 @@ func TestBuildMetricRequest(t *testing.T) { }, } - publicDashboardPD, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + publicDashboardPD, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) nonPublicDto := &SavePublicDashboardConfigDTO{ @@ -835,7 +836,7 @@ func TestBuildMetricRequest(t *testing.T) { }, } - _, err = service.SavePublicDashboardConfig(context.Background(), SignedInUser, nonPublicDto) + _, err = service.SavePublicDashboard(context.Background(), SignedInUser, nonPublicDto) require.NoError(t, err) t.Run("extracts queries from provided dashboard", func(t *testing.T) { diff --git a/pkg/services/publicdashboards/service/service.go b/pkg/services/publicdashboards/service/service.go index 61923f83b15..691af7c920e 100644 --- a/pkg/services/publicdashboards/service/service.go +++ b/pkg/services/publicdashboards/service/service.go @@ -70,9 +70,9 @@ func (pd *PublicDashboardServiceImpl) GetDashboard(ctx context.Context, dashboar return dashboard, err } -// GetPublicDashboard Gets public dashboard via access token -func (pd *PublicDashboardServiceImpl) GetPublicDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) { - pubdash, dash, err := pd.store.GetPublicDashboard(ctx, accessToken) +// GetPublicDashboardAndDashboard Gets public dashboard via access token +func (pd *PublicDashboardServiceImpl) GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) { + pubdash, dash, err := pd.store.GetPublicDashboardAndDashboard(ctx, accessToken) ctxLogger := pd.log.FromContext(ctx) if err != nil { @@ -80,26 +80,26 @@ func (pd *PublicDashboardServiceImpl) GetPublicDashboard(ctx context.Context, ac } if pubdash == nil { - ctxLogger.Error("GetPublicDashboard: Public dashboard not found", "accessToken", accessToken) + ctxLogger.Error("GetPublicDashboardAndDashboard: Public dashboard not found", "accessToken", accessToken) return nil, nil, ErrPublicDashboardNotFound } if dash == nil { - ctxLogger.Error("GetPublicDashboard: Dashboard not found", "accessToken", accessToken) + ctxLogger.Error("GetPublicDashboardAndDashboard: Dashboard not found", "accessToken", accessToken) return nil, nil, ErrPublicDashboardNotFound } if !pubdash.IsEnabled { - ctxLogger.Error("GetPublicDashboard: Public dashboard is disabled", "accessToken", accessToken) + ctxLogger.Error("GetPublicDashboardAndDashboard: Public dashboard is disabled", "accessToken", accessToken) return nil, nil, ErrPublicDashboardNotFound } return pubdash, dash, nil } -// GetPublicDashboardConfig is a helper method to retrieve the public dashboard configuration for a given dashboard from the database -func (pd *PublicDashboardServiceImpl) GetPublicDashboardConfig(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) { - pdc, err := pd.store.GetPublicDashboardConfig(ctx, orgId, dashboardUid) +// GetPublicDashboard is a helper method to retrieve the public dashboard configuration for a given dashboard from the database +func (pd *PublicDashboardServiceImpl) GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) { + pdc, err := pd.store.GetPublicDashboard(ctx, orgId, dashboardUid) if err != nil { return nil, err } @@ -107,9 +107,9 @@ func (pd *PublicDashboardServiceImpl) GetPublicDashboardConfig(ctx context.Conte return pdc, nil } -// SavePublicDashboardConfig is a helper method to persist the sharing config +// SavePublicDashboard is a helper method to persist the sharing config // to the database. It handles validations for sharing config and persistence -func (pd *PublicDashboardServiceImpl) SavePublicDashboardConfig(ctx context.Context, u *user.SignedInUser, dto *SavePublicDashboardConfigDTO) (*PublicDashboard, error) { +func (pd *PublicDashboardServiceImpl) SavePublicDashboard(ctx context.Context, u *user.SignedInUser, dto *SavePublicDashboardConfigDTO) (*PublicDashboard, error) { // validate if the dashboard exists dashboard, err := pd.GetDashboard(ctx, dto.DashboardUid) if err != nil { @@ -134,9 +134,9 @@ func (pd *PublicDashboardServiceImpl) SavePublicDashboardConfig(ctx context.Cont if err != nil { return nil, err } - pubdashUid, err = pd.savePublicDashboardConfig(ctx, dto) + pubdashUid, err = pd.savePublicDashboard(ctx, dto) } else { - pubdashUid, err = pd.updatePublicDashboardConfig(ctx, dto) + pubdashUid, err = pd.updatePublicDashboard(ctx, dto) } if err != nil { return nil, err @@ -153,9 +153,9 @@ func (pd *PublicDashboardServiceImpl) SavePublicDashboardConfig(ctx context.Cont return newPubdash, err } -// Called by SavePublicDashboardConfig this handles business logic +// Called by SavePublicDashboard this handles business logic // to generate token and calls create at the database layer -func (pd *PublicDashboardServiceImpl) savePublicDashboardConfig(ctx context.Context, dto *SavePublicDashboardConfigDTO) (string, error) { +func (pd *PublicDashboardServiceImpl) savePublicDashboard(ctx context.Context, dto *SavePublicDashboardConfigDTO) (string, error) { uid, err := pd.store.GenerateNewPublicDashboardUid(ctx) if err != nil { return "", err @@ -180,7 +180,7 @@ func (pd *PublicDashboardServiceImpl) savePublicDashboardConfig(ctx context.Cont }, } - err = pd.store.SavePublicDashboardConfig(ctx, cmd) + err = pd.store.SavePublicDashboard(ctx, cmd) if err != nil { return "", err } @@ -190,7 +190,7 @@ func (pd *PublicDashboardServiceImpl) savePublicDashboardConfig(ctx context.Cont // Called by SavePublicDashboard this handles business logic for updating a // dashboard and calls update at the database layer -func (pd *PublicDashboardServiceImpl) updatePublicDashboardConfig(ctx context.Context, dto *SavePublicDashboardConfigDTO) (string, error) { +func (pd *PublicDashboardServiceImpl) updatePublicDashboard(ctx context.Context, dto *SavePublicDashboardConfigDTO) (string, error) { cmd := SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ Uid: dto.PublicDashboard.Uid, @@ -202,7 +202,7 @@ func (pd *PublicDashboardServiceImpl) updatePublicDashboardConfig(ctx context.Co }, } - return dto.PublicDashboard.Uid, pd.store.UpdatePublicDashboardConfig(ctx, cmd) + return dto.PublicDashboard.Uid, pd.store.UpdatePublicDashboard(ctx, cmd) } // Gets a list of public dashboards by orgId @@ -215,7 +215,7 @@ func (pd *PublicDashboardServiceImpl) ListPublicDashboards(ctx context.Context, return pd.filterDashboardsByPermissions(ctx, u, publicDashboards) } -func (pd *PublicDashboardServiceImpl) PublicDashboardEnabled(ctx context.Context, dashboardUid string) (bool, error) { +func (pd *PublicDashboardServiceImpl) PublicDashboardIsEnabled(ctx context.Context, dashboardUid string) (bool, error) { return pd.store.PublicDashboardEnabledExistsByDashboardUid(ctx, dashboardUid) } diff --git a/pkg/services/publicdashboards/service/service_test.go b/pkg/services/publicdashboards/service/service_test.go index b39a14811e1..02aa1223d18 100644 --- a/pkg/services/publicdashboards/service/service_test.go +++ b/pkg/services/publicdashboards/service/service_test.go @@ -98,10 +98,10 @@ func TestGetPublicDashboard(t *testing.T) { store: &fakeStore, } - fakeStore.On("GetPublicDashboard", mock.Anything, mock.Anything). + fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.Anything). Return(test.StoreResp.pd, test.StoreResp.d, test.StoreResp.err) - pdc, dash, err := service.GetPublicDashboard(context.Background(), test.AccessToken) + pdc, dash, err := service.GetPublicDashboardAndDashboard(context.Background(), test.AccessToken) if test.ErrResp != nil { assert.Error(t, test.ErrResp, err) } else { @@ -143,10 +143,10 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) - pubdash, err := service.GetPublicDashboardConfig(context.Background(), dashboard.OrgId, dashboard.Uid) + pubdash, err := service.GetPublicDashboard(context.Background(), dashboard.OrgId, dashboard.Uid) require.NoError(t, err) // DashboardUid/OrgId/CreatedBy set by the command, not parameters @@ -187,10 +187,10 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) - pubdash, err := service.GetPublicDashboardConfig(context.Background(), dashboard.OrgId, dashboard.Uid) + pubdash, err := service.GetPublicDashboard(context.Background(), dashboard.OrgId, dashboard.Uid) require.NoError(t, err) assert.Equal(t, defaultPubdashTimeSettings, pubdash.TimeSettings) }) @@ -218,7 +218,7 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.Error(t, err) }) @@ -247,11 +247,11 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.Error(t, err) require.Equal(t, err, ErrPublicDashboardFailedGenerateAccessToken) - publicDashboardStore.AssertNotCalled(t, "SavePublicDashboardConfig") + publicDashboardStore.AssertNotCalled(t, "SavePublicDashboard") }) } @@ -278,7 +278,7 @@ func TestUpdatePublicDashboard(t *testing.T) { }, } - savedPubdash, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + savedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) // attempt to overwrite settings @@ -301,8 +301,8 @@ func TestUpdatePublicDashboard(t *testing.T) { } // Since the dto.PublicDashboard has a uid, this will call - // service.updatePublicDashboardConfig - updatedPubdash, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + // service.updatePublicDashboard + updatedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) // don't get updated @@ -342,8 +342,8 @@ func TestUpdatePublicDashboard(t *testing.T) { } // Since the dto.PublicDashboard has a uid, this will call - // service.updatePublicDashboardConfig - savedPubdash, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + // service.updatePublicDashboard + savedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) // attempt to overwrite settings @@ -363,7 +363,7 @@ func TestUpdatePublicDashboard(t *testing.T) { }, } - updatedPubdash, err := service.SavePublicDashboardConfig(context.Background(), SignedInUser, dto) + updatedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) require.NoError(t, err) assert.Equal(t, &TimeSettings{}, updatedPubdash.TimeSettings)