scaffolder: single resource type

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2023-01-16 11:35:17 +01:00
parent 277847e064
commit 133915942a
2 changed files with 13 additions and 10 deletions
+5 -2
View File
@@ -30,7 +30,7 @@ import {
createScaffolderStepConditionalDecision,
scaffolderStepConditions,
} from '@backstage/plugin-scaffolder-backend';
import { RESOURCE_TYPE_SCAFFOLDER_STEP } from '@backstage/plugin-scaffolder-common';
import { RESOURCE_TYPE_SCAFFOLDER_PROPERTY } from '@backstage/plugin-scaffolder-common';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
@@ -43,7 +43,10 @@ class ExamplePermissionPolicy implements PermissionPolicy {
* This is an example of how to use the scaffolder step conditions.
*/
if (
isResourcePermission(request.permission, RESOURCE_TYPE_SCAFFOLDER_STEP)
isResourcePermission(
request.permission,
RESOURCE_TYPE_SCAFFOLDER_PROPERTY,
)
) {
return createScaffolderStepConditionalDecision(
request.permission,
+8 -8
View File
@@ -16,16 +16,14 @@
import { createPermission } from '@backstage/plugin-permission-common';
export const RESOURCE_TYPE_SCAFFOLDER_PARAMETER = 'scaffolder-parameter';
export const RESOURCE_TYPE_SCAFFOLDER_PROPERTY = 'scaffolder-property';
export const RESOURCE_TYPE_SCAFFOLDER_STEP = 'scaffolder-step';
export const templateParameterReadPermission = createPermission({
name: 'scaffolder.template.parameter.read',
attributes: {
action: 'read',
},
resourceType: RESOURCE_TYPE_SCAFFOLDER_PARAMETER,
resourceType: RESOURCE_TYPE_SCAFFOLDER_PROPERTY,
});
export const templatePropertyReadPermission = createPermission({
@@ -41,16 +39,18 @@ export const templateStepReadPermission = createPermission({
attributes: {
action: 'read',
},
resourceType: RESOURCE_TYPE_SCAFFOLDER_STEP,
resourceType: RESOURCE_TYPE_SCAFFOLDER_PROPERTY,
});
export const scaffolderParameterPermissions = [templateParameterReadPermission];
export const scaffolderPropertyPermissions = [templatePropertyReadPermission];
export const scaffolderStepPermissions = [templateStepReadPermission];
export const scaffolderPermissions = [
templatePropertyReadPermission,
templateParameterReadPermission,
templateStepReadPermission,
];
/**
* TODOs:
* 1. Implement for Parameters & Properties
* 1. ~Implement for Parameters & Properties~
* 2. What metadata should be included in the template?
* 3. Write tests
* 4. Write documentation