From 3b68b09fc2d87fbed1f6aa2714207113c5ad4476 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Fri, 14 Apr 2023 16:13:16 +0200 Subject: [PATCH] scaffolder: rename permissions dependency Signed-off-by: Vincenzo Scamporlino --- .changeset/seven-oranges-act.md | 5 +++++ plugins/scaffolder-backend/src/ScaffolderPlugin.ts | 2 +- .../src/scaffolder/dryrun/createDryRunner.ts | 2 +- .../scaffolder/tasks/NunjucksWorkflowRunner.test.ts | 2 +- .../src/scaffolder/tasks/NunjucksWorkflowRunner.ts | 6 +++--- .../src/scaffolder/tasks/TaskWorker.ts | 10 +++++----- .../scaffolder-backend/src/service/router.test.ts | 4 ++-- plugins/scaffolder-backend/src/service/router.ts | 12 ++++++------ 8 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 .changeset/seven-oranges-act.md diff --git a/.changeset/seven-oranges-act.md b/.changeset/seven-oranges-act.md new file mode 100644 index 0000000000..c1b3bc61c0 --- /dev/null +++ b/.changeset/seven-oranges-act.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +--- + +Renamed permissionApi router option to permissions diff --git a/plugins/scaffolder-backend/src/ScaffolderPlugin.ts b/plugins/scaffolder-backend/src/ScaffolderPlugin.ts index 97abf41828..6b1ca1d164 100644 --- a/plugins/scaffolder-backend/src/ScaffolderPlugin.ts +++ b/plugins/scaffolder-backend/src/ScaffolderPlugin.ts @@ -132,7 +132,7 @@ export const scaffolderPlugin = createBackendPlugin( taskWorkers, additionalTemplateFilters, additionalTemplateGlobals, - permissionApi: permissions, + permissions, }); httpRouter.use(router); }, diff --git a/plugins/scaffolder-backend/src/scaffolder/dryrun/createDryRunner.ts b/plugins/scaffolder-backend/src/scaffolder/dryrun/createDryRunner.ts index 03db2147a7..655c485a6d 100644 --- a/plugins/scaffolder-backend/src/scaffolder/dryrun/createDryRunner.ts +++ b/plugins/scaffolder-backend/src/scaffolder/dryrun/createDryRunner.ts @@ -57,7 +57,7 @@ export type TemplateTesterCreateOptions = { workingDirectory: string; additionalTemplateFilters?: Record; additionalTemplateGlobals?: Record; - permissionApi?: PermissionEvaluator; + permissions?: PermissionEvaluator; }; /** diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts index 614a10339f..5d4f7b73cc 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts @@ -150,7 +150,7 @@ describe('DefaultWorkflowRunner', () => { integrations, workingDirectory: '/tmp', logger, - permissionApi: mockedPermissionApi, + permissions: mockedPermissionApi, }); }); diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts index a82ad1ae55..da690bcb82 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts @@ -63,7 +63,7 @@ type NunjucksWorkflowRunnerOptions = { logger: winston.Logger; additionalTemplateFilters?: Record; additionalTemplateGlobals?: Record; - permissionApi?: PermissionEvaluator; + permissions?: PermissionEvaluator; }; type TemplateContext = { @@ -383,8 +383,8 @@ export class NunjucksWorkflowRunner implements WorkflowRunner { }; const [decision]: PolicyDecision[] = - this.options.permissionApi && task.spec.steps.length - ? await this.options.permissionApi.authorizeConditional( + this.options.permissions && task.spec.steps.length + ? await this.options.permissions.authorizeConditional( [{ permission: actionExecutePermission }], { token: task.secrets?.backstageToken }, ) diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts index 960c89511a..3b80c74832 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/TaskWorker.ts @@ -34,7 +34,7 @@ export type TaskWorkerOptions = { workflowRunner: WorkflowRunner; }; concurrentTasksLimit: number; - permissionApi?: PermissionEvaluator; + permissions?: PermissionEvaluator; }; /** @@ -63,7 +63,7 @@ export type CreateWorkerOptions = { */ concurrentTasksLimit?: number; additionalTemplateGlobals?: Record; - permissionApi?: PermissionEvaluator; + permissions?: PermissionEvaluator; }; /** @@ -88,7 +88,7 @@ export class TaskWorker { additionalTemplateFilters, concurrentTasksLimit = 10, // from 1 to Infinity additionalTemplateGlobals, - permissionApi, + permissions, } = options; const workflowRunner = new NunjucksWorkflowRunner({ @@ -98,14 +98,14 @@ export class TaskWorker { workingDirectory, additionalTemplateFilters, additionalTemplateGlobals, - permissionApi, + permissions, }); return new TaskWorker({ taskBroker: taskBroker, runners: { workflowRunner }, concurrentTasksLimit, - permissionApi, + permissions, }); } diff --git a/plugins/scaffolder-backend/src/service/router.test.ts b/plugins/scaffolder-backend/src/service/router.test.ts index 4f5ed0fe22..f5aa043ce0 100644 --- a/plugins/scaffolder-backend/src/service/router.test.ts +++ b/plugins/scaffolder-backend/src/service/router.test.ts @@ -195,7 +195,7 @@ describe('createRouter', () => { catalogClient, reader: mockUrlReader, taskBroker, - permissionApi, + permissions: permissionApi, }); app = express().use(router); @@ -819,7 +819,7 @@ data: {"id":1,"taskId":"a-random-id","type":"completion","createdAt":"","body":{ reader: mockUrlReader, taskBroker, identity: { getIdentity }, - permissionApi, + permissions: permissionApi, }); app = express().use(router); diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index d4d55bcb51..0a45f2017d 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -112,7 +112,7 @@ export interface RouterOptions { taskBroker?: TaskBroker; additionalTemplateFilters?: Record; additionalTemplateGlobals?: Record; - permissionApi?: PermissionEvaluator; + permissions?: PermissionEvaluator; permissionRules?: TemplatePermissionRuleInput[]; identity?: IdentityApi; } @@ -208,7 +208,7 @@ export async function createRouter( scheduler, additionalTemplateFilters, additionalTemplateGlobals, - permissionApi, + permissions, permissionRules, } = options; @@ -258,7 +258,7 @@ export async function createRouter( additionalTemplateFilters, additionalTemplateGlobals, concurrentTasksLimit, - permissionApi, + permissions, }); workers.push(worker); } @@ -284,7 +284,7 @@ export async function createRouter( workingDirectory, additionalTemplateFilters, additionalTemplateGlobals, - permissionApi, + permissions, }); const templateRules: TemplatePermissionRuleInput[] = Object.values( @@ -616,12 +616,12 @@ export async function createRouter( ); } - if (!permissionApi) { + if (!permissions) { return template; } const [parameterDecision, stepDecision] = - await permissionApi.authorizeConditional( + await permissions.authorizeConditional( [ { permission: templateParameterReadPermission }, { permission: templateStepReadPermission },