mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Plugins: Fetch instance provisioned plugins in cloud, to check full installation (#83784)
This commit is contained in:
committed by
GitHub
parent
7b4925ea37
commit
7f970d4887
@@ -4,7 +4,15 @@ import { accessControlQueryParam } from 'app/core/utils/accessControl';
|
||||
|
||||
import { API_ROOT, GCOM_API_ROOT, INSTANCE_API_ROOT } from './constants';
|
||||
import { isLocalPluginVisibleByConfig, isRemotePluginVisibleByConfig } from './helpers';
|
||||
import { LocalPlugin, RemotePlugin, CatalogPluginDetails, Version, PluginVersion, InstancePlugin } from './types';
|
||||
import {
|
||||
LocalPlugin,
|
||||
RemotePlugin,
|
||||
CatalogPluginDetails,
|
||||
Version,
|
||||
PluginVersion,
|
||||
InstancePlugin,
|
||||
ProvisionedPlugin,
|
||||
} from './types';
|
||||
|
||||
export async function getPluginDetails(id: string): Promise<CatalogPluginDetails> {
|
||||
const remote = await getRemotePlugin(id);
|
||||
@@ -125,6 +133,14 @@ export async function getInstancePlugins(): Promise<InstancePlugin[]> {
|
||||
return instancePlugins;
|
||||
}
|
||||
|
||||
export async function getProvisionedPlugins(): Promise<ProvisionedPlugin[]> {
|
||||
const { items: provisionedPlugins }: { items: Array<{ type: string }> } = await getBackendSrv().get(
|
||||
`${INSTANCE_API_ROOT}/provisioned-plugins`
|
||||
);
|
||||
|
||||
return provisionedPlugins.map((plugin) => ({ slug: plugin.type }));
|
||||
}
|
||||
|
||||
export async function installPlugin(id: string) {
|
||||
// This will install the latest compatible version based on the logic
|
||||
// on the backend.
|
||||
|
||||
Reference in New Issue
Block a user