1import { getBackendSrv } from '@grafana/runtime'; 2import { PluginMeta } from '@grafana/data'; 3 4type PluginCache = { 5 [key: string]: PluginMeta; 6}; 7 8const pluginInfoCache: PluginCache = {}; 9 10export function getPluginSettings(pluginId: string): Promise<PluginMeta> { 11 const v = pluginInfoCache[pluginId]; 12 if (v) { 13 return Promise.resolve(v); 14 } 15 return getBackendSrv() 16 .get(`/api/plugins/${pluginId}/settings`) 17 .then((settings: any) => { 18 pluginInfoCache[pluginId] = settings; 19 return settings; 20 }) 21 .catch((err: any) => { 22 return Promise.reject(new Error('Unknown Plugin')); 23 }); 24} 25