This is an automated email from the ASF dual-hosted git repository.

michaelsmolina pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 7cf7267085 refactor: Removes legacy dashboard endpoints (#31943)
7cf7267085 is described below

commit 7cf726708520c6485b12dab2c5416b13bd83670b
Author: Michael S. Molina <[email protected]>
AuthorDate: Wed Jan 22 15:39:04 2025 -0300

    refactor: Removes legacy dashboard endpoints (#31943)
---
 superset/initialization/__init__.py |  2 -
 superset/views/dashboard/views.py   | 75 ++-----------------------------------
 2 files changed, 3 insertions(+), 74 deletions(-)

diff --git a/superset/initialization/__init__.py 
b/superset/initialization/__init__.py
index 2fe2303559..67426b2de3 100644
--- a/superset/initialization/__init__.py
+++ b/superset/initialization/__init__.py
@@ -169,7 +169,6 @@ class SupersetAppInitializer:  # pylint: 
disable=too-many-public-methods
         from superset.views.dashboard.views import (
             Dashboard,
             DashboardModelView,
-            DashboardModelViewAsync,
         )
         from superset.views.database.views import DatabaseView
         from superset.views.datasource.views import DatasetEditor, Datasource
@@ -295,7 +294,6 @@ class SupersetAppInitializer:  # pylint: 
disable=too-many-public-methods
         #
         appbuilder.add_view_no_menu(Api)
         appbuilder.add_view_no_menu(Dashboard)
-        appbuilder.add_view_no_menu(DashboardModelViewAsync)
         appbuilder.add_view_no_menu(Datasource)
         appbuilder.add_view_no_menu(DatasetEditor)
         appbuilder.add_view_no_menu(EmbeddedView)
diff --git a/superset/views/dashboard/views.py 
b/superset/views/dashboard/views.py
index 8a419fcb26..fb70c7b396 100644
--- a/superset/views/dashboard/views.py
+++ b/superset/views/dashboard/views.py
@@ -17,17 +17,12 @@
 import builtins
 from typing import Callable, Union
 
-from flask import g, redirect, request, Response
+from flask import g, redirect, Response
 from flask_appbuilder import expose
 from flask_appbuilder.actions import action
-from flask_appbuilder.baseviews import expose_api
 from flask_appbuilder.models.sqla.interface import SQLAInterface
-from flask_appbuilder.security.decorators import (
-    has_access,
-    has_access_api,
-    permission_name,
-)
-from flask_babel import gettext as __, lazy_gettext as _
+from flask_appbuilder.security.decorators import has_access
+from flask_babel import gettext as __
 from flask_login import AnonymousUserMixin, login_user
 
 from superset import db, event_logger, is_feature_enabled
@@ -39,8 +34,6 @@ from superset.views.base import (
     BaseSupersetView,
     common_bootstrap_payload,
     DeleteMixin,
-    deprecated,
-    generate_download_headers,
     SupersetModelView,
 )
 from superset.views.dashboard.mixin import DashboardMixin
@@ -61,20 +54,6 @@ class DashboardModelView(DashboardMixin, SupersetModelView, 
DeleteMixin):  # pyl
         "download_dashboards",
     }
 
-    @expose_api(name="read", url="/api/read", methods=["GET"])
-    @has_access_api
-    @permission_name("list")
-    @deprecated(eol_version="5.0.0")
-    def api_read(self) -> FlaskResponse:
-        return super().api_read()
-
-    @expose_api(name="delete", url="/api/delete/<pk>", methods=["DELETE"])
-    @has_access_api
-    @permission_name("delete")
-    @deprecated(eol_version="5.0.0")
-    def api_delete(self, pk: int) -> FlaskResponse:
-        return super().delete(pk)
-
     @has_access
     @expose("/list/")
     def list(self) -> FlaskResponse:
@@ -90,22 +69,6 @@ class DashboardModelView(DashboardMixin, SupersetModelView, 
DeleteMixin):  # pyl
         ids = "".join(f"&id={d.id}" for d in items)
         return redirect(f"/dashboard/export_dashboards_form?{ids[1:]}")
 
-    @event_logger.log_this
-    @has_access
-    @expose("/export_dashboards_form")
-    @deprecated(eol_version="5.0.0")
-    def download_dashboards(self) -> FlaskResponse:
-        if request.args.get("action") == "go":
-            ids = set(request.args.getlist("id"))
-            return Response(
-                DashboardModel.export_dashboards(ids),
-                headers=generate_download_headers("json"),
-                mimetype="application/text",
-            )
-        return self.render_template(
-            "superset/export_dashboards.html", dashboards_url="/dashboard/list"
-        )
-
 
 class Dashboard(BaseSupersetView):
     """The base views for Superset!"""
@@ -163,35 +126,3 @@ class Dashboard(BaseSupersetView):
                 bootstrap_data, default=json.pessimistic_json_iso_dttm_ser
             ),
         )
-
-
-class DashboardModelViewAsync(DashboardModelView):  # pylint: 
disable=too-many-ancestors
-    route_base = "/dashboardasync"
-    class_permission_name = "Dashboard"
-    method_permission_name = MODEL_VIEW_RW_METHOD_PERMISSION_MAP
-
-    include_route_methods = {RouteMethod.API_READ}
-
-    list_columns = [
-        "id",
-        "dashboard_link",
-        "creator",
-        "modified",
-        "dashboard_title",
-        "changed_on",
-        "url",
-        "changed_by_name",
-    ]
-    label_columns = {
-        "dashboard_link": _("Dashboard"),
-        "dashboard_title": _("Title"),
-        "creator": _("Creator"),
-        "modified": _("Modified"),
-    }
-
-    @expose_api(name="read", url="/api/read", methods=["GET"])
-    @has_access_api
-    @permission_name("list")
-    @deprecated(eol_version="5.0.0")
-    def api_read(self) -> FlaskResponse:
-        return super().api_read()

Reply via email to