diff --git a/pkg/services/folder/folderimpl/folder.go b/pkg/services/folder/folderimpl/folder.go index cdcb9c2ee2b..8d86292c758 100644 --- a/pkg/services/folder/folderimpl/folder.go +++ b/pkg/services/folder/folderimpl/folder.go @@ -992,6 +992,12 @@ func (s *Service) DeleteLegacy(ctx context.Context, cmd *folder.DeleteFolderComm } } + err = s.store.Delete(ctx, []string{cmd.UID}, cmd.OrgID) + if err != nil { + s.log.InfoContext(ctx, "failed deleting folder", "org_id", cmd.OrgID, "uid", cmd.UID, "err", err) + return err + } + if err = s.legacyDelete(ctx, cmd, folders); err != nil { return err } @@ -1240,11 +1246,11 @@ func (s *Service) nestedFolderDelete(ctx context.Context, cmd *folder.DeleteFold for _, f := range descendants { descendantUIDs = append(descendantUIDs, f.UID) } - s.log.InfoContext(ctx, "deleting folder and its descendants", "org_id", cmd.OrgID, "uid", cmd.UID) - toDelete := append(descendantUIDs, cmd.UID) - err = s.store.Delete(ctx, toDelete, cmd.OrgID) + s.log.InfoContext(ctx, "deleting folder descendants", "org_id", cmd.OrgID, "uid", cmd.UID) + + err = s.store.Delete(ctx, descendantUIDs, cmd.OrgID) if err != nil { - s.log.InfoContext(ctx, "failed deleting folder", "org_id", cmd.OrgID, "uid", cmd.UID, "err", err) + s.log.InfoContext(ctx, "failed deleting descendants", "org_id", cmd.OrgID, "parent_uid", cmd.UID, "err", err) return descendantUIDs, err } return descendantUIDs, nil