diff --git a/plugins/permission-node/api-report.md b/plugins/permission-node/api-report.md index b3d06efdc7..10e4a0eb3c 100644 --- a/plugins/permission-node/api-report.md +++ b/plugins/permission-node/api-report.md @@ -121,15 +121,71 @@ export function createPermissionIntegrationRouter< TResourceType extends string, TResource, >( - options: CreatePermissionIntegrationRouterResourceOptions< - TResourceType, - TResource - >, + options: + | CreatePermissionIntegrationRouterResourceOptions + | { + resources: CreatePermissionIntegrationRouterResourceOptions< + TResourceType, + TResource + >; + }, ): express.Router; // @public -export function createPermissionIntegrationRouter(options: { - permissions: Array; +export function createPermissionIntegrationRouter( + options: + | { + permissions: Array; + } + | { + resources: { + permissions: Array; + }; + }, +): express.Router; + +// @public +export function createPermissionIntegrationRouter< + TResourceType1 extends string, + TResource1, + TResourceType2 extends string, + TResource2, +>(options: { + resources: [ + CreatePermissionIntegrationRouterResourceOptions< + TResourceType1, + TResource1 + >, + CreatePermissionIntegrationRouterResourceOptions< + TResourceType2, + TResource2 + >, + ]; +}): express.Router; + +// @public +export function createPermissionIntegrationRouter< + TResourceType1 extends string, + TResource1, + TResourceType2 extends string, + TResource2, + TResourceType3 extends string, + TResource3, +>(options: { + resources: [ + CreatePermissionIntegrationRouterResourceOptions< + TResourceType1, + TResource1 + >, + CreatePermissionIntegrationRouterResourceOptions< + TResourceType2, + TResource2 + >, + CreatePermissionIntegrationRouterResourceOptions< + TResourceType3, + TResource3 + >, + ]; }): express.Router; // @public @@ -193,6 +249,16 @@ export type MetadataResponseSerializedRule = { paramsSchema?: ReturnType; }; +// @public +export type OptionResources = { + resources: + | { + permissions: Array; + } + | CreatePermissionIntegrationRouterResourceOptions + | Array>; +}; + // @public export interface PermissionPolicy { // (undocumented) diff --git a/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts b/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts index 6eb41aca71..d015734d91 100644 --- a/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts +++ b/plugins/permission-node/src/integration/createPermissionIntegrationRouter.ts @@ -207,6 +207,11 @@ export type CreatePermissionIntegrationRouterResourceOptions< ) => Promise>; }; +/** + * Options for creating a permission integration router + * + * @public + */ export type OptionResources = { resources: | { permissions: Array }