From 67edf386c69debadb716a43c95687e4a2530cfc8 Mon Sep 17 00:00:00 2001 From: Ainhoa Larumbe Date: Wed, 8 Mar 2023 17:16:34 +0000 Subject: [PATCH] scaffolder-backend: add metadata endpoint to expose template permissions Signed-off-by: Ainhoa Larumbe --- plugins/scaffolder-backend/src/service/router.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index d74bfca5b1..f6415fae24 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -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',