From 059bb019f8364987a8900623b250a622741c1b5b Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Fri, 11 Apr 2025 14:00:36 +0200 Subject: [PATCH] permission: api-reports Signed-off-by: Vincenzo Scamporlino --- plugins/permission-common/report.api.md | 2 +- .../permission-common/src/PermissionClient.ts | 4 ++- plugins/permission-common/src/index.ts | 5 +++- plugins/permission-node/report.api.md | 28 ++++++++++++++----- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/plugins/permission-common/report.api.md b/plugins/permission-common/report.api.md index 465c43846f..ff3c03efb5 100644 --- a/plugins/permission-common/report.api.md +++ b/plugins/permission-common/report.api.md @@ -83,7 +83,7 @@ export type EvaluatePermissionRequest = { resourceRef?: string; }; -// @public +// @public @deprecated export type EvaluatePermissionRequestBatch = PermissionMessageBatch; diff --git a/plugins/permission-common/src/PermissionClient.ts b/plugins/permission-common/src/PermissionClient.ts index 6fd0047253..edc5093ae8 100644 --- a/plugins/permission-common/src/PermissionClient.ts +++ b/plugins/permission-common/src/PermissionClient.ts @@ -35,7 +35,6 @@ import { DiscoveryApi } from './types/discovery'; import { AuthorizeRequestOptions, BasicPermission, - Permission, ResourcePermission, } from './types/permission'; import { isResourcePermission } from './permissions'; @@ -270,6 +269,9 @@ export class PermissionClient implements PermissionEvaluator { } } +/** + * @internal + */ export type BatchedAuthorizePermissionRequest = IdentifiedPermissionMessage< | { permission: BasicPermission; diff --git a/plugins/permission-common/src/index.ts b/plugins/permission-common/src/index.ts index 7c3f6dd613..3c28921a39 100644 --- a/plugins/permission-common/src/index.ts +++ b/plugins/permission-common/src/index.ts @@ -21,4 +21,7 @@ */ export * from './types'; export * from './permissions'; -export * from './PermissionClient'; +export { + PermissionClient, + type PermissionClientRequestOptions, +} from './PermissionClient'; diff --git a/plugins/permission-node/report.api.md b/plugins/permission-node/report.api.md index 8c743a0f6c..af8c4f6455 100644 --- a/plugins/permission-node/report.api.md +++ b/plugins/permission-node/report.api.md @@ -7,6 +7,7 @@ import { AllOfCriteria } from '@backstage/plugin-permission-common'; import { AnyOfCriteria } from '@backstage/plugin-permission-common'; import { AuthorizePermissionRequest } from '@backstage/plugin-permission-common'; import { AuthorizePermissionResponse } from '@backstage/plugin-permission-common'; +import { AuthorizeResult } from '@backstage/plugin-permission-common'; import { AuthService } from '@backstage/backend-plugin-api'; import { BackstageCredentials } from '@backstage/backend-plugin-api'; import { BackstageUserIdentity } from '@backstage/plugin-auth-node'; @@ -37,11 +38,20 @@ export type ApplyConditionsRequest = { }; // @public -export type ApplyConditionsRequestEntry = IdentifiedPermissionMessage<{ - resourceRef: string; - resourceType: string; - conditions: PermissionCriteria; -}>; +export type ApplyConditionsRequestEntry = IdentifiedPermissionMessage< + | { + resourceRef: string; + resourceRefs?: undefined; + resourceType: string; + conditions: PermissionCriteria; + } + | { + resourceRef?: undefined; + resourceRefs: string[]; + resourceType: string; + conditions: PermissionCriteria; + } +>; // @public export type ApplyConditionsResponse = { @@ -49,8 +59,12 @@ export type ApplyConditionsResponse = { }; // @public -export type ApplyConditionsResponseEntry = - IdentifiedPermissionMessage; +export type ApplyConditionsResponseEntry = IdentifiedPermissionMessage< + | DefinitivePolicyDecision + | { + result: Array; + } +>; // @public export type Condition = TRule extends PermissionRule<