permissions: rename permissionIntegrations to permissionsRegistry
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -2,4 +2,4 @@
|
||||
'@backstage/backend-test-utils': minor
|
||||
---
|
||||
|
||||
Added mocks for the new `PermissionIntegrationsService`.
|
||||
Added mocks for the new `PermissionsRegistryService`.
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
'@backstage/backend-defaults': patch
|
||||
---
|
||||
|
||||
Added default implementation for the new `PermissionIntegrationsService`.
|
||||
Added default implementation for the new `PermissionsRegistryService`.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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`.
|
||||
|
||||
+10
-10
@@ -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.
|
||||
@@ -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]);
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -97,7 +97,7 @@ import {
|
||||
|
||||
// ...
|
||||
|
||||
permissionIntegrations.addResourceType({
|
||||
permissionsRegistry.addResourceType({
|
||||
resourceType: TODO_LIST_RESOURCE_TYPE,
|
||||
/* highlight-remove-next-line */
|
||||
permissions: [todoListCreatePermission, todoListUpdatePermission],
|
||||
|
||||
@@ -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"
|
||||
|
||||
+3
-3
@@ -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'
|
||||
>;
|
||||
@@ -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,
|
||||
|
||||
+1
-1
@@ -14,4 +14,4 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export { permissionIntegrationsServiceFactory } from './permissionIntegrationsServiceFactory';
|
||||
export { permissionsRegistryServiceFactory } from './permissionsRegistryServiceFactory';
|
||||
+3
-3
@@ -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,
|
||||
@@ -186,8 +186,8 @@ export namespace coreServices {
|
||||
const lifecycle: ServiceRef<LifecycleService, 'plugin', 'singleton'>;
|
||||
const logger: ServiceRef<LoggerService, 'plugin', 'singleton'>;
|
||||
const permissions: ServiceRef<PermissionsService, 'plugin', 'singleton'>;
|
||||
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<any, any, string>[]): void;
|
||||
addPermissions(permissions: Permission[]): void;
|
||||
addResourceType<const TResourceType extends string, TResource>(
|
||||
options: PermissionIntegrationsServiceAddResourceTypeOptions<
|
||||
options: PermissionsRegistryServiceAddResourceTypeOptions<
|
||||
TResourceType,
|
||||
TResource
|
||||
>,
|
||||
@@ -445,7 +445,7 @@ export interface PermissionIntegrationsService {
|
||||
}
|
||||
|
||||
// @public
|
||||
export type PermissionIntegrationsServiceAddResourceTypeOptions<
|
||||
export type PermissionsRegistryServiceAddResourceTypeOptions<
|
||||
TResourceType extends string,
|
||||
TResource,
|
||||
> = {
|
||||
|
||||
+4
-4
@@ -30,7 +30,7 @@ type NoInfer<T> = 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<const TResourceType extends string, TResource>(
|
||||
options: PermissionIntegrationsServiceAddResourceTypeOptions<
|
||||
options: PermissionsRegistryServiceAddResourceTypeOptions<
|
||||
TResourceType,
|
||||
TResource
|
||||
>,
|
||||
@@ -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.
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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<LoggerService>;
|
||||
}
|
||||
// (undocumented)
|
||||
export namespace permissionIntegrations {
|
||||
const // (undocumented)
|
||||
factory: () => ServiceFactory<
|
||||
PermissionIntegrationsService,
|
||||
'plugin',
|
||||
'singleton'
|
||||
>;
|
||||
const // (undocumented)
|
||||
mock: (
|
||||
partialImpl?: Partial<PermissionIntegrationsService> | undefined,
|
||||
) => ServiceMock<PermissionIntegrationsService>;
|
||||
}
|
||||
// (undocumented)
|
||||
export namespace permissions {
|
||||
const // (undocumented)
|
||||
factory: () => ServiceFactory<PermissionsService, 'plugin', 'singleton'>;
|
||||
@@ -278,6 +265,19 @@ export namespace mockServices {
|
||||
) => ServiceMock<PermissionsService>;
|
||||
}
|
||||
// (undocumented)
|
||||
export namespace permissionsRegistry {
|
||||
const // (undocumented)
|
||||
factory: () => ServiceFactory<
|
||||
PermissionsRegistryService,
|
||||
'plugin',
|
||||
'singleton'
|
||||
>;
|
||||
const // (undocumented)
|
||||
mock: (
|
||||
partialImpl?: Partial<PermissionsRegistryService> | undefined,
|
||||
) => ServiceMock<PermissionsRegistryService>;
|
||||
}
|
||||
// (undocumented)
|
||||
export function rootConfig(options?: rootConfig.Options): RootConfigService;
|
||||
// (undocumented)
|
||||
export namespace rootConfig {
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<typeof createPermissionIntegrationRouter>
|
||||
| undefined;
|
||||
if (permissionIntegrations) {
|
||||
permissionIntegrations.addResourceType(catalogPermissionResource);
|
||||
if (permissionsRegistry) {
|
||||
permissionsRegistry.addResourceType(catalogPermissionResource);
|
||||
} else {
|
||||
permissionIntegrationRouter = createPermissionIntegrationRouter(
|
||||
catalogPermissionResource,
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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<Permission | Array<Permission>>): 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<CatalogPermissionExtensionPoint>({
|
||||
|
||||
Reference in New Issue
Block a user