scaffolder: single resource type
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user