From 5f8ada85fb944a6760bd57da58cb17902b57b7a7 Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Wed, 4 Dec 2024 11:29:00 +0100 Subject: [PATCH] Browse dashboards: Use dashboard DashboardAPI (#97387) * Browse dashboards: Use dashboard DashboardAPI * Browse dashboards: Use DashboardAPI for deleting * Browse dashboards: Use DashboardAPI for uid validation --- .../browse-dashboards/api/browseDashboardsAPI.ts | 16 ++++------------ .../manage-dashboards/utils/validation.ts | 6 +++--- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts b/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts index 7c9770aaf4d..f470946e40f 100644 --- a/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts +++ b/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts @@ -263,19 +263,14 @@ export const browseDashboardsAPI = createApi({ for (const dashboardUID of selectedDashboards) { const fullDash: DashboardDTO = await getDashboardAPI().getDashboardDTO(dashboardUID); - const options = { + await getDashboardAPI().saveDashboard({ dashboard: fullDash.dashboard, folderUid: destinationUID, overwrite: false, message: '', - }; - - await baseQuery({ - url: `/dashboards/db`, - method: 'POST', - data: options, }); } + return { data: undefined }; }, onQueryStarted: ({ destinationUID, selectedItems }, { queryFulfilled, dispatch }) => { @@ -314,11 +309,8 @@ export const browseDashboardsAPI = createApi({ // Delete all the dashboards sequentially // TODO error handling here for (const dashboardUID of selectedDashboards) { - const response = await baseQuery({ - url: `/dashboards/uid/${dashboardUID}`, - method: 'DELETE', - showSuccessAlert: false, - }); + const response = getDashboardAPI().deleteDashboard(dashboardUID, false); + // @ts-expect-error const name = response?.data?.title; diff --git a/public/app/features/manage-dashboards/utils/validation.ts b/public/app/features/manage-dashboards/utils/validation.ts index df4b3a1bef8..b6d78b9b952 100644 --- a/public/app/features/manage-dashboards/utils/validation.ts +++ b/public/app/features/manage-dashboards/utils/validation.ts @@ -1,6 +1,6 @@ import { t } from 'i18next'; -import { getBackendSrv } from '@grafana/runtime'; +import { getDashboardAPI } from 'app/features/dashboard/api/dashboard_api'; import { validationSrv } from '../services/ValidationSrv'; @@ -47,8 +47,8 @@ export const validateTitle = (newTitle: string, folderUid: string) => { }; export const validateUid = (value: string) => { - return getBackendSrv() - .get(`/api/dashboards/uid/${value}`) + return getDashboardAPI() + .getDashboardDTO(value) .then((existingDashboard) => { return `Dashboard named '${existingDashboard?.dashboard.title}' in folder '${existingDashboard?.meta.folderTitle}' has the same UID`; })