mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 02:23:31 -06:00
Introduce functions for interacting with library panels API (#30993)
This commit is contained in:
parent
c21e45e428
commit
bbf12088d6
57
public/app/features/library-panels/state/api.ts
Normal file
57
public/app/features/library-panels/state/api.ts
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import { getBackendSrv } from 'app/core/services/backend_srv';
|
||||||
|
|
||||||
|
export interface LibraryPanelDTO {
|
||||||
|
id: number;
|
||||||
|
orgId: number;
|
||||||
|
folderId: number;
|
||||||
|
uid: string;
|
||||||
|
name: string;
|
||||||
|
model: any;
|
||||||
|
meta: LibraryPanelDTOMeta;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LibraryPanelDTOMeta {
|
||||||
|
canEdit: boolean;
|
||||||
|
created: string;
|
||||||
|
updated: string;
|
||||||
|
createdBy: LibraryPanelDTOMetaUser;
|
||||||
|
updatedBy: LibraryPanelDTOMetaUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LibraryPanelDTOMetaUser {
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
avatarUrl: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getLibraryPanels(): Promise<LibraryPanelDTO[]> {
|
||||||
|
const { result } = await getBackendSrv().get(`/api/library-panels`);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function addLibraryPanel(panelSaveModel: any, folderId: number): Promise<LibraryPanelDTO> {
|
||||||
|
const { result } = await getBackendSrv().post(`/api/library-panels`, {
|
||||||
|
folderId,
|
||||||
|
name: panelSaveModel.title,
|
||||||
|
model: panelSaveModel,
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function updateLibraryPanel(panelSaveModel: any, folderId: number): Promise<LibraryPanelDTO> {
|
||||||
|
const { result } = await getBackendSrv().patch(`/api/library-panels/${panelSaveModel.libraryPanel.uid}`, {
|
||||||
|
folderId,
|
||||||
|
name: panelSaveModel.title,
|
||||||
|
model: panelSaveModel,
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function deleteLibraryPanel(uid: string): Promise<{ message: string }> {
|
||||||
|
return getBackendSrv().delete(`/api/library-panels/${uid}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getLibraryPanelConnectedDashboards(libraryPanelUid: string): Promise<number[]> {
|
||||||
|
const { result } = await getBackendSrv().get(`/api/library-panels/${libraryPanelUid}/dashboards`);
|
||||||
|
return result;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user