scaffolder-backend: add metadata endpoint to expose template permissions

Signed-off-by: Ainhoa Larumbe <ainhoaL@users.noreply.github.com>
This commit is contained in:
Ainhoa Larumbe
2023-03-08 17:16:34 +00:00
committed by Vincenzo Scamporlino
parent c42a1159ad
commit 67edf386c6
@@ -34,6 +34,8 @@ import {
templateEntityV1beta3Validator,
} from '@backstage/plugin-scaffolder-common';
import {
RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,
scaffolderPermissions,
templateParameterReadPermission,
templateStepReadPermission,
} from '@backstage/plugin-scaffolder-common/alpha';
@@ -59,7 +61,10 @@ import {
} from '@backstage/plugin-auth-node';
import { TemplateAction } from '@backstage/plugin-scaffolder-node';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
import { createIsAuthorized } from '@backstage/plugin-permission-node';
import {
createIsAuthorized,
createPermissionIntegrationRouter,
} from '@backstage/plugin-permission-node';
import { scaffolderTemplateRules } from './rules';
const isAuthorized = createIsAuthorized(Object.values(scaffolderTemplateRules));
@@ -261,6 +266,14 @@ export async function createRouter(
additionalTemplateGlobals,
});
const permissionIntegrationRouter = createPermissionIntegrationRouter({
resourceType: RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,
permissions: scaffolderPermissions,
rules: Object.values(scaffolderTemplateRules),
});
router.use(permissionIntegrationRouter);
router
.get(
'/v2/templates/:namespace/:kind/:name/parameter-schema',