feat(user-settings): add storage api blueprint for nfs
Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-user-settings': patch
|
||||
---
|
||||
|
||||
Added user settings storage API blueprint
|
||||
@@ -3,8 +3,11 @@
|
||||
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
||||
|
||||
```ts
|
||||
import { AnyApiFactory } from '@backstage/frontend-plugin-api';
|
||||
import { AnyRouteRefParams } from '@backstage/frontend-plugin-api';
|
||||
import { ApiFactory } from '@backstage/frontend-plugin-api';
|
||||
import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDataRef } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { ExtensionInput } from '@backstage/frontend-plugin-api';
|
||||
@@ -21,6 +24,21 @@ const _default: OverridableFrontendPlugin<
|
||||
},
|
||||
{},
|
||||
{
|
||||
'api:user-settings/storage': ExtensionDefinition<{
|
||||
kind: 'api';
|
||||
name: 'storage';
|
||||
config: {};
|
||||
configInput: {};
|
||||
output: ExtensionDataRef<AnyApiFactory, 'core.api.factory', {}>;
|
||||
inputs: {};
|
||||
params: <
|
||||
TApi,
|
||||
TImpl extends TApi,
|
||||
TDeps extends { [name in string]: unknown },
|
||||
>(
|
||||
params: ApiFactory<TApi, TImpl, TDeps>,
|
||||
) => ExtensionBlueprintParams<AnyApiFactory>;
|
||||
}>;
|
||||
'nav-item:user-settings': ExtensionDefinition<{
|
||||
kind: 'nav-item';
|
||||
name: undefined;
|
||||
|
||||
@@ -14,22 +14,53 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
import {
|
||||
ApiBlueprint,
|
||||
coreExtensionData,
|
||||
createExtensionInput,
|
||||
createFrontendPlugin,
|
||||
PageBlueprint,
|
||||
discoveryApiRef,
|
||||
errorApiRef,
|
||||
fetchApiRef,
|
||||
identityApiRef,
|
||||
NavItemBlueprint,
|
||||
PageBlueprint,
|
||||
storageApiRef,
|
||||
} from '@backstage/frontend-plugin-api';
|
||||
import {
|
||||
compatWrapper,
|
||||
convertLegacyRouteRef,
|
||||
convertLegacyRouteRefs,
|
||||
compatWrapper,
|
||||
} from '@backstage/core-compat-api';
|
||||
import SettingsIcon from '@material-ui/icons/Settings';
|
||||
import { settingsRouteRef } from './plugin';
|
||||
import { UserSettingsStorage } from './apis';
|
||||
import { signalApiRef } from '@backstage/plugin-signals-react';
|
||||
|
||||
export * from './translation';
|
||||
|
||||
const userSettingsStorageApi = ApiBlueprint.make({
|
||||
name: 'storage',
|
||||
params: defineParams =>
|
||||
defineParams({
|
||||
api: storageApiRef,
|
||||
deps: {
|
||||
fetchApi: fetchApiRef,
|
||||
discoveryApi: discoveryApiRef,
|
||||
errorApi: errorApiRef,
|
||||
identityApi: identityApiRef,
|
||||
signalApi: signalApiRef,
|
||||
},
|
||||
factory: ({ fetchApi, discoveryApi, errorApi, identityApi, signalApi }) =>
|
||||
UserSettingsStorage.create({
|
||||
fetchApi,
|
||||
discoveryApi,
|
||||
errorApi,
|
||||
identityApi,
|
||||
signalApi,
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
const userSettingsPage = PageBlueprint.makeWithOverrides({
|
||||
inputs: {
|
||||
providerSettings: createExtensionInput([coreExtensionData.reactElement], {
|
||||
@@ -70,7 +101,7 @@ export const settingsNavItem = NavItemBlueprint.make({
|
||||
export default createFrontendPlugin({
|
||||
pluginId: 'user-settings',
|
||||
info: { packageJson: () => import('../package.json') },
|
||||
extensions: [userSettingsPage, settingsNavItem],
|
||||
extensions: [userSettingsStorageApi, userSettingsPage, settingsNavItem],
|
||||
routes: convertLegacyRouteRefs({
|
||||
root: settingsRouteRef,
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user