From 5632097f9258eb268d6387dfb2ff587826b87a48 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Fri, 17 Feb 2023 10:50:38 +0100 Subject: [PATCH] permission-node: make getResources optional Signed-off-by: Vincenzo Scamporlino --- .../src/integration/createPermissionIntegrationRouter.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts b/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts index c8bd94f68e..f78fea6ea6 100644 --- a/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts +++ b/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts @@ -187,7 +187,7 @@ export type CreatePermissionIntegrationRouterResourceOptions< // consider any rules whose resource type does not match // to be an error. rules: PermissionRule>[]; - getResources: GetResourcesFn; + getResources?: GetResourcesFn; }; /** @@ -270,9 +270,12 @@ export const createPermissionIntegrationRouter = < router.post( '/.well-known/backstage/permissions/apply-conditions', async (req, res: Response) => { - if (!isCreatePermissionIntegrationRouterResourceOptions(options)) { + if ( + !isCreatePermissionIntegrationRouterResourceOptions(options) || + options.getResources === undefined + ) { throw new NotImplementedError( - 'This plugin does not support the apply-conditions API', + `This plugin does not expose any permission rule or can't evaluate conditional decisions`, ); } const { resourceType, getResources } = options;