refactor: Removes legacy dashboard endpoints (#31943)

This commit is contained in:
Michael S. Molina 2025-01-22 15:39:04 -03:00 committed by GitHub
parent f5fff5eaad
commit 7cf7267085
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 74 deletions

View File

@ -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)

View File

@ -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()