From d0a99e3219e67fb1b81e205d2cf864c61fc8a81c Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Thu, 11 Nov 2021 14:12:38 +0000 Subject: [PATCH] authz: update permission-node api-report Signed-off-by: Mike Lewis --- plugins/permission-node/api-report.md | 74 ++++++++++++--------------- 1 file changed, 33 insertions(+), 41 deletions(-) diff --git a/plugins/permission-node/api-report.md b/plugins/permission-node/api-report.md index 1285207e61..fac7e8d7fa 100644 --- a/plugins/permission-node/api-report.md +++ b/plugins/permission-node/api-report.md @@ -3,39 +3,25 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { AuthorizeRequest } from '@backstage/permission-common'; import { AuthorizeResult } from '@backstage/permission-common'; import { BackstageIdentity } from '@backstage/plugin-auth-backend'; -import { DefinitiveAuthorizeResult } from '@backstage/permission-common'; -import { OpaqueAuthorizeRequest } from '@backstage/permission-common'; import { PermissionCondition } from '@backstage/permission-common'; import { PermissionCriteria } from '@backstage/permission-common'; import { Router } from 'express'; -// Warning: (ae-missing-release-tag) "AllowAllPermissionPolicy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class AllowAllPermissionPolicy implements PermissionPolicy { - // (undocumented) - handle( - _request: OpaqueAuthorizeRequest, - _user?: BackstageIdentity, - ): Promise; -} - -// Warning: (ae-missing-release-tag) "ApplyConditionsRequest" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) +// @public export type ApplyConditionsRequest = { resourceRef: string; resourceType: string; - conditions: PermissionCriteria>; + conditions: PermissionCriteria; }; -// Warning: (ae-missing-release-tag) "ConditionalPolicyResult" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "@backstage/plugin-permission-node" does not have an export "AuthorizeResult" // -// @public (undocumented) +// @public export type ConditionalPolicyResult = { - result: AuthorizeResult.MAYBE; + result: AuthorizeResult.CONDITIONAL; conditions: { pluginId: string; resourceType: string; @@ -47,7 +33,7 @@ export type ConditionalPolicyResult = { // // @public (undocumented) export const conditionFor: ( - rule: PermissionRule, + rule: PermissionRule, ) => (...params: TParams) => { rule: string; params: TParams; @@ -59,7 +45,7 @@ export const conditionFor: ( export const createPermissionIntegration: < TResource, TRules extends { - [key: string]: PermissionRule; + [key: string]: PermissionRule; }, TGetResourceParams extends any[] = [], >({ @@ -78,49 +64,55 @@ export const createPermissionIntegration: < }) => { createPermissionIntegrationRouter: (...params: TGetResourceParams) => Router; toQuery: ( - conditions: PermissionCriteria, + conditions: PermissionCriteria>>, ) => PermissionCriteria>; conditions: Conditions; - createConditions: (conditions: PermissionCriteria) => { + createConditions: ( + conditions: PermissionCriteria>>, + ) => { pluginId: string; resourceType: string; - conditions: PermissionCriteria; + conditions: PermissionCriteria>>; }; registerPermissionRule: ( - rule: PermissionRule, any>, + rule: PermissionRule, unknown[]>, ) => void; }; -// Warning: (ae-missing-release-tag) "PermissionPolicy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) +// @public export interface PermissionPolicy { + // Warning: (ae-forgotten-export) The symbol "PolicyAuthorizeRequest" needs to be exported by the entry point index.d.ts + // // (undocumented) handle( - request: OpaqueAuthorizeRequest, + request: PolicyAuthorizeRequest, user?: BackstageIdentity, ): Promise; } -// Warning: (ae-missing-release-tag) "PermissionRule" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "@backstage/plugin-permission-node" does not have an export "AuthorizeResult" // -// @public (undocumented) -export type PermissionRule = { +// @public +export type PermissionRule< + TResource, + TQuery, + TParams extends unknown[] = unknown[], +> = { name: string; description: string; apply(resource: TResource, ...params: TParams): boolean; toQuery(...params: TParams): TQuery | PermissionCriteria; }; -// Warning: (ae-missing-release-tag) "PolicyResult" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type PolicyResult = DefinitiveAuthorizeResult | ConditionalPolicyResult; +// @public +export type PolicyResult = + | { + result: AuthorizeResult.ALLOW | AuthorizeResult.DENY; + } + | ConditionalPolicyResult; // Warnings were encountered during analysis: // -// src/integration/createPermissionIntegration.d.ts:23:5 - (ae-forgotten-export) The symbol "QueryType" needs to be exported by the entry point index.d.ts -// src/integration/createPermissionIntegration.d.ts:24:5 - (ae-forgotten-export) The symbol "Conditions" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) +// src/integration/createPermissionIntegration.d.ts:28:5 - (ae-forgotten-export) The symbol "QueryType" needs to be exported by the entry point index.d.ts +// src/integration/createPermissionIntegration.d.ts:29:5 - (ae-forgotten-export) The symbol "Conditions" needs to be exported by the entry point index.d.ts ```