Merge pull request #26946 from stephenglass/scaffolder-permission-manage1

feat(scaffolder): add permission for template management features
This commit is contained in:
Ben Lambert
2024-11-07 16:35:20 +01:00
committed by GitHub
5 changed files with 56 additions and 21 deletions
@@ -61,6 +61,7 @@ import {
} from '../../alpha/components/TemplateEditorPage';
import { RequirePermission } from '@backstage/plugin-permission-react';
import { taskReadPermission } from '@backstage/plugin-scaffolder-common/alpha';
import { templateManagementPermission } from '@backstage/plugin-scaffolder-common/alpha';
/**
* The Props for the Scaffolder Router
@@ -174,29 +175,35 @@ export const Router = (props: PropsWithChildren<RouterProps>) => {
<Route
path={editRouteRef.path}
element={
<SecretsContextProvider>
<TemplateIntroPage />
</SecretsContextProvider>
<RequirePermission permission={templateManagementPermission}>
<SecretsContextProvider>
<TemplateIntroPage />
</SecretsContextProvider>
</RequirePermission>
}
/>
<Route
path={customFieldsRouteRef.path}
element={
<SecretsContextProvider>
<CustomFieldsPage fieldExtensions={fieldExtensions} />
</SecretsContextProvider>
<RequirePermission permission={templateManagementPermission}>
<SecretsContextProvider>
<CustomFieldsPage fieldExtensions={fieldExtensions} />
</SecretsContextProvider>
</RequirePermission>
}
/>
<Route
path={templateFormRouteRef.path}
element={
<SecretsContextProvider>
<TemplateFormPage
layouts={customLayouts}
formProps={props.formProps}
fieldExtensions={fieldExtensions}
/>
</SecretsContextProvider>
<RequirePermission permission={templateManagementPermission}>
<SecretsContextProvider>
<TemplateFormPage
layouts={customLayouts}
formProps={props.formProps}
fieldExtensions={fieldExtensions}
/>
</SecretsContextProvider>
</RequirePermission>
}
/>
@@ -212,13 +219,15 @@ export const Router = (props: PropsWithChildren<RouterProps>) => {
<Route
path={editorRouteRef.path}
element={
<SecretsContextProvider>
<TemplateEditorPage
layouts={customLayouts}
formProps={props.formProps}
fieldExtensions={fieldExtensions}
/>
</SecretsContextProvider>
<RequirePermission permission={templateManagementPermission}>
<SecretsContextProvider>
<TemplateEditorPage
layouts={customLayouts}
formProps={props.formProps}
fieldExtensions={fieldExtensions}
/>
</SecretsContextProvider>
</RequirePermission>
}
/>
<Route