From 0b98a49509b11f09192e0d96f7d472aa8efcbf02 Mon Sep 17 00:00:00 2001 From: Joe Porpeglia Date: Tue, 22 Mar 2022 10:49:42 -0400 Subject: [PATCH] Rename policy input type Signed-off-by: Joe Porpeglia --- plugins/permission-node/src/policy/index.ts | 2 +- plugins/permission-node/src/policy/types.ts | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/plugins/permission-node/src/policy/index.ts b/plugins/permission-node/src/policy/index.ts index 988ce345a4..f151cfb4fb 100644 --- a/plugins/permission-node/src/policy/index.ts +++ b/plugins/permission-node/src/policy/index.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export type { PermissionPolicy, PolicyAuthorizeQuery } from './types'; +export type { PermissionPolicy, PolicyQuery } from './types'; diff --git a/plugins/permission-node/src/policy/types.ts b/plugins/permission-node/src/policy/types.ts index 36145eea77..0f469cfbfe 100644 --- a/plugins/permission-node/src/policy/types.ts +++ b/plugins/permission-node/src/policy/types.ts @@ -15,26 +15,24 @@ */ import { - EvaluatePermissionRequest, + Permission, PolicyDecision, } from '@backstage/plugin-permission-common'; import { BackstageIdentityResponse } from '@backstage/plugin-auth-node'; /** - * An authorization request to be evaluated by the {@link PermissionPolicy}. + * A query to be evaluated by the {@link PermissionPolicy}. * * @remarks * - * This differs from {@link @backstage/permission-common#AuthorizeQuery} in that `resourceRef` - * should never be provided. This forces policies to be written in a way that's compatible with - * filtering collections of resources at data load time. + * Unlike other parts of the permission API, the policy does not accept a resource ref. This keeps + * the policy decoupled from the resource loading and condition applying logic. * * @public */ -export type PolicyAuthorizeQuery = Omit< - EvaluatePermissionRequest, - 'resourceRef' ->; +export type PolicyQuery = { + permission: Permission; +}; /** * A policy to evaluate authorization requests for any permissioned action performed in Backstage. @@ -54,7 +52,7 @@ export type PolicyAuthorizeQuery = Omit< */ export interface PermissionPolicy { handle( - request: PolicyAuthorizeQuery, + request: PolicyQuery, user?: BackstageIdentityResponse, ): Promise; }