diff --git a/pkg/api/dashboard.go b/pkg/api/dashboard.go index 41356bca0f3..a97ec1abf86 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.PublicDashboardIsEnabled(c.Req.Context(), dash.Uid) + hasPublicDashboard, err = hs.PublicDashboardsApi.PublicDashboardService.ExistsEnabledByDashboardUid(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 2dc5ce36216..5eb66257525 100644 --- a/pkg/services/dashboards/database/database_test.go +++ b/pkg/services/dashboards/database/database_test.go @@ -257,9 +257,9 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { AccessToken: "an-access-token", }, } - err := publicDashboardStore.SavePublicDashboard(context.Background(), cmd) + err := publicDashboardStore.Save(context.Background(), cmd) require.NoError(t, err) - pubdashConfig, _, _ := publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") + pubdashConfig, _, _ := publicDashboardStore.FindPublicDashboardAndDashboardByAccessToken(context.Background(), "an-access-token") require.NotNil(t, pubdashConfig) deleteCmd := &models.DeleteDashboardCommand{Id: savedDash.Id, OrgId: savedDash.OrgId} @@ -271,7 +271,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { require.Equal(t, getErr, dashboards.ErrDashboardNotFound) assert.Nil(t, dash) - pubdashConfig, _, err = publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") + pubdashConfig, _, err = publicDashboardStore.FindPublicDashboardAndDashboardByAccessToken(context.Background(), "an-access-token") require.Equal(t, err, publicDashboardModels.ErrPublicDashboardNotFound) require.Nil(t, pubdashConfig) }) @@ -292,9 +292,9 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { AccessToken: "an-access-token", }, } - err := publicDashboardStore.SavePublicDashboard(context.Background(), cmd) + err := publicDashboardStore.Save(context.Background(), cmd) require.NoError(t, err) - pubdashConfig, _, _ := publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") + pubdashConfig, _, _ := publicDashboardStore.FindPublicDashboardAndDashboardByAccessToken(context.Background(), "an-access-token") require.NotNil(t, pubdashConfig) deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.Id, ForceDeleteFolderRules: true} @@ -308,7 +308,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) { require.NoError(t, err) require.Equal(t, len(query.Result), 0) - pubdashConfig, _, err = publicDashboardStore.GetPublicDashboardAndDashboard(context.Background(), "an-access-token") + pubdashConfig, _, err = publicDashboardStore.FindPublicDashboardAndDashboardByAccessToken(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 b5eadc997d7..64c74aa51ec 100644 --- a/pkg/services/publicdashboards/api/api.go +++ b/pkg/services/publicdashboards/api/api.go @@ -89,7 +89,7 @@ func (api *Api) GetPublicDashboard(c *models.ReqContext) response.Response { return response.Error(http.StatusBadRequest, "Invalid Access Token", nil) } - pubdash, dash, err := api.PublicDashboardService.GetPublicDashboardAndDashboard( + pubdash, dash, err := api.PublicDashboardService.FindPublicDashboardAndDashboardByAccessToken( c.Req.Context(), accessToken, ) @@ -122,7 +122,7 @@ func (api *Api) GetPublicDashboard(c *models.ReqContext) response.Response { // ListPublicDashboards Gets list of public dashboards for an org // GET /api/dashboards/public func (api *Api) ListPublicDashboards(c *models.ReqContext) response.Response { - resp, err := api.PublicDashboardService.ListPublicDashboards(c.Req.Context(), c.SignedInUser, c.OrgID) + resp, err := api.PublicDashboardService.FindAll(c.Req.Context(), c.SignedInUser, c.OrgID) if err != nil { return api.handleError(c.Req.Context(), http.StatusInternalServerError, "ListPublicDashboards: failed to list public dashboards", err) } @@ -132,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.GetPublicDashboard(c.Req.Context(), c.OrgID, web.Params(c.Req)[":uid"]) + pdc, err := api.PublicDashboardService.FindByDashboardUid(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) } @@ -163,7 +163,7 @@ func (api *Api) SavePublicDashboardConfig(c *models.ReqContext) response.Respons } // Save the public dashboard - pubdash, err := api.PublicDashboardService.SavePublicDashboard(c.Req.Context(), c.SignedInUser, &dto) + pubdash, err := api.PublicDashboardService.Save(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) } @@ -210,7 +210,7 @@ func (api *Api) GetAnnotations(c *models.ReqContext) response.Response { To: c.QueryInt64("to"), } - annotations, err := api.PublicDashboardService.GetAnnotations(c.Req.Context(), reqDTO, accessToken) + annotations, err := api.PublicDashboardService.FindAnnotations(c.Req.Context(), reqDTO, accessToken) if err != nil { return api.handleError(c.Req.Context(), http.StatusInternalServerError, "error getting public dashboard annotations", err) diff --git a/pkg/services/publicdashboards/api/api_test.go b/pkg/services/publicdashboards/api/api_test.go index e15be5b36cd..368a28eb026 100644 --- a/pkg/services/publicdashboards/api/api_test.go +++ b/pkg/services/publicdashboards/api/api_test.go @@ -99,7 +99,7 @@ func TestAPIGetAnnotations(t *testing.T) { service := publicdashboards.NewFakePublicDashboardService(t) if test.ExpectedServiceCalled { - service.On("GetAnnotations", mock.Anything, mock.Anything, mock.AnythingOfType("string")). + service.On("FindAnnotations", mock.Anything, mock.Anything, mock.AnythingOfType("string")). Return(test.Annotations, test.ServiceError).Once() } @@ -209,7 +209,7 @@ func TestAPIListPublicDashboard(t *testing.T) { for _, test := range testCases { t.Run(test.Name, func(t *testing.T) { service := publicdashboards.NewFakePublicDashboardService(t) - service.On("ListPublicDashboards", mock.Anything, mock.Anything, mock.Anything). + service.On("FindAll", mock.Anything, mock.Anything, mock.Anything). Return(test.Response, test.ResponseErr).Maybe() cfg := setting.NewCfg() @@ -232,7 +232,7 @@ func TestAPIListPublicDashboard(t *testing.T) { err := json.Unmarshal(response.Body.Bytes(), &errResp) require.NoError(t, err) assert.Equal(t, "error, service broken", errResp.Error) - service.AssertNotCalled(t, "ListPublicDashboards") + service.AssertNotCalled(t, "FindAll") } }) } @@ -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("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")). + service.On("FindPublicDashboardAndDashboardByAccessToken", 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("GetPublicDashboard", mock.Anything, mock.AnythingOfType("int64"), mock.AnythingOfType("string")). + service.On("FindByDashboardUid", 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("SavePublicDashboard", mock.Anything, mock.Anything, mock.AnythingOfType("*models.SavePublicDashboardConfigDTO")). + service.On("Save", 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.SavePublicDashboard(context.Background(), &user.SignedInUser{}, savePubDashboardCmd) + pubdash, err := service.Save(context.Background(), &user.SignedInUser{}, savePubDashboardCmd) require.NoError(t, err) // setup test server diff --git a/pkg/services/publicdashboards/api/middleware.go b/pkg/services/publicdashboards/api/middleware.go index 545ef718a38..856bc2899ad 100644 --- a/pkg/services/publicdashboards/api/middleware.go +++ b/pkg/services/publicdashboards/api/middleware.go @@ -19,7 +19,7 @@ func SetPublicDashboardOrgIdOnContext(publicDashboardService publicdashboards.Se } // Get public dashboard - orgId, err := publicDashboardService.GetPublicDashboardOrgId(c.Req.Context(), accessToken) + orgId, err := publicDashboardService.GetOrgIdByAccessToken(c.Req.Context(), accessToken) if err != nil { return } @@ -50,7 +50,7 @@ func RequiresExistingAccessToken(publicDashboardService publicdashboards.Service } // Check that the access token references an enabled public dashboard - exists, err := publicDashboardService.PublicDashboardEnabledExistsByAccessToken(c.Req.Context(), accessToken) + exists, err := publicDashboardService.ExistsEnabledByAccessToken(c.Req.Context(), accessToken) if err != nil { c.JsonApiErr(http.StatusInternalServerError, "Failed to query access token", nil) return diff --git a/pkg/services/publicdashboards/api/middleware_test.go b/pkg/services/publicdashboards/api/middleware_test.go index 1c380e4a896..20680679ab5 100644 --- a/pkg/services/publicdashboards/api/middleware_test.go +++ b/pkg/services/publicdashboards/api/middleware_test.go @@ -74,7 +74,7 @@ func TestRequiresExistingAccessToken(t *testing.T) { for _, tt := range tests { t.Run(tt.Name, func(t *testing.T) { publicdashboardService := &publicdashboards.FakePublicDashboardService{} - publicdashboardService.On("PublicDashboardEnabledExistsByAccessToken", mock.Anything, mock.Anything).Return(tt.AccessTokenExists, tt.AccessTokenExistsErr) + publicdashboardService.On("ExistsEnabledByAccessToken", mock.Anything, mock.Anything).Return(tt.AccessTokenExists, tt.AccessTokenExistsErr) params := map[string]string{":accessToken": tt.AccessToken} mw := RequiresExistingAccessToken(publicdashboardService) _, resp := runMw(t, nil, "GET", tt.Path, params, mw) @@ -131,7 +131,7 @@ func TestSetPublicDashboardOrgIdOnContext(t *testing.T) { for _, tt := range tests { t.Run(tt.Name, func(t *testing.T) { publicdashboardService := &publicdashboards.FakePublicDashboardService{} - publicdashboardService.On("GetPublicDashboardOrgId", mock.Anything, tt.AccessToken).Return( + publicdashboardService.On("GetOrgIdByAccessToken", mock.Anything, tt.AccessToken).Return( tt.OrgIdResp, tt.ErrorResp, ) diff --git a/pkg/services/publicdashboards/database/database.go b/pkg/services/publicdashboards/database/database.go index e882c78ffea..bb99e1a7331 100644 --- a/pkg/services/publicdashboards/database/database.go +++ b/pkg/services/publicdashboards/database/database.go @@ -34,7 +34,7 @@ func ProvideStore(sqlStore db.DB) *PublicDashboardStoreImpl { } // Gets list of public dashboards by orgId -func (d *PublicDashboardStoreImpl) ListPublicDashboards(ctx context.Context, orgId int64) ([]PublicDashboardListResponse, error) { +func (d *PublicDashboardStoreImpl) FindAll(ctx context.Context, orgId int64) ([]PublicDashboardListResponse, error) { resp := make([]PublicDashboardListResponse, 0) err := d.sqlStore.WithTransactionalDbSession(ctx, func(sess *db.Session) error { @@ -55,7 +55,7 @@ func (d *PublicDashboardStoreImpl) ListPublicDashboards(ctx context.Context, org return resp, nil } -func (d *PublicDashboardStoreImpl) GetDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) { +func (d *PublicDashboardStoreImpl) FindDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) { dashboard := &models.Dashboard{Uid: dashboardUid} err := d.sqlStore.WithTransactionalDbSession(ctx, func(sess *db.Session) error { has, err := sess.Get(dashboard) @@ -71,9 +71,9 @@ func (d *PublicDashboardStoreImpl) GetDashboard(ctx context.Context, dashboardUi return dashboard, err } -// GetPublicDashboardAndDashboard Retrieves public dashboard. This method makes 2 queries to the db so that in the +// FindPublicDashboardAndDashboardByAccessToken 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) GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) { +func (d *PublicDashboardStoreImpl) FindPublicDashboardAndDashboardByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) { if accessToken == "" { return nil, nil, ErrPublicDashboardIdentifierNotSet } @@ -96,7 +96,7 @@ func (d *PublicDashboardStoreImpl) GetPublicDashboardAndDashboard(ctx context.Co } // find dashboard - dashRes, err := d.GetDashboard(ctx, pdRes.DashboardUid) + dashRes, err := d.FindDashboard(ctx, pdRes.DashboardUid) if err != nil { return nil, nil, err } @@ -104,8 +104,8 @@ func (d *PublicDashboardStoreImpl) GetPublicDashboardAndDashboard(ctx context.Co return pdRes, dashRes, err } -// GetPublicDashboardByUid Returns public dashboard configuration by Uid or nil if not found -func (d *PublicDashboardStoreImpl) GetPublicDashboardByUid(ctx context.Context, uid string) (*PublicDashboard, error) { +// Find Returns public dashboard configuration by Uid or nil if not found +func (d *PublicDashboardStoreImpl) Find(ctx context.Context, uid string) (*PublicDashboard, error) { if uid == "" { return nil, nil } @@ -130,7 +130,7 @@ func (d *PublicDashboardStoreImpl) GetPublicDashboardByUid(ctx context.Context, } // GetPublicDashboardByAccessToken Returns public dashboard by access token or nil if not found -func (d *PublicDashboardStoreImpl) GetPublicDashboardByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, error) { +func (d *PublicDashboardStoreImpl) FindByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, error) { if accessToken == "" { return nil, ErrPublicDashboardIdentifierNotSet } @@ -154,8 +154,8 @@ func (d *PublicDashboardStoreImpl) GetPublicDashboardByAccessToken(ctx context.C return pdRes, err } -// Retrieves public dashboard configuration -func (d *PublicDashboardStoreImpl) GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) { +// FindByDashboardUid Retrieves public dashboard configuration by dashboard uid +func (d *PublicDashboardStoreImpl) FindByDashboardUid(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) { if dashboardUid == "" { return nil, dashboards.ErrDashboardIdentifierNotSet } @@ -179,7 +179,7 @@ func (d *PublicDashboardStoreImpl) GetPublicDashboard(ctx context.Context, orgId } // Persists public dashboard configuration -func (d *PublicDashboardStoreImpl) SavePublicDashboard(ctx context.Context, cmd SavePublicDashboardConfigCommand) error { +func (d *PublicDashboardStoreImpl) Save(ctx context.Context, cmd SavePublicDashboardConfigCommand) error { if cmd.PublicDashboard.DashboardUid == "" { return dashboards.ErrDashboardIdentifierNotSet } @@ -196,8 +196,8 @@ func (d *PublicDashboardStoreImpl) SavePublicDashboard(ctx context.Context, cmd return err } -// Updates existing public dashboard configuration -func (d *PublicDashboardStoreImpl) UpdatePublicDashboard(ctx context.Context, cmd SavePublicDashboardConfigCommand) error { +// Update updates existing public dashboard configuration +func (d *PublicDashboardStoreImpl) Update(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 { @@ -222,8 +222,8 @@ func (d *PublicDashboardStoreImpl) UpdatePublicDashboard(ctx context.Context, cm return err } -// EnabledPublicDashboardExistsByDashboardUid Responds true if there is an enabled public dashboard for a dashboard uid -func (d *PublicDashboardStoreImpl) PublicDashboardEnabledExistsByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) { +// ExistsEnabledByDashboardUid Responds true if there is an enabled public dashboard for a dashboard uid +func (d *PublicDashboardStoreImpl) ExistsEnabledByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) { hasPublicDashboard := false err := d.sqlStore.WithDbSession(ctx, func(dbSession *db.Session) error { sql := "SELECT COUNT(*) FROM dashboard_public WHERE dashboard_uid=? AND is_enabled=true" @@ -240,8 +240,8 @@ func (d *PublicDashboardStoreImpl) PublicDashboardEnabledExistsByDashboardUid(ct return hasPublicDashboard, err } -// EnabledPublicDashboardExistsByAccessToken Responds true if accessToken exists and isEnabled -func (d *PublicDashboardStoreImpl) PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) { +// ExistsEnabledByAccessToken Responds true if the accessToken exists and the public dashboard is enabled +func (d *PublicDashboardStoreImpl) ExistsEnabledByAccessToken(ctx context.Context, accessToken string) (bool, error) { hasPublicDashboard := false err := d.sqlStore.WithDbSession(ctx, func(dbSession *db.Session) error { sql := "SELECT COUNT(*) FROM dashboard_public WHERE access_token=? AND is_enabled=true" @@ -258,8 +258,8 @@ func (d *PublicDashboardStoreImpl) PublicDashboardEnabledExistsByAccessToken(ctx return hasPublicDashboard, err } -// Responds with OrgId from if exists and isEnabled. -func (d *PublicDashboardStoreImpl) GetPublicDashboardOrgId(ctx context.Context, accessToken string) (int64, error) { +// GetOrgIdByAccessToken Returns the public dashboard OrgId if exists and is enabled. +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" diff --git a/pkg/services/publicdashboards/database/database_test.go b/pkg/services/publicdashboards/database/database_test.go index 851f1c259d6..8f8e9c41855 100644 --- a/pkg/services/publicdashboards/database/database_test.go +++ b/pkg/services/publicdashboards/database/database_test.go @@ -55,7 +55,7 @@ func TestIntegrationListPublicDashboard(t *testing.T) { // should not be included in response _ = insertPublicDashboard(t, publicdashboardStore, "wrongOrgId", 777, false) - resp, err := publicdashboardStore.ListPublicDashboards(context.Background(), orgId) + resp, err := publicdashboardStore.FindAll(context.Background(), orgId) require.NoError(t, err) assert.Len(t, resp, 3) @@ -64,7 +64,7 @@ func TestIntegrationListPublicDashboard(t *testing.T) { assert.Equal(t, resp[2].Uid, c.Uid) } -func TestIntegrationGetDashboard(t *testing.T) { +func TestIntegrationFindDashboard(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -78,17 +78,17 @@ func TestIntegrationGetDashboard(t *testing.T) { savedDashboard = insertTestDashboard(t, dashboardStore, "testDashie", 1, 0, true) } - t.Run("GetDashboard can get original dashboard by uid", func(t *testing.T) { + t.Run("FindDashboard can get original dashboard by uid", func(t *testing.T) { setup() - dashboard, err := publicdashboardStore.GetDashboard(context.Background(), savedDashboard.Uid) + dashboard, err := publicdashboardStore.FindDashboard(context.Background(), savedDashboard.Uid) require.NoError(t, err) require.Equal(t, savedDashboard.Uid, dashboard.Uid) }) } -func TestIntegrationEnabledPublicDashboardExistsByAccessToken(t *testing.T) { +func TestIntegrationExistsEnabledByAccessToken(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -101,10 +101,10 @@ func TestIntegrationEnabledPublicDashboardExistsByAccessToken(t *testing.T) { publicdashboardStore = ProvideStore(sqlStore) savedDashboard = insertTestDashboard(t, dashboardStore, "testDashie", 1, 0, true) } - t.Run("PublicDashboardEnabledExistsByAccessToken will return true when at least one public dashboard has a matching access token", func(t *testing.T) { + t.Run("ExistsEnabledByAccessToken will return true when at least one public dashboard has a matching access token", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc123", @@ -117,16 +117,16 @@ func TestIntegrationEnabledPublicDashboardExistsByAccessToken(t *testing.T) { }) require.NoError(t, err) - res, err := publicdashboardStore.PublicDashboardEnabledExistsByAccessToken(context.Background(), "accessToken") + res, err := publicdashboardStore.ExistsEnabledByAccessToken(context.Background(), "accessToken") require.NoError(t, err) require.True(t, res) }) - t.Run("PublicDashboardEnabledExistsByAccessToken will return false when IsEnabled=false", func(t *testing.T) { + t.Run("ExistsEnabledByAccessToken will return false when IsEnabled=false", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: false, Uid: "abc123", @@ -139,23 +139,23 @@ func TestIntegrationEnabledPublicDashboardExistsByAccessToken(t *testing.T) { }) require.NoError(t, err) - res, err := publicdashboardStore.PublicDashboardEnabledExistsByAccessToken(context.Background(), "accessToken") + res, err := publicdashboardStore.ExistsEnabledByAccessToken(context.Background(), "accessToken") require.NoError(t, err) require.False(t, res) }) - t.Run("PublicDashboardEnabledExistsByAccessToken will return false when no public dashboard has matching access token", func(t *testing.T) { + t.Run("ExistsEnabledByAccessToken will return false when no public dashboard has matching access token", func(t *testing.T) { setup() - res, err := publicdashboardStore.PublicDashboardEnabledExistsByAccessToken(context.Background(), "accessToken") + res, err := publicdashboardStore.ExistsEnabledByAccessToken(context.Background(), "accessToken") require.NoError(t, err) require.False(t, res) }) } -func TestIntegrationEnabledPublicDashboardExistsByDashboardUid(t *testing.T) { +func TestIntegrationExistsEnabledByDashboardUid(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -169,10 +169,10 @@ func TestIntegrationEnabledPublicDashboardExistsByDashboardUid(t *testing.T) { savedDashboard = insertTestDashboard(t, dashboardStore, "testDashie", 1, 0, true) } - t.Run("PublicDashboardEnabledExistsByDashboardUid Will return true when dashboard has at least one enabled public dashboard", func(t *testing.T) { + t.Run("ExistsEnabledByDashboardUid Will return true when dashboard has at least one enabled public dashboard", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc123", @@ -185,16 +185,16 @@ func TestIntegrationEnabledPublicDashboardExistsByDashboardUid(t *testing.T) { }) require.NoError(t, err) - res, err := publicdashboardStore.PublicDashboardEnabledExistsByDashboardUid(context.Background(), savedDashboard.Uid) + res, err := publicdashboardStore.ExistsEnabledByDashboardUid(context.Background(), savedDashboard.Uid) require.NoError(t, err) require.True(t, res) }) - t.Run("PublicDashboardEnabledExistsByDashboardUid will return false when dashboard has public dashboards but they are not enabled", func(t *testing.T) { + t.Run("ExistsEnabledByDashboardUid will return false when dashboard has public dashboards but they are not enabled", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: false, Uid: "abc123", @@ -207,14 +207,14 @@ func TestIntegrationEnabledPublicDashboardExistsByDashboardUid(t *testing.T) { }) require.NoError(t, err) - res, err := publicdashboardStore.PublicDashboardEnabledExistsByDashboardUid(context.Background(), savedDashboard.Uid) + res, err := publicdashboardStore.ExistsEnabledByDashboardUid(context.Background(), savedDashboard.Uid) require.NoError(t, err) require.False(t, res) }) } -func TestIntegrationGetPublicDashboardAndDashboard(t *testing.T) { +func TestIntegrationFindPublicDashboardAndDashboardByAccessToken(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -244,10 +244,10 @@ func TestIntegrationGetPublicDashboardAndDashboard(t *testing.T) { }, } - err := publicdashboardStore.SavePublicDashboard(context.Background(), cmd) + err := publicdashboardStore.Save(context.Background(), cmd) require.NoError(t, err) - pd, d, err := publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "NOTAREALUUID") + pd, d, err := publicdashboardStore.FindPublicDashboardAndDashboardByAccessToken(context.Background(), "NOTAREALUUID") require.NoError(t, err) assert.Equal(t, pd, &cmd.PublicDashboard) @@ -256,19 +256,19 @@ func TestIntegrationGetPublicDashboardAndDashboard(t *testing.T) { t.Run("returns ErrPublicDashboardNotFound with empty uid", func(t *testing.T) { setup() - _, _, err := publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "") + _, _, err := publicdashboardStore.FindPublicDashboardAndDashboardByAccessToken(context.Background(), "") require.Error(t, ErrPublicDashboardIdentifierNotSet, err) }) t.Run("returns ErrPublicDashboardNotFound when PublicDashboard not found", func(t *testing.T) { setup() - _, _, err := publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "zzzzzz") + _, _, err := publicdashboardStore.FindPublicDashboardAndDashboardByAccessToken(context.Background(), "zzzzzz") require.Error(t, ErrPublicDashboardNotFound, err) }) t.Run("returns ErrDashboardNotFound when Dashboard not found", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc1234", @@ -279,12 +279,12 @@ func TestIntegrationGetPublicDashboardAndDashboard(t *testing.T) { }, }) require.NoError(t, err) - _, _, err = publicdashboardStore.GetPublicDashboardAndDashboard(context.Background(), "abc1234") + _, _, err = publicdashboardStore.FindPublicDashboardAndDashboardByAccessToken(context.Background(), "abc1234") require.Error(t, dashboards.ErrDashboardNotFound, err) }) } -func TestIntegrationGetPublicDashboard(t *testing.T) { +func TestIntegrationFindByDashboardUid(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -300,14 +300,14 @@ func TestIntegrationGetPublicDashboard(t *testing.T) { t.Run("returns isPublic and set dashboardUid and orgId", func(t *testing.T) { setup() - pubdash, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pubdash, err := publicdashboardStore.FindByDashboardUid(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.GetPublicDashboard(context.Background(), savedDashboard.OrgId, "") + _, err := publicdashboardStore.FindByDashboardUid(context.Background(), savedDashboard.OrgId, "") require.Error(t, dashboards.ErrDashboardIdentifierNotSet, err) }) @@ -326,11 +326,11 @@ func TestIntegrationGetPublicDashboard(t *testing.T) { } // insert test public dashboard - err := publicdashboardStore.SavePublicDashboard(context.Background(), cmd) + err := publicdashboardStore.Save(context.Background(), cmd) require.NoError(t, err) // retrieve from db - pubdash, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pubdash, err := publicdashboardStore.FindByDashboardUid(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) require.NoError(t, err) assert.True(t, assert.ObjectsAreEqualValues(&cmd.PublicDashboard, pubdash)) @@ -355,7 +355,7 @@ func TestIntegrationSavePublicDashboard(t *testing.T) { t.Run("saves new public dashboard", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, AnnotationsEnabled: true, @@ -370,21 +370,21 @@ func TestIntegrationSavePublicDashboard(t *testing.T) { }) require.NoError(t, err) - pubdash, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pubdash, err := publicdashboardStore.FindByDashboardUid(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.GetPublicDashboard(context.Background(), savedDashboard2.OrgId, savedDashboard2.Uid) + pubdash2, err := publicdashboardStore.FindByDashboardUid(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.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "pubdash-uid", @@ -420,7 +420,7 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) { setup() pdUid := "asdf1234" - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ Uid: pdUid, DashboardUid: savedDashboard.Uid, @@ -436,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.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err = publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ Uid: anotherPdUid, DashboardUid: anotherSavedDashboard.Uid, @@ -461,23 +461,23 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) { UpdatedBy: 8, } // update initial record - err = publicdashboardStore.UpdatePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err = publicdashboardStore.Update(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: updatedPublicDashboard, }) require.NoError(t, err) // updated dashboard should have changed - pdRetrieved, err := publicdashboardStore.GetPublicDashboard(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) + pdRetrieved, err := publicdashboardStore.FindByDashboardUid(context.Background(), savedDashboard.OrgId, savedDashboard.Uid) require.NoError(t, err) assert.Equal(t, updatedPublicDashboard.UpdatedAt, pdRetrieved.UpdatedAt) - // make sure we're correctly updated IsEnabled because we have to call + // make sure we're correctly updated ExistsEnabledByDashboardUid because we have to call // UseBool with xorm assert.Equal(t, updatedPublicDashboard.IsEnabled, pdRetrieved.IsEnabled) assert.Equal(t, updatedPublicDashboard.AnnotationsEnabled, pdRetrieved.AnnotationsEnabled) // not updated dashboard shouldn't have changed - pdNotUpdatedRetrieved, err := publicdashboardStore.GetPublicDashboard(context.Background(), anotherSavedDashboard.OrgId, anotherSavedDashboard.Uid) + pdNotUpdatedRetrieved, err := publicdashboardStore.FindByDashboardUid(context.Background(), anotherSavedDashboard.OrgId, anotherSavedDashboard.Uid) require.NoError(t, err) assert.NotEqual(t, updatedPublicDashboard.UpdatedAt, pdNotUpdatedRetrieved.UpdatedAt) assert.NotEqual(t, updatedPublicDashboard.IsEnabled, pdNotUpdatedRetrieved.IsEnabled) @@ -485,8 +485,7 @@ func TestIntegrationUpdatePublicDashboard(t *testing.T) { }) } -// GetPublicDashboardOrgId -func TestIntegrationGetPublicDashboardOrgId(t *testing.T) { +func TestIntegrationGetOrgIdByAccessToken(t *testing.T) { var sqlStore db.DB var cfg *setting.Cfg var dashboardStore *dashboardsDB.DashboardStore @@ -499,10 +498,10 @@ func TestIntegrationGetPublicDashboardOrgId(t *testing.T) { publicdashboardStore = ProvideStore(sqlStore) savedDashboard = insertTestDashboard(t, dashboardStore, "testDashie", 1, 0, true) } - t.Run("GetPublicDashboardOrgId will OrgId when enabled", func(t *testing.T) { + t.Run("GetOrgIdByAccessToken will OrgId when enabled", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: true, Uid: "abc123", @@ -515,16 +514,16 @@ func TestIntegrationGetPublicDashboardOrgId(t *testing.T) { }) require.NoError(t, err) - orgId, err := publicdashboardStore.GetPublicDashboardOrgId(context.Background(), "accessToken") + orgId, err := publicdashboardStore.GetOrgIdByAccessToken(context.Background(), "accessToken") require.NoError(t, err) assert.Equal(t, savedDashboard.OrgId, orgId) }) - t.Run("GetPublicDashboardOrgId will return 0 when IsEnabled=false", func(t *testing.T) { + t.Run("GetOrgIdByAccessToken will return 0 when IsEnabled=false", func(t *testing.T) { setup() - err := publicdashboardStore.SavePublicDashboard(context.Background(), SavePublicDashboardConfigCommand{ + err := publicdashboardStore.Save(context.Background(), SavePublicDashboardConfigCommand{ PublicDashboard: PublicDashboard{ IsEnabled: false, Uid: "abc123", @@ -536,15 +535,15 @@ func TestIntegrationGetPublicDashboardOrgId(t *testing.T) { }, }) require.NoError(t, err) - orgId, err := publicdashboardStore.GetPublicDashboardOrgId(context.Background(), "accessToken") + orgId, err := publicdashboardStore.GetOrgIdByAccessToken(context.Background(), "accessToken") require.NoError(t, err) assert.NotEqual(t, savedDashboard.OrgId, orgId) }) - t.Run("GetPublicDashboardOrgId will return 0 when no public dashboard has matching access token", func(t *testing.T) { + t.Run("GetOrgIdByAccessToken will return 0 when no public dashboard has matching access token", func(t *testing.T) { setup() - orgId, err := publicdashboardStore.GetPublicDashboardOrgId(context.Background(), "nonExistentAccessToken") + orgId, err := publicdashboardStore.GetOrgIdByAccessToken(context.Background(), "nonExistentAccessToken") require.NoError(t, err) assert.NotEqual(t, savedDashboard.OrgId, orgId) }) @@ -594,10 +593,10 @@ func insertPublicDashboard(t *testing.T, publicdashboardStore *PublicDashboardSt }, } - err = publicdashboardStore.SavePublicDashboard(ctx, cmd) + err = publicdashboardStore.Save(ctx, cmd) require.NoError(t, err) - pubdash, err := publicdashboardStore.GetPublicDashboardByUid(ctx, uid) + pubdash, err := publicdashboardStore.Find(ctx, uid) require.NoError(t, err) return pubdash diff --git a/pkg/services/publicdashboards/public_dashboard_service_mock.go b/pkg/services/publicdashboards/public_dashboard_service_mock.go index ddb436c060c..f96989216bc 100644 --- a/pkg/services/publicdashboards/public_dashboard_service_mock.go +++ b/pkg/services/publicdashboards/public_dashboard_service_mock.go @@ -23,8 +23,8 @@ type FakePublicDashboardService struct { mock.Mock } -// GenerateNewPublicDashboardAccessToken provides a mock function with given fields: ctx -func (_m *FakePublicDashboardService) GenerateNewPublicDashboardAccessToken(ctx context.Context) (string, error) { +// NewPublicDashboardAccessToken provides a mock function with given fields: ctx +func (_m *FakePublicDashboardService) NewPublicDashboardAccessToken(ctx context.Context) (string, error) { ret := _m.Called(ctx) var r0 string @@ -45,7 +45,7 @@ func (_m *FakePublicDashboardService) GenerateNewPublicDashboardAccessToken(ctx } // GenerateNewPublicDashboardUid provides a mock function with given fields: ctx -func (_m *FakePublicDashboardService) GenerateNewPublicDashboardUid(ctx context.Context) (string, error) { +func (_m *FakePublicDashboardService) NewPublicDashboardUid(ctx context.Context) (string, error) { ret := _m.Called(ctx) var r0 string @@ -66,7 +66,7 @@ func (_m *FakePublicDashboardService) GenerateNewPublicDashboardUid(ctx context. } // GetAnnotations provides a mock function with given fields: ctx, reqDTO, accessToken -func (_m *FakePublicDashboardService) GetAnnotations(ctx context.Context, reqDTO models.AnnotationsQueryDTO, accessToken string) ([]models.AnnotationEvent, error) { +func (_m *FakePublicDashboardService) FindAnnotations(ctx context.Context, reqDTO models.AnnotationsQueryDTO, accessToken string) ([]models.AnnotationEvent, error) { ret := _m.Called(ctx, reqDTO, accessToken) var r0 []models.AnnotationEvent @@ -88,8 +88,8 @@ func (_m *FakePublicDashboardService) GetAnnotations(ctx context.Context, reqDTO return r0, r1 } -// GetDashboard provides a mock function with given fields: ctx, dashboardUid -func (_m *FakePublicDashboardService) GetDashboard(ctx context.Context, dashboardUid string) (*pkgmodels.Dashboard, error) { +// FindDashboard provides a mock function with given fields: ctx, dashboardUid +func (_m *FakePublicDashboardService) FindDashboard(ctx context.Context, dashboardUid string) (*pkgmodels.Dashboard, error) { ret := _m.Called(ctx, dashboardUid) var r0 *pkgmodels.Dashboard @@ -132,8 +132,8 @@ func (_m *FakePublicDashboardService) GetMetricRequest(ctx context.Context, dash return r0, r1 } -// GetPublicDashboard provides a mock function with given fields: ctx, orgId, dashboardUid -func (_m *FakePublicDashboardService) GetPublicDashboard(ctx context.Context, orgId int64, dashboardUid string) (*models.PublicDashboard, error) { +// FindByDashboardUid provides a mock function with given fields: ctx, orgId, dashboardUid +func (_m *FakePublicDashboardService) FindByDashboardUid(ctx context.Context, orgId int64, dashboardUid string) (*models.PublicDashboard, error) { ret := _m.Called(ctx, orgId, dashboardUid) var r0 *models.PublicDashboard @@ -155,8 +155,8 @@ func (_m *FakePublicDashboardService) GetPublicDashboard(ctx context.Context, or return r0, r1 } -// GetPublicDashboardAndDashboard provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardService) GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*models.PublicDashboard, *pkgmodels.Dashboard, error) { +// FindPublicDashboardAndDashboardByAccessToken provides a mock function with given fields: ctx, accessToken +func (_m *FakePublicDashboardService) FindPublicDashboardAndDashboardByAccessToken(ctx context.Context, accessToken string) (*models.PublicDashboard, *pkgmodels.Dashboard, error) { ret := _m.Called(ctx, accessToken) var r0 *models.PublicDashboard @@ -187,8 +187,8 @@ func (_m *FakePublicDashboardService) GetPublicDashboardAndDashboard(ctx context return r0, r1, r2 } -// GetPublicDashboardOrgId provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardService) GetPublicDashboardOrgId(ctx context.Context, accessToken string) (int64, error) { +// GetOrgIdByAccessToken provides a mock function with given fields: ctx, accessToken +func (_m *FakePublicDashboardService) GetOrgIdByAccessToken(ctx context.Context, accessToken string) (int64, error) { ret := _m.Called(ctx, accessToken) var r0 int64 @@ -231,8 +231,8 @@ func (_m *FakePublicDashboardService) GetQueryDataResponse(ctx context.Context, return r0, r1 } -// ListPublicDashboards provides a mock function with given fields: ctx, u, orgId -func (_m *FakePublicDashboardService) ListPublicDashboards(ctx context.Context, u *user.SignedInUser, orgId int64) ([]models.PublicDashboardListResponse, error) { +// FindAll provides a mock function with given fields: ctx, u, orgId +func (_m *FakePublicDashboardService) FindAll(ctx context.Context, u *user.SignedInUser, orgId int64) ([]models.PublicDashboardListResponse, error) { ret := _m.Called(ctx, u, orgId) var r0 []models.PublicDashboardListResponse @@ -254,8 +254,8 @@ func (_m *FakePublicDashboardService) ListPublicDashboards(ctx context.Context, return r0, r1 } -// PublicDashboardEnabledExistsByAccessToken provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardService) PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) { +// ExistsEnabledByAccessToken provides a mock function with given fields: ctx, accessToken +func (_m *FakePublicDashboardService) ExistsEnabledByAccessToken(ctx context.Context, accessToken string) (bool, error) { ret := _m.Called(ctx, accessToken) var r0 bool @@ -276,7 +276,7 @@ func (_m *FakePublicDashboardService) PublicDashboardEnabledExistsByAccessToken( } // PublicDashboardIsEnabled provides a mock function with given fields: ctx, dashboardUid -func (_m *FakePublicDashboardService) PublicDashboardIsEnabled(ctx context.Context, dashboardUid string) (bool, error) { +func (_m *FakePublicDashboardService) ExistsEnabledByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) { ret := _m.Called(ctx, dashboardUid) var r0 bool @@ -296,8 +296,8 @@ func (_m *FakePublicDashboardService) PublicDashboardIsEnabled(ctx context.Conte return r0, r1 } -// SavePublicDashboard provides a mock function with given fields: ctx, u, dto -func (_m *FakePublicDashboardService) SavePublicDashboard(ctx context.Context, u *user.SignedInUser, dto *models.SavePublicDashboardConfigDTO) (*models.PublicDashboard, error) { +// Save provides a mock function with given fields: ctx, u, dto +func (_m *FakePublicDashboardService) Save(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 e3a5ec8e4b7..470cc4006d7 100644 --- a/pkg/services/publicdashboards/public_dashboard_store_mock.go +++ b/pkg/services/publicdashboards/public_dashboard_store_mock.go @@ -17,7 +17,7 @@ type FakePublicDashboardStore struct { } // GetDashboard provides a mock function with given fields: ctx, dashboardUid -func (_m *FakePublicDashboardStore) GetDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) { +func (_m *FakePublicDashboardStore) FindDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) { ret := _m.Called(ctx, dashboardUid) var r0 *models.Dashboard @@ -40,7 +40,7 @@ func (_m *FakePublicDashboardStore) GetDashboard(ctx context.Context, dashboardU } // 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) { +func (_m *FakePublicDashboardStore) FindByDashboardUid(ctx context.Context, orgId int64, dashboardUid string) (*publicdashboardsmodels.PublicDashboard, error) { ret := _m.Called(ctx, orgId, dashboardUid) var r0 *publicdashboardsmodels.PublicDashboard @@ -63,7 +63,7 @@ func (_m *FakePublicDashboardStore) GetPublicDashboard(ctx context.Context, orgI } // GetPublicDashboardAndDashboard provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardStore) GetPublicDashboardAndDashboard(ctx context.Context, accessToken string) (*publicdashboardsmodels.PublicDashboard, *models.Dashboard, error) { +func (_m *FakePublicDashboardStore) FindPublicDashboardAndDashboardByAccessToken(ctx context.Context, accessToken string) (*publicdashboardsmodels.PublicDashboard, *models.Dashboard, error) { ret := _m.Called(ctx, accessToken) var r0 *publicdashboardsmodels.PublicDashboard @@ -95,7 +95,7 @@ func (_m *FakePublicDashboardStore) GetPublicDashboardAndDashboard(ctx context.C } // GetPublicDashboardByAccessToken provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardStore) GetPublicDashboardByAccessToken(ctx context.Context, accessToken string) (*publicdashboardsmodels.PublicDashboard, error) { +func (_m *FakePublicDashboardStore) FindByAccessToken(ctx context.Context, accessToken string) (*publicdashboardsmodels.PublicDashboard, error) { ret := _m.Called(ctx, accessToken) var r0 *publicdashboardsmodels.PublicDashboard @@ -118,7 +118,7 @@ func (_m *FakePublicDashboardStore) GetPublicDashboardByAccessToken(ctx context. } // GetPublicDashboardByUid provides a mock function with given fields: ctx, uid -func (_m *FakePublicDashboardStore) GetPublicDashboardByUid(ctx context.Context, uid string) (*publicdashboardsmodels.PublicDashboard, error) { +func (_m *FakePublicDashboardStore) Find(ctx context.Context, uid string) (*publicdashboardsmodels.PublicDashboard, error) { ret := _m.Called(ctx, uid) var r0 *publicdashboardsmodels.PublicDashboard @@ -141,7 +141,7 @@ func (_m *FakePublicDashboardStore) GetPublicDashboardByUid(ctx context.Context, } // GetPublicDashboardOrgId provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardStore) GetPublicDashboardOrgId(ctx context.Context, accessToken string) (int64, error) { +func (_m *FakePublicDashboardStore) GetOrgIdByAccessToken(ctx context.Context, accessToken string) (int64, error) { ret := _m.Called(ctx, accessToken) var r0 int64 @@ -162,7 +162,7 @@ func (_m *FakePublicDashboardStore) GetPublicDashboardOrgId(ctx context.Context, } // ListPublicDashboards provides a mock function with given fields: ctx, orgId -func (_m *FakePublicDashboardStore) ListPublicDashboards(ctx context.Context, orgId int64) ([]publicdashboardsmodels.PublicDashboardListResponse, error) { +func (_m *FakePublicDashboardStore) FindAll(ctx context.Context, orgId int64) ([]publicdashboardsmodels.PublicDashboardListResponse, error) { ret := _m.Called(ctx, orgId) var r0 []publicdashboardsmodels.PublicDashboardListResponse @@ -185,7 +185,7 @@ func (_m *FakePublicDashboardStore) ListPublicDashboards(ctx context.Context, or } // PublicDashboardEnabledExistsByAccessToken provides a mock function with given fields: ctx, accessToken -func (_m *FakePublicDashboardStore) PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) { +func (_m *FakePublicDashboardStore) ExistsEnabledByAccessToken(ctx context.Context, accessToken string) (bool, error) { ret := _m.Called(ctx, accessToken) var r0 bool @@ -206,7 +206,7 @@ func (_m *FakePublicDashboardStore) PublicDashboardEnabledExistsByAccessToken(ct } // PublicDashboardEnabledExistsByDashboardUid provides a mock function with given fields: ctx, dashboardUid -func (_m *FakePublicDashboardStore) PublicDashboardEnabledExistsByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) { +func (_m *FakePublicDashboardStore) ExistsEnabledByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) { ret := _m.Called(ctx, dashboardUid) var r0 bool @@ -227,7 +227,7 @@ func (_m *FakePublicDashboardStore) PublicDashboardEnabledExistsByDashboardUid(c } // SavePublicDashboard provides a mock function with given fields: ctx, cmd -func (_m *FakePublicDashboardStore) SavePublicDashboard(ctx context.Context, cmd publicdashboardsmodels.SavePublicDashboardConfigCommand) error { +func (_m *FakePublicDashboardStore) Save(ctx context.Context, cmd publicdashboardsmodels.SavePublicDashboardConfigCommand) error { ret := _m.Called(ctx, cmd) var r0 error @@ -241,7 +241,7 @@ func (_m *FakePublicDashboardStore) SavePublicDashboard(ctx context.Context, cmd } // UpdatePublicDashboard provides a mock function with given fields: ctx, cmd -func (_m *FakePublicDashboardStore) UpdatePublicDashboard(ctx context.Context, cmd publicdashboardsmodels.SavePublicDashboardConfigCommand) error { +func (_m *FakePublicDashboardStore) Update(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 358a79fff23..c28d88df7aa 100644 --- a/pkg/services/publicdashboards/publicdashboard.go +++ b/pkg/services/publicdashboards/publicdashboard.go @@ -14,32 +14,35 @@ import ( //go:generate mockery --name Service --structname FakePublicDashboardService --inpackage --filename public_dashboard_service_mock.go type Service interface { - GenerateNewPublicDashboardAccessToken(ctx context.Context) (string, error) - GenerateNewPublicDashboardUid(ctx context.Context) (string, error) - GetAnnotations(ctx context.Context, reqDTO AnnotationsQueryDTO, accessToken string) ([]AnnotationEvent, error) - GetDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) + FindPublicDashboardAndDashboardByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) + FindByDashboardUid(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) + FindAnnotations(ctx context.Context, reqDTO AnnotationsQueryDTO, accessToken string) ([]AnnotationEvent, error) + FindDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) + FindAll(ctx context.Context, u *user.SignedInUser, orgId int64) ([]PublicDashboardListResponse, error) + Save(ctx context.Context, u *user.SignedInUser, dto *SavePublicDashboardConfigDTO) (*PublicDashboard, error) + GetMetricRequest(ctx context.Context, dashboard *models.Dashboard, publicDashboard *PublicDashboard, panelId int64, reqDTO PublicDashboardQueryDTO) (dtos.MetricRequest, 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) - 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) + GetOrgIdByAccessToken(ctx context.Context, accessToken string) (int64, error) + NewPublicDashboardAccessToken(ctx context.Context) (string, error) + NewPublicDashboardUid(ctx context.Context) (string, error) + + ExistsEnabledByAccessToken(ctx context.Context, accessToken string) (bool, error) + ExistsEnabledByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) } //go:generate mockery --name Store --structname FakePublicDashboardStore --inpackage --filename public_dashboard_store_mock.go type Store interface { - 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) - GetPublicDashboardByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, error) - GetPublicDashboardByUid(ctx context.Context, uid string) (*PublicDashboard, error) - GetPublicDashboardOrgId(ctx context.Context, accessToken string) (int64, error) - ListPublicDashboards(ctx context.Context, orgId int64) ([]PublicDashboardListResponse, 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 + Find(ctx context.Context, uid string) (*PublicDashboard, error) + FindByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, error) + FindByDashboardUid(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) + FindDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) + FindPublicDashboardAndDashboardByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) + FindAll(ctx context.Context, orgId int64) ([]PublicDashboardListResponse, error) + Save(ctx context.Context, cmd SavePublicDashboardConfigCommand) error + Update(ctx context.Context, cmd SavePublicDashboardConfigCommand) error + + GetOrgIdByAccessToken(ctx context.Context, accessToken string) (int64, error) + ExistsEnabledByAccessToken(ctx context.Context, accessToken string) (bool, error) + ExistsEnabledByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) } diff --git a/pkg/services/publicdashboards/service/query.go b/pkg/services/publicdashboards/service/query.go index 46fd6589cb7..d063660b518 100644 --- a/pkg/services/publicdashboards/service/query.go +++ b/pkg/services/publicdashboards/service/query.go @@ -18,8 +18,8 @@ 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.GetPublicDashboardAndDashboard(ctx, accessToken) +func (pd *PublicDashboardServiceImpl) FindAnnotations(ctx context.Context, reqDTO models.AnnotationsQueryDTO, accessToken string) ([]models.AnnotationEvent, error) { + pub, dash, err := pd.FindPublicDashboardAndDashboardByAccessToken(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.GetPublicDashboardAndDashboard(ctx, accessToken) + publicDashboard, dashboard, err := pd.FindPublicDashboardAndDashboardByAccessToken(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 46d8a26e97d..9967f27cbd5 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.SavePublicDashboard(context.Background(), SignedInUser, dto) + pubdashDto, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) resp, _ := service.GetQueryDataResponse(context.Background(), true, publicDashboardQueryDTO, 1, pubdashDto.AccessToken) @@ -421,7 +421,7 @@ func TestGetAnnotations(t *testing.T) { store: &fakeStore, AnnotationsRepo: annotationsRepo, } - fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")). + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", mock.Anything, mock.AnythingOfType("string")). Return(&PublicDashboard{Uid: "uid1", IsEnabled: true}, grafanamodels.NewDashboard("dash1"), nil) reqDTO := AnnotationsQueryDTO{ @@ -430,7 +430,7 @@ func TestGetAnnotations(t *testing.T) { } dash := grafanamodels.NewDashboard("testDashboard") - items, _ := service.GetAnnotations(context.Background(), reqDTO, "abc123") + items, _ := service.FindAnnotations(context.Background(), reqDTO, "abc123") anonUser := buildAnonymousUser(context.Background(), dash) assert.Equal(t, "dashboards:*", anonUser.Permissions[0]["dashboards:read"][0]) @@ -475,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("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) annotationsRepo.On("Find", mock.Anything, mock.Anything).Return([]*annotations.ItemDTO{ { Id: 1, @@ -488,7 +488,7 @@ func TestGetAnnotations(t *testing.T) { }, }, nil).Maybe() - items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") + items, err := service.FindAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") expected := AnnotationEvent{ Id: 1, @@ -532,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("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) annotationsRepo.On("Find", mock.Anything, mock.Anything).Return([]*annotations.ItemDTO{ { Id: 1, @@ -545,7 +545,7 @@ func TestGetAnnotations(t *testing.T) { }, }, nil).Maybe() - items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") + items, err := service.FindAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") expected := AnnotationEvent{ Id: 1, @@ -601,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("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) annotationsRepo.On("Find", mock.Anything, mock.Anything).Return([]*annotations.ItemDTO{ { Id: 1, @@ -614,7 +614,7 @@ func TestGetAnnotations(t *testing.T) { }, }, nil).Maybe() - items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") + items, err := service.FindAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") expected := AnnotationEvent{ Id: 1, @@ -643,9 +643,9 @@ func TestGetAnnotations(t *testing.T) { } dashboard := grafanamodels.NewDashboard("dashWithNoAnnotations") pubdash := &PublicDashboard{Uid: "uid1", IsEnabled: true, OrgId: 1, DashboardUid: dashboard.Uid, AnnotationsEnabled: true} - fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) - items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") + items, err := service.FindAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") require.NoError(t, err) assert.Empty(t, items) @@ -676,9 +676,9 @@ 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("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dashboard, nil) - items, err := service.GetAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") + items, err := service.FindAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") require.NoError(t, err) assert.Empty(t, items) @@ -708,10 +708,10 @@ 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("GetPublicDashboardAndDashboard", mock.Anything, mock.AnythingOfType("string")).Return(pubdash, dash, nil) + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", 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") + items, err := service.FindAnnotations(context.Background(), AnnotationsQueryDTO{}, "abc123") require.Error(t, err) require.Nil(t, items) @@ -822,7 +822,7 @@ func TestBuildMetricRequest(t *testing.T) { }, } - publicDashboardPD, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + publicDashboardPD, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) nonPublicDto := &SavePublicDashboardConfigDTO{ @@ -836,7 +836,7 @@ func TestBuildMetricRequest(t *testing.T) { }, } - _, err = service.SavePublicDashboard(context.Background(), SignedInUser, nonPublicDto) + _, err = service.Save(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 02afb7814b5..92e80fb9bcc 100644 --- a/pkg/services/publicdashboards/service/service.go +++ b/pkg/services/publicdashboards/service/service.go @@ -61,9 +61,9 @@ func ProvideService( } } -// GetDashboard Gets a dashboard by Uid -func (pd *PublicDashboardServiceImpl) GetDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) { - dashboard, err := pd.store.GetDashboard(ctx, dashboardUid) +// FindDashboard Gets a dashboard by Uid +func (pd *PublicDashboardServiceImpl) FindDashboard(ctx context.Context, dashboardUid string) (*models.Dashboard, error) { + dashboard, err := pd.store.FindDashboard(ctx, dashboardUid) if err != nil { return nil, err @@ -72,9 +72,9 @@ func (pd *PublicDashboardServiceImpl) GetDashboard(ctx context.Context, dashboar return dashboard, err } -// 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) +// FindPublicDashboardAndDashboardByAccessToken Gets public dashboard via access token +func (pd *PublicDashboardServiceImpl) FindPublicDashboardAndDashboardByAccessToken(ctx context.Context, accessToken string) (*PublicDashboard, *models.Dashboard, error) { + pubdash, dash, err := pd.store.FindPublicDashboardAndDashboardByAccessToken(ctx, accessToken) ctxLogger := pd.log.FromContext(ctx) if err != nil { @@ -82,26 +82,26 @@ func (pd *PublicDashboardServiceImpl) GetPublicDashboardAndDashboard(ctx context } if pubdash == nil { - ctxLogger.Error("GetPublicDashboardAndDashboard: Public dashboard not found", "accessToken", accessToken) + ctxLogger.Error("FindPublicDashboardAndDashboardByAccessToken: Public dashboard not found", "accessToken", accessToken) return nil, nil, ErrPublicDashboardNotFound } if dash == nil { - ctxLogger.Error("GetPublicDashboardAndDashboard: Dashboard not found", "accessToken", accessToken) + ctxLogger.Error("FindPublicDashboardAndDashboardByAccessToken: Dashboard not found", "accessToken", accessToken) return nil, nil, ErrPublicDashboardNotFound } if !pubdash.IsEnabled { - ctxLogger.Error("GetPublicDashboardAndDashboard: Public dashboard is disabled", "accessToken", accessToken) + ctxLogger.Error("FindPublicDashboardAndDashboardByAccessToken: Public dashboard is disabled", "accessToken", accessToken) return nil, nil, ErrPublicDashboardNotFound } return pubdash, dash, nil } -// 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) +// FindByDashboardUid is a helper method to retrieve the public dashboard configuration for a given dashboard from the database +func (pd *PublicDashboardServiceImpl) FindByDashboardUid(ctx context.Context, orgId int64, dashboardUid string) (*PublicDashboard, error) { + pdc, err := pd.store.FindByDashboardUid(ctx, orgId, dashboardUid) if err != nil { return nil, err } @@ -109,11 +109,11 @@ func (pd *PublicDashboardServiceImpl) GetPublicDashboard(ctx context.Context, or return pdc, nil } -// SavePublicDashboard is a helper method to persist the sharing config +// Save is a helper method to persist the sharing config // to the database. It handles validations for sharing config and persistence -func (pd *PublicDashboardServiceImpl) SavePublicDashboard(ctx context.Context, u *user.SignedInUser, dto *SavePublicDashboardConfigDTO) (*PublicDashboard, error) { +func (pd *PublicDashboardServiceImpl) Save(ctx context.Context, u *user.SignedInUser, dto *SavePublicDashboardConfigDTO) (*PublicDashboard, error) { // validate if the dashboard exists - dashboard, err := pd.GetDashboard(ctx, dto.DashboardUid) + dashboard, err := pd.FindDashboard(ctx, dto.DashboardUid) if err != nil { return nil, err } @@ -124,7 +124,7 @@ func (pd *PublicDashboardServiceImpl) SavePublicDashboard(ctx context.Context, u } // get existing public dashboard if exists - existingPubdash, err := pd.store.GetPublicDashboardByUid(ctx, dto.PublicDashboard.Uid) + existingPubdash, err := pd.store.Find(ctx, dto.PublicDashboard.Uid) if err != nil { return nil, err } @@ -145,7 +145,7 @@ func (pd *PublicDashboardServiceImpl) SavePublicDashboard(ctx context.Context, u } //Get latest public dashboard to return - newPubdash, err := pd.store.GetPublicDashboardByUid(ctx, pubdashUid) + newPubdash, err := pd.store.Find(ctx, pubdashUid) if err != nil { return nil, err } @@ -155,13 +155,13 @@ func (pd *PublicDashboardServiceImpl) SavePublicDashboard(ctx context.Context, u return newPubdash, err } -// GenerateNewPublicDashboardUid Generates a unique uid to create a public dashboard. Will make 3 attempts and fail if it cannot find an unused uid -func (pd *PublicDashboardServiceImpl) GenerateNewPublicDashboardUid(ctx context.Context) (string, error) { +// NewPublicDashboardUid Generates a unique uid to create a public dashboard. Will make 3 attempts and fail if it cannot find an unused uid +func (pd *PublicDashboardServiceImpl) NewPublicDashboardUid(ctx context.Context) (string, error) { var uid string for i := 0; i < 3; i++ { uid = util.GenerateShortUID() - pubdash, _ := pd.store.GetPublicDashboardByUid(ctx, uid) + pubdash, _ := pd.store.Find(ctx, uid) if pubdash == nil { return uid, nil } @@ -169,8 +169,8 @@ func (pd *PublicDashboardServiceImpl) GenerateNewPublicDashboardUid(ctx context. return "", ErrPublicDashboardFailedGenerateUniqueUid } -// GenerateNewPublicDashboardAccessToken Generates a unique accessToken to create a public dashboard. Will make 3 attempts and fail if it cannot find an unused access token -func (pd *PublicDashboardServiceImpl) GenerateNewPublicDashboardAccessToken(ctx context.Context) (string, error) { +// NewPublicDashboardAccessToken Generates a unique accessToken to create a public dashboard. Will make 3 attempts and fail if it cannot find an unused access token +func (pd *PublicDashboardServiceImpl) NewPublicDashboardAccessToken(ctx context.Context) (string, error) { var accessToken string for i := 0; i < 3; i++ { var err error @@ -179,7 +179,7 @@ func (pd *PublicDashboardServiceImpl) GenerateNewPublicDashboardAccessToken(ctx continue } - pubdash, _ := pd.store.GetPublicDashboardByAccessToken(ctx, accessToken) + pubdash, _ := pd.store.FindByAccessToken(ctx, accessToken) if pubdash == nil { return accessToken, nil } @@ -187,15 +187,15 @@ func (pd *PublicDashboardServiceImpl) GenerateNewPublicDashboardAccessToken(ctx return "", ErrPublicDashboardFailedGenerateAccessToken } -// Called by SavePublicDashboard this handles business logic +// Called by Save this handles business logic // to generate token and calls create at the database layer func (pd *PublicDashboardServiceImpl) savePublicDashboard(ctx context.Context, dto *SavePublicDashboardConfigDTO) (string, error) { - uid, err := pd.GenerateNewPublicDashboardUid(ctx) + uid, err := pd.NewPublicDashboardUid(ctx) if err != nil { return "", err } - accessToken, err := pd.GenerateNewPublicDashboardAccessToken(ctx) + accessToken, err := pd.NewPublicDashboardAccessToken(ctx) if err != nil { return "", err } @@ -214,7 +214,7 @@ func (pd *PublicDashboardServiceImpl) savePublicDashboard(ctx context.Context, d }, } - err = pd.store.SavePublicDashboard(ctx, cmd) + err = pd.store.Save(ctx, cmd) if err != nil { return "", err } @@ -222,7 +222,7 @@ func (pd *PublicDashboardServiceImpl) savePublicDashboard(ctx context.Context, d return uid, nil } -// Called by SavePublicDashboard this handles business logic for updating a +// Called by Save this handles business logic for updating a // dashboard and calls update at the database layer func (pd *PublicDashboardServiceImpl) updatePublicDashboard(ctx context.Context, dto *SavePublicDashboardConfigDTO) (string, error) { cmd := SavePublicDashboardConfigCommand{ @@ -236,12 +236,12 @@ func (pd *PublicDashboardServiceImpl) updatePublicDashboard(ctx context.Context, }, } - return dto.PublicDashboard.Uid, pd.store.UpdatePublicDashboard(ctx, cmd) + return dto.PublicDashboard.Uid, pd.store.Update(ctx, cmd) } // Gets a list of public dashboards by orgId -func (pd *PublicDashboardServiceImpl) ListPublicDashboards(ctx context.Context, u *user.SignedInUser, orgId int64) ([]PublicDashboardListResponse, error) { - publicDashboards, err := pd.store.ListPublicDashboards(ctx, orgId) +func (pd *PublicDashboardServiceImpl) FindAll(ctx context.Context, u *user.SignedInUser, orgId int64) ([]PublicDashboardListResponse, error) { + publicDashboards, err := pd.store.FindAll(ctx, orgId) if err != nil { return nil, err } @@ -249,16 +249,16 @@ func (pd *PublicDashboardServiceImpl) ListPublicDashboards(ctx context.Context, return pd.filterDashboardsByPermissions(ctx, u, publicDashboards) } -func (pd *PublicDashboardServiceImpl) PublicDashboardIsEnabled(ctx context.Context, dashboardUid string) (bool, error) { - return pd.store.PublicDashboardEnabledExistsByDashboardUid(ctx, dashboardUid) +func (pd *PublicDashboardServiceImpl) ExistsEnabledByDashboardUid(ctx context.Context, dashboardUid string) (bool, error) { + return pd.store.ExistsEnabledByDashboardUid(ctx, dashboardUid) } -func (pd *PublicDashboardServiceImpl) PublicDashboardEnabledExistsByAccessToken(ctx context.Context, accessToken string) (bool, error) { - return pd.store.PublicDashboardEnabledExistsByAccessToken(ctx, accessToken) +func (pd *PublicDashboardServiceImpl) ExistsEnabledByAccessToken(ctx context.Context, accessToken string) (bool, error) { + return pd.store.ExistsEnabledByAccessToken(ctx, accessToken) } -func (pd *PublicDashboardServiceImpl) GetPublicDashboardOrgId(ctx context.Context, accessToken string) (int64, error) { - return pd.store.GetPublicDashboardOrgId(ctx, accessToken) +func (pd *PublicDashboardServiceImpl) GetOrgIdByAccessToken(ctx context.Context, accessToken string) (int64, error) { + return pd.store.GetOrgIdByAccessToken(ctx, accessToken) } // intervalMS and maxQueryData values are being calculated on the frontend for regular dashboards @@ -290,7 +290,7 @@ func (pd *PublicDashboardServiceImpl) getSafeIntervalAndMaxDataPoints(reqDTO Pub return safeInterval.Value.Milliseconds(), safeResolution } -// Log when PublicDashboard.IsEnabled changed +// Log when PublicDashboard.ExistsEnabledByDashboardUid changed func (pd *PublicDashboardServiceImpl) logIsEnabledChanged(existingPubdash *PublicDashboard, newPubdash *PublicDashboard, u *user.SignedInUser) { if publicDashboardIsEnabledChanged(existingPubdash, newPubdash) { verb := "disabled" @@ -320,7 +320,7 @@ func (pd *PublicDashboardServiceImpl) filterDashboardsByPermissions(ctx context. return result, nil } -// Checks to see if PublicDashboard.IsEnabled is true on create or changed on update +// Checks to see if PublicDashboard.ExistsEnabledByDashboardUid is true on create or changed on update func publicDashboardIsEnabledChanged(existingPubdash *PublicDashboard, newPubdash *PublicDashboard) bool { // creating dashboard, enabled true newDashCreated := existingPubdash == nil && newPubdash.IsEnabled diff --git a/pkg/services/publicdashboards/service/service_test.go b/pkg/services/publicdashboards/service/service_test.go index 29f7dbb4de9..3a2f6cb885d 100644 --- a/pkg/services/publicdashboards/service/service_test.go +++ b/pkg/services/publicdashboards/service/service_test.go @@ -101,10 +101,10 @@ func TestGetPublicDashboard(t *testing.T) { store: &fakeStore, } - fakeStore.On("GetPublicDashboardAndDashboard", mock.Anything, mock.Anything). + fakeStore.On("FindPublicDashboardAndDashboardByAccessToken", mock.Anything, mock.Anything). Return(test.StoreResp.pd, test.StoreResp.d, test.StoreResp.err) - pdc, dash, err := service.GetPublicDashboardAndDashboard(context.Background(), test.AccessToken) + pdc, dash, err := service.FindPublicDashboardAndDashboardByAccessToken(context.Background(), test.AccessToken) if test.ErrResp != nil { assert.Error(t, test.ErrResp, err) } else { @@ -146,10 +146,10 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + _, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) - pubdash, err := service.GetPublicDashboard(context.Background(), dashboard.OrgId, dashboard.Uid) + pubdash, err := service.FindByDashboardUid(context.Background(), dashboard.OrgId, dashboard.Uid) require.NoError(t, err) // DashboardUid/OrgId/CreatedBy set by the command, not parameters @@ -157,7 +157,7 @@ func TestSavePublicDashboard(t *testing.T) { assert.Equal(t, dashboard.OrgId, pubdash.OrgId) assert.Equal(t, dto.UserId, pubdash.CreatedBy) assert.Equal(t, dto.PublicDashboard.AnnotationsEnabled, pubdash.AnnotationsEnabled) - // IsEnabled set by parameters + // ExistsEnabledByDashboardUid set by parameters assert.Equal(t, dto.PublicDashboard.IsEnabled, pubdash.IsEnabled) // CreatedAt set to non-zero time assert.NotEqual(t, &time.Time{}, pubdash.CreatedAt) @@ -190,10 +190,10 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + _, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) - pubdash, err := service.GetPublicDashboard(context.Background(), dashboard.OrgId, dashboard.Uid) + pubdash, err := service.FindByDashboardUid(context.Background(), dashboard.OrgId, dashboard.Uid) require.NoError(t, err) assert.Equal(t, defaultPubdashTimeSettings, pubdash.TimeSettings) }) @@ -221,7 +221,7 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + _, err := service.Save(context.Background(), SignedInUser, dto) require.Error(t, err) }) @@ -236,10 +236,10 @@ func TestSavePublicDashboard(t *testing.T) { } publicDashboardStore := &FakePublicDashboardStore{} - publicDashboardStore.On("GetDashboard", mock.Anything, mock.Anything).Return(dashboard, nil) - publicDashboardStore.On("GetPublicDashboardByUid", mock.Anything, mock.Anything).Return(nil, nil) - publicDashboardStore.On("GetPublicDashboardByAccessToken", mock.Anything, mock.Anything).Return(pubdash, nil) - publicDashboardStore.On("GenerateNewPublicDashboardUid", mock.Anything).Return("an-uid", nil) + publicDashboardStore.On("FindDashboard", mock.Anything, mock.Anything).Return(dashboard, nil) + publicDashboardStore.On("Find", mock.Anything, mock.Anything).Return(nil, nil) + publicDashboardStore.On("FindByAccessToken", mock.Anything, mock.Anything).Return(pubdash, nil) + publicDashboardStore.On("NewPublicDashboardUid", mock.Anything).Return("an-uid", nil) service := &PublicDashboardServiceImpl{ log: log.New("test.logger"), @@ -257,11 +257,11 @@ func TestSavePublicDashboard(t *testing.T) { }, } - _, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + _, err := service.Save(context.Background(), SignedInUser, dto) require.Error(t, err) require.Equal(t, err, ErrPublicDashboardFailedGenerateAccessToken) - publicDashboardStore.AssertNotCalled(t, "SavePublicDashboard") + publicDashboardStore.AssertNotCalled(t, "Save") }) } @@ -288,7 +288,7 @@ func TestUpdatePublicDashboard(t *testing.T) { }, } - savedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + savedPubdash, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) // attempt to overwrite settings @@ -312,7 +312,7 @@ func TestUpdatePublicDashboard(t *testing.T) { // Since the dto.PublicDashboard has a uid, this will call // service.updatePublicDashboard - updatedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + updatedPubdash, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) // don't get updated @@ -353,7 +353,7 @@ func TestUpdatePublicDashboard(t *testing.T) { // Since the dto.PublicDashboard has a uid, this will call // service.updatePublicDashboard - savedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + savedPubdash, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) // attempt to overwrite settings @@ -373,7 +373,7 @@ func TestUpdatePublicDashboard(t *testing.T) { }, } - updatedPubdash, err := service.SavePublicDashboard(context.Background(), SignedInUser, dto) + updatedPubdash, err := service.Save(context.Background(), SignedInUser, dto) require.NoError(t, err) assert.Equal(t, &TimeSettings{}, updatedPubdash.TimeSettings) @@ -764,7 +764,7 @@ func TestPublicDashboardServiceImpl_ListPublicDashboards(t *testing.T) { } store := NewFakePublicDashboardStore(t) - store.On("ListPublicDashboards", mock.Anything, mock.Anything). + store.On("FindAll", mock.Anything, mock.Anything). Return(mockedDashboards, nil) ac := tests.SetupMockAccesscontrol(t, @@ -784,16 +784,16 @@ func TestPublicDashboardServiceImpl_ListPublicDashboards(t *testing.T) { t.Run(tt.name, func(t *testing.T) { ac.EvaluateFunc = tt.evaluateFunc - got, err := pd.ListPublicDashboards(tt.args.ctx, tt.args.u, tt.args.orgId) - if !tt.wantErr(t, err, fmt.Sprintf("ListPublicDashboards(%v, %v, %v)", tt.args.ctx, tt.args.u, tt.args.orgId)) { + got, err := pd.FindAll(tt.args.ctx, tt.args.u, tt.args.orgId) + if !tt.wantErr(t, err, fmt.Sprintf("FindAll(%v, %v, %v)", tt.args.ctx, tt.args.u, tt.args.orgId)) { return } - assert.Equalf(t, tt.want, got, "ListPublicDashboards(%v, %v, %v)", tt.args.ctx, tt.args.u, tt.args.orgId) + assert.Equalf(t, tt.want, got, "FindAll(%v, %v, %v)", tt.args.ctx, tt.args.u, tt.args.orgId) }) } } -func TestPublicDashboardServiceImpl_GenerateNewPublicDashboardUid(t *testing.T) { +func TestPublicDashboardServiceImpl_NewPublicDashboardUid(t *testing.T) { mockedDashboard := &PublicDashboard{ IsEnabled: true, AnnotationsEnabled: false, @@ -835,29 +835,29 @@ func TestPublicDashboardServiceImpl_GenerateNewPublicDashboardUid(t *testing.T) for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { store := NewFakePublicDashboardStore(t) - store.On("GetPublicDashboardByUid", mock.Anything, mock.Anything). + store.On("Find", mock.Anything, mock.Anything). Return(tt.mockStore.PublicDashboard, tt.mockStore.Err) pd := &PublicDashboardServiceImpl{store: store} - got, err := pd.GenerateNewPublicDashboardUid(tt.args.ctx) - if !tt.wantErr(t, err, fmt.Sprintf("GenerateNewPublicDashboardUid(%v)", tt.args.ctx)) { + got, err := pd.NewPublicDashboardUid(tt.args.ctx) + if !tt.wantErr(t, err, fmt.Sprintf("NewPublicDashboardUid(%v)", tt.args.ctx)) { return } if err == nil { - assert.NotEqual(t, got, tt.want, "GenerateNewPublicDashboardUid(%v)", tt.args.ctx) - assert.True(t, util.IsValidShortUID(got), "GenerateNewPublicDashboardUid(%v)", tt.args.ctx) - store.AssertNumberOfCalls(t, "GetPublicDashboardByUid", 1) + assert.NotEqual(t, got, tt.want, "NewPublicDashboardUid(%v)", tt.args.ctx) + assert.True(t, util.IsValidShortUID(got), "NewPublicDashboardUid(%v)", tt.args.ctx) + store.AssertNumberOfCalls(t, "Find", 1) } else { - store.AssertNumberOfCalls(t, "GetPublicDashboardByUid", 3) + store.AssertNumberOfCalls(t, "Find", 3) assert.True(t, errors.Is(err, ErrPublicDashboardFailedGenerateUniqueUid)) } }) } } -func TestPublicDashboardServiceImpl_GenerateNewPublicDashboardAccessToken(t *testing.T) { +func TestPublicDashboardServiceImpl_NewPublicDashboardAccessToken(t *testing.T) { mockedDashboard := &PublicDashboard{ IsEnabled: true, AnnotationsEnabled: false, @@ -899,22 +899,22 @@ func TestPublicDashboardServiceImpl_GenerateNewPublicDashboardAccessToken(t *tes for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { store := NewFakePublicDashboardStore(t) - store.On("GetPublicDashboardByAccessToken", mock.Anything, mock.Anything). + store.On("FindByAccessToken", mock.Anything, mock.Anything). Return(tt.mockStore.PublicDashboard, tt.mockStore.Err) pd := &PublicDashboardServiceImpl{store: store} - got, err := pd.GenerateNewPublicDashboardAccessToken(tt.args.ctx) - if !tt.wantErr(t, err, fmt.Sprintf("GenerateNewPublicDashboardAccessToken(%v)", tt.args.ctx)) { + got, err := pd.NewPublicDashboardAccessToken(tt.args.ctx) + if !tt.wantErr(t, err, fmt.Sprintf("NewPublicDashboardAccessToken(%v)", tt.args.ctx)) { return } if err == nil { - assert.NotEqual(t, got, tt.want, "GenerateNewPublicDashboardAccessToken(%v)", tt.args.ctx) - assert.True(t, tokens.IsValidAccessToken(got), "GenerateNewPublicDashboardAccessToken(%v)", tt.args.ctx) - store.AssertNumberOfCalls(t, "GetPublicDashboardByAccessToken", 1) + assert.NotEqual(t, got, tt.want, "NewPublicDashboardAccessToken(%v)", tt.args.ctx) + assert.True(t, tokens.IsValidAccessToken(got), "NewPublicDashboardAccessToken(%v)", tt.args.ctx) + store.AssertNumberOfCalls(t, "FindByAccessToken", 1) } else { - store.AssertNumberOfCalls(t, "GetPublicDashboardByAccessToken", 3) + store.AssertNumberOfCalls(t, "FindByAccessToken", 3) assert.True(t, errors.Is(err, ErrPublicDashboardFailedGenerateAccessToken)) } })