From 8d581b8358a04792a20296832c913d4521ba6088 Mon Sep 17 00:00:00 2001 From: Kat Yang <69819079+yangkb09@users.noreply.github.com> Date: Wed, 15 Nov 2023 10:30:00 -0500 Subject: [PATCH] Chore: Deprecate ID in GetFolderQuery (#77647) --- pkg/api/folder.go | 1 + pkg/services/folder/folderimpl/folder.go | 2 ++ pkg/services/folder/folderimpl/folder_test.go | 6 +++--- pkg/services/folder/folderimpl/sqlstore.go | 3 ++- pkg/services/folder/folderimpl/sqlstore_test.go | 2 +- pkg/services/folder/model.go | 3 ++- pkg/services/libraryelements/api.go | 2 ++ 7 files changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/api/folder.go b/pkg/api/folder.go index cad6c18d760..e972d6dee89 100644 --- a/pkg/api/folder.go +++ b/pkg/api/folder.go @@ -117,6 +117,7 @@ func (hs *HTTPServer) GetFolderByID(c *contextmodel.ReqContext) response.Respons if err != nil { return response.Error(http.StatusBadRequest, "id is invalid", err) } + // nolint:staticcheck folder, err := hs.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{ID: &id, OrgID: c.SignedInUser.GetOrgID(), SignedInUser: c.SignedInUser}) if err != nil { return apierrors.ToFolderErrorResponse(err) diff --git a/pkg/services/folder/folderimpl/folder.go b/pkg/services/folder/folderimpl/folder.go index 10516fdd12c..6172cfe4409 100644 --- a/pkg/services/folder/folderimpl/folder.go +++ b/pkg/services/folder/folderimpl/folder.go @@ -123,6 +123,7 @@ func (s *Service) Get(ctx context.Context, cmd *folder.GetFolderQuery) (*folder. if err != nil { return nil, err } + // nolint:staticcheck case cmd.ID != nil: dashFolder, err = s.getFolderByID(ctx, *cmd.ID, cmd.OrgID) if err != nil { @@ -160,6 +161,7 @@ func (s *Service) Get(ctx context.Context, cmd *folder.GetFolderQuery) (*folder. return dashFolder, nil } + // nolint:staticcheck if cmd.ID != nil { cmd.ID = nil cmd.UID = &dashFolder.UID diff --git a/pkg/services/folder/folderimpl/folder_test.go b/pkg/services/folder/folderimpl/folder_test.go index c4e7cd0851a..b0e752a63f5 100644 --- a/pkg/services/folder/folderimpl/folder_test.go +++ b/pkg/services/folder/folderimpl/folder_test.go @@ -102,7 +102,7 @@ func TestIntegrationFolderService(t *testing.T) { t.Run("When get folder by id should return access denied error", func(t *testing.T) { _, err := service.Get(context.Background(), &folder.GetFolderQuery{ - ID: &folderId, + ID: &folderId, // nolint:staticcheck OrgID: orgID, SignedInUser: usr, }) @@ -112,7 +112,7 @@ func TestIntegrationFolderService(t *testing.T) { var zeroInt int64 = 0 t.Run("When get folder by id, with id = 0 should return default folder", func(t *testing.T) { foldr, err := service.Get(context.Background(), &folder.GetFolderQuery{ - ID: &zeroInt, + ID: &zeroInt, // nolint:staticcheck OrgID: orgID, SignedInUser: usr, }) @@ -1179,7 +1179,7 @@ func TestNestedFolderService(t *testing.T) { }, dbtest.NewFakeDB()) _, err := folderSvc.Get(context.Background(), &folder.GetFolderQuery{ OrgID: orgID, - ID: &folder.GeneralFolder.ID, + ID: &folder.GeneralFolder.ID, // nolint:staticcheck SignedInUser: usr, }) require.NoError(t, err) diff --git a/pkg/services/folder/folderimpl/sqlstore.go b/pkg/services/folder/folderimpl/sqlstore.go index a867a2c3ab7..c37ea8b0015 100644 --- a/pkg/services/folder/folderimpl/sqlstore.go +++ b/pkg/services/folder/folderimpl/sqlstore.go @@ -67,7 +67,7 @@ func (ss *sqlStore) Create(ctx context.Context, cmd folder.CreateFolderCommand) } foldr, err = ss.Get(ctx, folder.GetFolderQuery{ - ID: &lastInsertedID, + ID: &lastInsertedID, // nolint:staticcheck }) if err != nil { return err @@ -164,6 +164,7 @@ func (ss *sqlStore) Get(ctx context.Context, q folder.GetFolderQuery) (*folder.F switch { case q.UID != nil: exists, err = sess.SQL("SELECT * FROM folder WHERE uid = ? AND org_id = ?", q.UID, q.OrgID).Get(foldr) + // nolint:staticcheck case q.ID != nil: exists, err = sess.SQL("SELECT * FROM folder WHERE id = ?", q.ID).Get(foldr) case q.Title != nil: diff --git a/pkg/services/folder/folderimpl/sqlstore_test.go b/pkg/services/folder/folderimpl/sqlstore_test.go index e8f61c59d92..b134b990e9b 100644 --- a/pkg/services/folder/folderimpl/sqlstore_test.go +++ b/pkg/services/folder/folderimpl/sqlstore_test.go @@ -431,7 +431,7 @@ func TestIntegrationGet(t *testing.T) { t.Run("get folder by title should succeed", func(t *testing.T) { ff, err := folderStore.Get(context.Background(), folder.GetFolderQuery{ - ID: &f.ID, + ID: &f.ID, // nolint:staticcheck }) require.NoError(t, err) assert.Equal(t, f.ID, ff.ID) diff --git a/pkg/services/folder/model.go b/pkg/services/folder/model.go index 5c5cdd183f0..082933aeb6e 100644 --- a/pkg/services/folder/model.go +++ b/pkg/services/folder/model.go @@ -128,7 +128,8 @@ type DeleteFolderCommand struct { // service will select the field with the most specificity, in order: ID, UID, // Title. type GetFolderQuery struct { - UID *string + UID *string + // Deprecated: use FolderUID instead ID *int64 Title *string OrgID int64 diff --git a/pkg/services/libraryelements/api.go b/pkg/services/libraryelements/api.go index c44e081738b..35131cf188f 100644 --- a/pkg/services/libraryelements/api.go +++ b/pkg/services/libraryelements/api.go @@ -83,6 +83,7 @@ func (l *LibraryElementService) createHandler(c *contextmodel.ReqContext) respon // nolint:staticcheck if element.FolderID != 0 { + // nolint:staticcheck folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.SignedInUser.GetOrgID(), ID: &element.FolderID, SignedInUser: c.SignedInUser}) if err != nil { return response.ErrOrFallback(http.StatusInternalServerError, "failed to get folder", err) @@ -228,6 +229,7 @@ func (l *LibraryElementService) patchHandler(c *contextmodel.ReqContext) respons // nolint:staticcheck if element.FolderID != 0 { + // nolint:staticcheck folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.SignedInUser.GetOrgID(), ID: &element.FolderID, SignedInUser: c.SignedInUser}) if err != nil { return response.Error(http.StatusInternalServerError, "failed to get folder", err)