From cf6bd48cab1df41026d95630b19f951a9dd927a1 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 9 Jan 2025 12:41:58 +0100 Subject: [PATCH] permissions: rename permissionIntegrations to permissionsRegistry Signed-off-by: Patrik Oldsberg --- .changeset/curvy-ways-play.md | 2 +- .changeset/hungry-mirrors-sniff.md | 2 +- .changeset/loud-walls-build.md | 2 +- .changeset/old-moons-end.md | 2 +- .changeset/sharp-vans-protect.md | 2 +- ...Integrations.md => permissionsRegistry.md} | 20 ++++++------- docs/permissions/custom-rules.md | 10 +++---- .../02-adding-a-basic-permission-check.md | 6 ++-- .../03-adding-a-resource-permission-check.md | 10 +++---- ...04-authorizing-access-to-paginated-data.md | 2 +- packages/backend-defaults/package.json | 6 ++-- ...i.md => report-permissionsRegistry.api.md} | 6 ++-- .../backend-defaults/src/CreateBackend.ts | 4 +-- .../index.ts | 2 +- .../permissionsRegistryServiceFactory.ts} | 6 ++-- packages/backend-plugin-api/report.api.md | 10 +++---- ...rvice.ts => PermissionsRegistryService.ts} | 8 +++--- .../src/services/definitions/coreServices.ts | 8 +++--- .../src/services/definitions/index.ts | 6 ++-- packages/backend-test-utils/report.api.md | 28 +++++++++---------- .../src/next/services/mockServices.ts | 8 +++--- .../src/next/wiring/TestBackend.ts | 2 +- plugins/catalog-backend/report.api.md | 4 +-- .../src/service/CatalogBuilder.ts | 10 +++---- .../src/service/CatalogPlugin.test.ts | 6 ++-- .../src/service/CatalogPlugin.ts | 6 ++-- plugins/catalog-node/src/extensions.ts | 6 ++-- 27 files changed, 92 insertions(+), 92 deletions(-) rename docs/backend-system/core-services/{permissionIntegrations.md => permissionsRegistry.md} (75%) rename packages/backend-defaults/{report-permissionIntegrations.api.md => report-permissionsRegistry.api.md} (64%) rename packages/backend-defaults/src/entrypoints/{permissionIntegrations => permissionsRegistry}/index.ts (86%) rename packages/backend-defaults/src/entrypoints/{permissionIntegrations/permissionIntegrationsServiceFactory.ts => permissionsRegistry/permissionsRegistryServiceFactory.ts} (91%) rename packages/backend-plugin-api/src/services/definitions/{PermissionIntegrationsService.ts => PermissionsRegistryService.ts} (94%) diff --git a/.changeset/curvy-ways-play.md b/.changeset/curvy-ways-play.md index 4cb0e3fd9f..c69b855098 100644 --- a/.changeset/curvy-ways-play.md +++ b/.changeset/curvy-ways-play.md @@ -2,4 +2,4 @@ '@backstage/backend-test-utils': minor --- -Added mocks for the new `PermissionIntegrationsService`. +Added mocks for the new `PermissionsRegistryService`. diff --git a/.changeset/hungry-mirrors-sniff.md b/.changeset/hungry-mirrors-sniff.md index 27ebf9d896..f855c1e1a9 100644 --- a/.changeset/hungry-mirrors-sniff.md +++ b/.changeset/hungry-mirrors-sniff.md @@ -2,4 +2,4 @@ '@backstage/backend-defaults': patch --- -Added default implementation for the new `PermissionIntegrationsService`. +Added default implementation for the new `PermissionsRegistryService`. diff --git a/.changeset/loud-walls-build.md b/.changeset/loud-walls-build.md index 28a6ef3e0b..0ddad96f2f 100644 --- a/.changeset/loud-walls-build.md +++ b/.changeset/loud-walls-build.md @@ -2,4 +2,4 @@ '@backstage/plugin-catalog-backend': minor --- -The catalog backend now supports the new `PermissionIntegrationsService`, which can be used to add custom permission rules. +The catalog backend now supports the new `PermissionsRegistryService`, which can be used to add custom permission rules. diff --git a/.changeset/old-moons-end.md b/.changeset/old-moons-end.md index 36eaaec056..d550ae6325 100644 --- a/.changeset/old-moons-end.md +++ b/.changeset/old-moons-end.md @@ -2,4 +2,4 @@ '@backstage/plugin-catalog-node': patch --- -Deprecated the alpha `catalogPermissionExtensionPoint` and related types, since the same functionality is now available via the new `PermissionIntegrationsService`. +Deprecated the alpha `catalogPermissionExtensionPoint` and related types, since the same functionality is now available via the new `PermissionsRegistryService`. diff --git a/.changeset/sharp-vans-protect.md b/.changeset/sharp-vans-protect.md index a2f9237a56..651c38be8b 100644 --- a/.changeset/sharp-vans-protect.md +++ b/.changeset/sharp-vans-protect.md @@ -2,4 +2,4 @@ '@backstage/backend-plugin-api': patch --- -Added new `PermissionIntegrationsService` that is used by plugins to register permissions, resource types, and rules into the permission system. This replaces the existing `createPermissionIntegrationRouter` from `@backstage/plugin-permission-node`. +Added new `PermissionsRegistryService` that is used by plugins to register permissions, resource types, and rules into the permission system. This replaces the existing `createPermissionIntegrationRouter` from `@backstage/plugin-permission-node`. diff --git a/docs/backend-system/core-services/permissionIntegrations.md b/docs/backend-system/core-services/permissionsRegistry.md similarity index 75% rename from docs/backend-system/core-services/permissionIntegrations.md rename to docs/backend-system/core-services/permissionsRegistry.md index c56e9c6c5a..4b0b87b894 100644 --- a/docs/backend-system/core-services/permissionIntegrations.md +++ b/docs/backend-system/core-services/permissionsRegistry.md @@ -1,15 +1,15 @@ --- id: permissions -title: Permission Integrations Service -sidebar_label: Permission Integrations -description: Documentation for the Permission Integrations service +title: Permissions Registry Service +sidebar_label: Permissions Registry +description: Documentation for the Permissions Registry service --- This service allows your plugins to register new permissions, rules, and resource types and integrate with [the permissions framework](../../permissions/overview.md). ## Using the service -For a deep dive into how to use the `permissionIntegrations` service, see the [permission guide for plugin authors](../../permissions/plugin-authors/01-setup.md). +For a deep dive into how to use the `permissionsRegistry` service, see the [permission guide for plugin authors](../../permissions/plugin-authors/01-setup.md). If all you want to do is add new custom permission rules to an existing plugin, you can instead refer to the [custom permission rules guide](../../permissions/custom-rules.md). @@ -38,7 +38,7 @@ export async function createRouter() { } ``` -Next, add a dependency on the `PermissionIntegrationsService` to your plugin, +Next, add a dependency on the `PermissionsRegistryService` to your plugin, and pass it the same options: ```ts @@ -49,16 +49,16 @@ export const examplePlugin = createBackendPlugin({ deps: { logger: coreServices.logger, /* highlight-add-next-line */ - permissionIntegrations: coreServices.permissionIntegrations, + permissionsRegistry: coreServices.permissionsRegistry, }, /* highlight-remove-next-line */ async init({ logger }) { /* highlight-add-next-line */ - async init({ logger, permissionIntegrations }) { + async init({ logger, permissionsRegistry }) { logger.log('This is a silly example plugin with no functionality'); /* highlight-add-start */ - permissionIntegrations.addResourceType({ + permissionsRegistry.addResourceType({ resourceType: RESOURCE_TYPE_MY_RESOURCE, permissions: [myResourcePermissions], rules: [myResourceRule], @@ -72,9 +72,9 @@ export const examplePlugin = createBackendPlugin({ If you only passed the `permissions` option to `createPermissionIntegrationRouter`, you will want to use -`permissionIntegrations.addPermissions` instead. +`permissionsRegistry.addPermissions` instead. If you passed multiple resources types to `createPermissionIntegrationRouter` via the `resources` option, you will want to call -`permissionIntegrations.addResourceType` multiple times for each of those +`permissionsRegistry.addResourceType` multiple times for each of those resource types. diff --git a/docs/permissions/custom-rules.md b/docs/permissions/custom-rules.md index fa56637bd6..ca93652f73 100644 --- a/docs/permissions/custom-rules.md +++ b/docs/permissions/custom-rules.md @@ -141,11 +141,11 @@ Now that we have a custom rule defined and added to our policy, we need provide :::warning Warning -The `PermissionIntegrationsService` is a fairly new addition and not yet supported by all plugins as they might still be using the old `createPermissionIntegrationRouter` that cannot be extended. If you encounter errors when installing custom rules for a plugin, the plugin may need to be switched to using the `PermissionIntegrationsService` first. +The `PermissionsRegistryService` is a fairly new addition and not yet supported by all plugins as they might still be using the old `createPermissionIntegrationRouter` that cannot be extended. If you encounter errors when installing custom rules for a plugin, the plugin may need to be switched to using the `PermissionsRegistryService` first. ::: -To install custom rules in a plugin, we need to use the [`PermissionIntegrationsService`](../backend-system/core-services/permissionIntegrations.md). Here's the steps you'll need to take to add the `isInSystemRule` we created above to the catalog: +To install custom rules in a plugin, we need to use the [`PermissionsRegistryService`](../backend-system/core-services/permissionsRegistry.md). Here's the steps you'll need to take to add the `isInSystemRule` we created above to the catalog: 1. We will be using the `@backstage/plugin-catalog-node` package as it contains the extension point we need. Run this to add it: @@ -166,9 +166,9 @@ To install custom rules in a plugin, we need to use the [`PermissionIntegrations moduleId: 'permission-rules', register(reg) { reg.registerInit({ - deps: { permissionIntegrations: coreServices.permissionIntegrations }, - async init({ permissionIntegrations }) { - permissionIntegrations.addPermissionRules([isInSystemRule]); + deps: { permissionsRegistry: coreServices.permissionsRegistry }, + async init({ permissionsRegistry }) { + permissionsRegistry.addPermissionRules([isInSystemRule]); }, }); }, diff --git a/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md b/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md index f6b4c11433..4053a81f99 100644 --- a/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md +++ b/docs/permissions/plugin-authors/02-adding-a-basic-permission-check.md @@ -145,14 +145,14 @@ export const exampleTodoListPlugin = createBackendPlugin({ /* highlight-add-next-line */ permissions: coreServices.permissions, /* highlight-add-next-line */ - permissionIntegrations: coreServices.permissionIntegrations, + permissionsRegistry: coreServices.permissionsRegistry, }, /* highlight-remove-next-line */ async init({ logger, httpAuth, httpRouter }) { /* highlight-add-next-line */ - async init({ httpAuth, logger, httpRouter, permissions, permissionIntegrations }) { + async init({ httpAuth, logger, httpRouter, permissions, permissionsRegistry }) { /* highlight-add-next-line */ - permissionIntegrations.addPermissions([todoListCreatePermission]); + permissionsRegistry.addPermissions([todoListCreatePermission]); httpRouter.use( await createRouter({ diff --git a/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md b/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md index f33ae583bd..8d0e5c75e9 100644 --- a/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md +++ b/docs/permissions/plugin-authors/03-adding-a-resource-permission-check.md @@ -62,9 +62,9 @@ import { // ... /* highlight-remove-next-line */ -permissionIntegrations.addPermissions([todoListCreatePermission]); +permissionsRegistry.addPermissions([todoListCreatePermission]); /* highlight-add-start */ -permissionIntegrations.addPermissions([ +permissionsRegistry.addPermissions([ todoListCreatePermission, todoListUpdatePermission, ]); @@ -171,7 +171,7 @@ Specifically, the `apply` function is used to understand whether the passed reso Let's skip the `toQuery` function for now, we'll come back to that in the next section. Now, let's add the new resource type to the permissions system via the -`PermissionIntegrationsService`. You'll need to supply: +`PermissionsRegistryService`. You'll need to supply: - `getResources`: a function that accepts an array of `resourceRefs` in the same format you expect to be passed to `authorize`, and returns an array of the corresponding resources. - `resourceType`: the same value used in the permission rule above. @@ -199,13 +199,13 @@ import { rules } from './rules'; // ... /* highlight-remove-start */ -permissionIntegrations.addPermissions([ +permissionsRegistry.addPermissions([ todoListCreatePermission, todoListUpdatePermission, ]); /* highlight-remove-end */ /* highlight-add-start */ -permissionIntegrations.addResourceType({ +permissionsRegistry.addResourceType({ resourceType: TODO_LIST_RESOURCE_TYPE, permissions: [todoListCreatePermission, todoListUpdatePermission], rules: Object.values(rules), diff --git a/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md b/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md index d85d82510d..3a0b358c85 100644 --- a/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md +++ b/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md @@ -97,7 +97,7 @@ import { // ... -permissionIntegrations.addResourceType({ +permissionsRegistry.addResourceType({ resourceType: TODO_LIST_RESOURCE_TYPE, /* highlight-remove-next-line */ permissions: [todoListCreatePermission, todoListUpdatePermission], diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 7ef216af3a..4a2fe1e753 100644 --- a/packages/backend-defaults/package.json +++ b/packages/backend-defaults/package.json @@ -28,7 +28,7 @@ "./httpRouter": "./src/entrypoints/httpRouter/index.ts", "./lifecycle": "./src/entrypoints/lifecycle/index.ts", "./logger": "./src/entrypoints/logger/index.ts", - "./permissionIntegrations": "./src/entrypoints/permissionIntegrations/index.ts", + "./permissionsRegistry": "./src/entrypoints/permissionsRegistry/index.ts", "./permissions": "./src/entrypoints/permissions/index.ts", "./rootConfig": "./src/entrypoints/rootConfig/index.ts", "./rootHealth": "./src/entrypoints/rootHealth/index.ts", @@ -68,8 +68,8 @@ "logger": [ "src/entrypoints/logger/index.ts" ], - "permissionIntegrations": [ - "src/entrypoints/permissionIntegrations/index.ts" + "permissionsRegistry": [ + "src/entrypoints/permissionsRegistry/index.ts" ], "permissions": [ "src/entrypoints/permissions/index.ts" diff --git a/packages/backend-defaults/report-permissionIntegrations.api.md b/packages/backend-defaults/report-permissionsRegistry.api.md similarity index 64% rename from packages/backend-defaults/report-permissionIntegrations.api.md rename to packages/backend-defaults/report-permissionsRegistry.api.md index db24c04d65..c453ca6a1b 100644 --- a/packages/backend-defaults/report-permissionIntegrations.api.md +++ b/packages/backend-defaults/report-permissionsRegistry.api.md @@ -3,12 +3,12 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts -import { PermissionIntegrationsService } from '@backstage/backend-plugin-api'; +import { PermissionsRegistryService } from '@backstage/backend-plugin-api'; import { ServiceFactory } from '@backstage/backend-plugin-api'; // @public -export const permissionIntegrationsServiceFactory: ServiceFactory< - PermissionIntegrationsService, +export const permissionsRegistryServiceFactory: ServiceFactory< + PermissionsRegistryService, 'plugin', 'singleton' >; diff --git a/packages/backend-defaults/src/CreateBackend.ts b/packages/backend-defaults/src/CreateBackend.ts index 3cfb2b24ea..de53409658 100644 --- a/packages/backend-defaults/src/CreateBackend.ts +++ b/packages/backend-defaults/src/CreateBackend.ts @@ -23,8 +23,8 @@ import { httpAuthServiceFactory } from '@backstage/backend-defaults/httpAuth'; import { httpRouterServiceFactory } from '@backstage/backend-defaults/httpRouter'; import { lifecycleServiceFactory } from '@backstage/backend-defaults/lifecycle'; import { loggerServiceFactory } from '@backstage/backend-defaults/logger'; -import { permissionIntegrationsServiceFactory } from '@backstage/backend-defaults/permissionIntegrations'; import { permissionsServiceFactory } from '@backstage/backend-defaults/permissions'; +import { permissionsRegistryServiceFactory } from '@backstage/backend-defaults/permissionsRegistry'; import { rootConfigServiceFactory } from '@backstage/backend-defaults/rootConfig'; import { rootHealthServiceFactory } from '@backstage/backend-defaults/rootHealth'; import { rootHttpRouterServiceFactory } from '@backstage/backend-defaults/rootHttpRouter'; @@ -45,8 +45,8 @@ export const defaultServiceFactories = [ httpRouterServiceFactory, lifecycleServiceFactory, loggerServiceFactory, - permissionIntegrationsServiceFactory, permissionsServiceFactory, + permissionsRegistryServiceFactory, rootHealthServiceFactory, rootHttpRouterServiceFactory, rootLifecycleServiceFactory, diff --git a/packages/backend-defaults/src/entrypoints/permissionIntegrations/index.ts b/packages/backend-defaults/src/entrypoints/permissionsRegistry/index.ts similarity index 86% rename from packages/backend-defaults/src/entrypoints/permissionIntegrations/index.ts rename to packages/backend-defaults/src/entrypoints/permissionsRegistry/index.ts index 8e1daa15a1..abe04d7941 100644 --- a/packages/backend-defaults/src/entrypoints/permissionIntegrations/index.ts +++ b/packages/backend-defaults/src/entrypoints/permissionsRegistry/index.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export { permissionIntegrationsServiceFactory } from './permissionIntegrationsServiceFactory'; +export { permissionsRegistryServiceFactory } from './permissionsRegistryServiceFactory'; diff --git a/packages/backend-defaults/src/entrypoints/permissionIntegrations/permissionIntegrationsServiceFactory.ts b/packages/backend-defaults/src/entrypoints/permissionsRegistry/permissionsRegistryServiceFactory.ts similarity index 91% rename from packages/backend-defaults/src/entrypoints/permissionIntegrations/permissionIntegrationsServiceFactory.ts rename to packages/backend-defaults/src/entrypoints/permissionsRegistry/permissionsRegistryServiceFactory.ts index b083439515..c3bca441ba 100644 --- a/packages/backend-defaults/src/entrypoints/permissionIntegrations/permissionIntegrationsServiceFactory.ts +++ b/packages/backend-defaults/src/entrypoints/permissionsRegistry/permissionsRegistryServiceFactory.ts @@ -23,14 +23,14 @@ import { createPermissionIntegrationRouter } from '@backstage/plugin-permission- /** * Permission system integration for registering resources and permissions. * - * See {@link @backstage/code-plugin-api#PermissionIntegrationsService} + * See {@link @backstage/code-plugin-api#PermissionsRegistryService} * and {@link https://backstage.io/docs/backend-system/core-services/permission-integrations | the service docs} * for more information. * * @public */ -export const permissionIntegrationsServiceFactory = createServiceFactory({ - service: coreServices.permissionIntegrations, +export const permissionsRegistryServiceFactory = createServiceFactory({ + service: coreServices.permissionsRegistry, deps: { lifecycle: coreServices.lifecycle, httpRouter: coreServices.httpRouter, diff --git a/packages/backend-plugin-api/report.api.md b/packages/backend-plugin-api/report.api.md index 224a057686..82b62b4de0 100644 --- a/packages/backend-plugin-api/report.api.md +++ b/packages/backend-plugin-api/report.api.md @@ -186,8 +186,8 @@ export namespace coreServices { const lifecycle: ServiceRef; const logger: ServiceRef; const permissions: ServiceRef; - const permissionIntegrations: ServiceRef< - PermissionIntegrationsService, + const permissionsRegistry: ServiceRef< + PermissionsRegistryService, 'plugin', 'singleton' >; @@ -433,11 +433,11 @@ export interface LoggerService { } // @public -export interface PermissionIntegrationsService { +export interface PermissionsRegistryService { addPermissionRules(rules: PermissionRule[]): void; addPermissions(permissions: Permission[]): void; addResourceType( - options: PermissionIntegrationsServiceAddResourceTypeOptions< + options: PermissionsRegistryServiceAddResourceTypeOptions< TResourceType, TResource >, @@ -445,7 +445,7 @@ export interface PermissionIntegrationsService { } // @public -export type PermissionIntegrationsServiceAddResourceTypeOptions< +export type PermissionsRegistryServiceAddResourceTypeOptions< TResourceType extends string, TResource, > = { diff --git a/packages/backend-plugin-api/src/services/definitions/PermissionIntegrationsService.ts b/packages/backend-plugin-api/src/services/definitions/PermissionsRegistryService.ts similarity index 94% rename from packages/backend-plugin-api/src/services/definitions/PermissionIntegrationsService.ts rename to packages/backend-plugin-api/src/services/definitions/PermissionsRegistryService.ts index 2d4a2e0ffb..becdb0cddc 100644 --- a/packages/backend-plugin-api/src/services/definitions/PermissionIntegrationsService.ts +++ b/packages/backend-plugin-api/src/services/definitions/PermissionsRegistryService.ts @@ -30,7 +30,7 @@ type NoInfer = T extends infer S ? S : never; * * @public */ -export type PermissionIntegrationsServiceAddResourceTypeOptions< +export type PermissionsRegistryServiceAddResourceTypeOptions< TResourceType extends string, TResource, > = { @@ -71,7 +71,7 @@ export type PermissionIntegrationsServiceAddResourceTypeOptions< * * @public */ -export interface PermissionIntegrationsService { +export interface PermissionsRegistryService { /** * Add permissions for this plugin to the permission system. */ @@ -117,13 +117,13 @@ export interface PermissionIntegrationsService { * The `getResources` argument should load resources based on a reference * identifier. For the catalog, this is an * {@link @backstage/catalog-model#EntityRef}. For other plugins, this can be - * any serialized format. This is used to add a permission integrations API + * any serialized format. This is used to add a permissions registry API * via the HTTP router service. This API will be called by the * `permission-backend` when authorization conditions relating to this plugin * need to be evaluated. */ addResourceType( - options: PermissionIntegrationsServiceAddResourceTypeOptions< + options: PermissionsRegistryServiceAddResourceTypeOptions< TResourceType, TResource >, diff --git a/packages/backend-plugin-api/src/services/definitions/coreServices.ts b/packages/backend-plugin-api/src/services/definitions/coreServices.ts index d65b3b85ea..52adaefd53 100644 --- a/packages/backend-plugin-api/src/services/definitions/coreServices.ts +++ b/packages/backend-plugin-api/src/services/definitions/coreServices.ts @@ -177,15 +177,15 @@ export namespace coreServices { /** * Permission system integration for registering resources and permissions. * - * See {@link PermissionIntegrationsService} + * See {@link PermissionsRegistryService} * and {@link https://backstage.io/docs/backend-system/core-services/permission-integrations | the service docs} * for more information. * * @public */ - export const permissionIntegrations = createServiceRef< - import('./PermissionIntegrationsService').PermissionIntegrationsService - >({ id: 'core.permissionIntegrations' }); + export const permissionsRegistry = createServiceRef< + import('./PermissionsRegistryService').PermissionsRegistryService + >({ id: 'core.permissionsRegistry' }); /** * Built-in service for accessing metadata about the current plugin. diff --git a/packages/backend-plugin-api/src/services/definitions/index.ts b/packages/backend-plugin-api/src/services/definitions/index.ts index 4e82f1e089..95cd37a089 100644 --- a/packages/backend-plugin-api/src/services/definitions/index.ts +++ b/packages/backend-plugin-api/src/services/definitions/index.ts @@ -51,9 +51,9 @@ export type { PermissionsServiceRequestOptions, } from './PermissionsService'; export type { - PermissionIntegrationsService, - PermissionIntegrationsServiceAddResourceTypeOptions, -} from './PermissionIntegrationsService'; + PermissionsRegistryService, + PermissionsRegistryServiceAddResourceTypeOptions, +} from './PermissionsRegistryService'; export type { PluginMetadataService } from './PluginMetadataService'; export type { RootHttpRouterService } from './RootHttpRouterService'; export type { RootLifecycleService } from './RootLifecycleService'; diff --git a/packages/backend-test-utils/report.api.md b/packages/backend-test-utils/report.api.md index 804f06fcbb..e6f0667535 100644 --- a/packages/backend-test-utils/report.api.md +++ b/packages/backend-test-utils/report.api.md @@ -33,7 +33,7 @@ import { LifecycleService } from '@backstage/backend-plugin-api'; import { LoggerService } from '@backstage/backend-plugin-api'; import { ParamsDictionary } from 'express-serve-static-core'; import { ParsedQs } from 'qs'; -import { PermissionIntegrationsService } from '@backstage/backend-plugin-api'; +import { PermissionsRegistryService } from '@backstage/backend-plugin-api'; import { PermissionsService } from '@backstage/backend-plugin-api'; import { RootConfigService } from '@backstage/backend-plugin-api'; import { RootHealthService } from '@backstage/backend-plugin-api'; @@ -256,19 +256,6 @@ export namespace mockServices { ) => ServiceMock; } // (undocumented) - export namespace permissionIntegrations { - const // (undocumented) - factory: () => ServiceFactory< - PermissionIntegrationsService, - 'plugin', - 'singleton' - >; - const // (undocumented) - mock: ( - partialImpl?: Partial | undefined, - ) => ServiceMock; - } - // (undocumented) export namespace permissions { const // (undocumented) factory: () => ServiceFactory; @@ -278,6 +265,19 @@ export namespace mockServices { ) => ServiceMock; } // (undocumented) + export namespace permissionsRegistry { + const // (undocumented) + factory: () => ServiceFactory< + PermissionsRegistryService, + 'plugin', + 'singleton' + >; + const // (undocumented) + mock: ( + partialImpl?: Partial | undefined, + ) => ServiceMock; + } + // (undocumented) export function rootConfig(options?: rootConfig.Options): RootConfigService; // (undocumented) export namespace rootConfig { diff --git a/packages/backend-test-utils/src/next/services/mockServices.ts b/packages/backend-test-utils/src/next/services/mockServices.ts index 83c0213296..91b53c4acc 100644 --- a/packages/backend-test-utils/src/next/services/mockServices.ts +++ b/packages/backend-test-utils/src/next/services/mockServices.ts @@ -53,7 +53,7 @@ import { MockRootLoggerService } from './MockRootLoggerService'; import { MockUserInfoService } from './MockUserInfoService'; import { mockCredentials } from './mockCredentials'; import { Knex } from 'knex'; -import { permissionIntegrationsServiceFactory } from '@backstage/backend-defaults/permissionIntegrations'; +import { permissionsRegistryServiceFactory } from '@backstage/backend-defaults/permissionsRegistry'; /** @internal */ function createLoggerMock() { @@ -469,9 +469,9 @@ export namespace mockServices { })); } - export namespace permissionIntegrations { - export const factory = () => permissionIntegrationsServiceFactory; - export const mock = simpleMock(coreServices.permissionIntegrations, () => ({ + export namespace permissionsRegistry { + export const factory = () => permissionsRegistryServiceFactory; + export const mock = simpleMock(coreServices.permissionsRegistry, () => ({ addPermissionRules: jest.fn(), addPermissions: jest.fn(), addResourceType: jest.fn(), diff --git a/packages/backend-test-utils/src/next/wiring/TestBackend.ts b/packages/backend-test-utils/src/next/wiring/TestBackend.ts index 7c0edb069b..0c46c2cd5f 100644 --- a/packages/backend-test-utils/src/next/wiring/TestBackend.ts +++ b/packages/backend-test-utils/src/next/wiring/TestBackend.ts @@ -75,7 +75,7 @@ export const defaultServiceFactories = [ mockServices.lifecycle.factory(), mockServices.logger.factory(), mockServices.permissions.factory(), - mockServices.permissionIntegrations.factory(), + mockServices.permissionsRegistry.factory(), mockServices.rootHealth.factory(), mockServices.rootLifecycle.factory(), mockServices.rootLogger.factory(), diff --git a/plugins/catalog-backend/report.api.md b/plugins/catalog-backend/report.api.md index db7a4818be..c9b7fabbad 100644 --- a/plugins/catalog-backend/report.api.md +++ b/plugins/catalog-backend/report.api.md @@ -49,9 +49,9 @@ import { locationSpecToMetadataName as locationSpecToMetadataName_2 } from '@bac import { LoggerService } from '@backstage/backend-plugin-api'; import { Permission } from '@backstage/plugin-permission-common'; import { PermissionAuthorizer } from '@backstage/plugin-permission-common'; -import { PermissionIntegrationsService } from '@backstage/backend-plugin-api'; import { PermissionRule } from '@backstage/plugin-permission-node'; import { PermissionRuleParams } from '@backstage/plugin-permission-common'; +import { PermissionsRegistryService } from '@backstage/backend-plugin-api'; import { PermissionsService } from '@backstage/backend-plugin-api'; import { PlaceholderResolver as PlaceholderResolver_2 } from '@backstage/plugin-catalog-node'; import { PlaceholderResolverParams as PlaceholderResolverParams_2 } from '@backstage/plugin-catalog-node'; @@ -199,7 +199,7 @@ export type CatalogEnvironment = { config: RootConfigService; reader: UrlReaderService; permissions: PermissionsService | PermissionAuthorizer; - permissionIntegrations?: PermissionIntegrationsService; + permissionsRegistry?: PermissionsRegistryService; scheduler?: SchedulerService; discovery?: DiscoveryService; auth?: AuthService; diff --git a/plugins/catalog-backend/src/service/CatalogBuilder.ts b/plugins/catalog-backend/src/service/CatalogBuilder.ts index ab3751eb90..13347edf7c 100644 --- a/plugins/catalog-backend/src/service/CatalogBuilder.ts +++ b/plugins/catalog-backend/src/service/CatalogBuilder.ts @@ -114,7 +114,7 @@ import { RootConfigService, UrlReaderService, SchedulerService, - PermissionIntegrationsService, + PermissionsRegistryService, } from '@backstage/backend-plugin-api'; import { entitiesResponseToObjects } from './response'; @@ -137,7 +137,7 @@ export type CatalogEnvironment = { config: RootConfigService; reader: UrlReaderService; permissions: PermissionsService | PermissionAuthorizer; - permissionIntegrations?: PermissionIntegrationsService; + permissionsRegistry?: PermissionsRegistryService; scheduler?: SchedulerService; discovery?: DiscoveryService; auth?: AuthService; @@ -480,7 +480,7 @@ export class CatalogBuilder { logger, permissions, scheduler, - permissionIntegrations, + permissionsRegistry, discovery = HostDiscovery.fromConfig(config), } = this.env; @@ -593,8 +593,8 @@ export class CatalogBuilder { let permissionIntegrationRouter: | ReturnType | undefined; - if (permissionIntegrations) { - permissionIntegrations.addResourceType(catalogPermissionResource); + if (permissionsRegistry) { + permissionsRegistry.addResourceType(catalogPermissionResource); } else { permissionIntegrationRouter = createPermissionIntegrationRouter( catalogPermissionResource, diff --git a/plugins/catalog-backend/src/service/CatalogPlugin.test.ts b/plugins/catalog-backend/src/service/CatalogPlugin.test.ts index 3390f9c901..9cec22322e 100644 --- a/plugins/catalog-backend/src/service/CatalogPlugin.test.ts +++ b/plugins/catalog-backend/src/service/CatalogPlugin.test.ts @@ -33,10 +33,10 @@ describe('catalogPlugin', () => { register(reg) { reg.registerInit({ deps: { - permissionIntegrations: coreServices.permissionIntegrations, + permissionsRegistry: coreServices.permissionsRegistry, }, - async init({ permissionIntegrations }) { - permissionIntegrations.addPermissionRules([ + async init({ permissionsRegistry }) { + permissionsRegistry.addPermissionRules([ createCatalogPermissionRule({ name: 'test', resourceType: 'catalog-entity', diff --git a/plugins/catalog-backend/src/service/CatalogPlugin.ts b/plugins/catalog-backend/src/service/CatalogPlugin.ts index c076f68980..ffa9a2f1b9 100644 --- a/plugins/catalog-backend/src/service/CatalogPlugin.ts +++ b/plugins/catalog-backend/src/service/CatalogPlugin.ts @@ -227,7 +227,7 @@ export const catalogPlugin = createBackendPlugin({ config: coreServices.rootConfig, reader: coreServices.urlReader, permissions: coreServices.permissions, - permissionIntegrations: coreServices.permissionIntegrations, + permissionsRegistry: coreServices.permissionsRegistry, database: coreServices.database, httpRouter: coreServices.httpRouter, lifecycle: coreServices.rootLifecycle, @@ -243,7 +243,7 @@ export const catalogPlugin = createBackendPlugin({ reader, database, permissions, - permissionIntegrations, + permissionsRegistry, httpRouter, lifecycle, scheduler, @@ -256,7 +256,7 @@ export const catalogPlugin = createBackendPlugin({ config, reader, permissions, - permissionIntegrations, + permissionsRegistry, database, scheduler, logger, diff --git a/plugins/catalog-node/src/extensions.ts b/plugins/catalog-node/src/extensions.ts index 1861dbcea5..b52835b1a9 100644 --- a/plugins/catalog-node/src/extensions.ts +++ b/plugins/catalog-node/src/extensions.ts @@ -138,7 +138,7 @@ export const catalogModelExtensionPoint = /** * @alpha - * @deprecated Use the `coreServices.permissionIntegrations` instead. + * @deprecated Use the `coreServices.permissionsRegistry` instead. */ export type CatalogPermissionRuleInput< TParams extends PermissionRuleParams = PermissionRuleParams, @@ -146,7 +146,7 @@ export type CatalogPermissionRuleInput< /** * @alpha - * @deprecated Use the `coreServices.permissionIntegrations` instead. + * @deprecated Use the `coreServices.permissionsRegistry` instead. */ export interface CatalogPermissionExtensionPoint { addPermissions(...permissions: Array>): void; @@ -159,7 +159,7 @@ export interface CatalogPermissionExtensionPoint { /** * @alpha - * @deprecated Use the `coreServices.permissionIntegrations` instead. + * @deprecated Use the `coreServices.permissionsRegistry` instead. */ export const catalogPermissionExtensionPoint = createExtensionPoint({