UNPKG

@backstage-community/plugin-rbac-backend

Version:
65 lines (60 loc) 1.96 kB
import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api'; import { LoggerService, DiscoveryService, AuthService, UserInfoService, HttpAuthService, AuditorService, LifecycleService, PermissionsRegistryService, PermissionsService } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; import express, { Router } from 'express'; import { PermissionEvaluator } from '@backstage/plugin-permission-common'; import { PluginIdProvider, RBACProvider } from '@backstage-community/plugin-rbac-node'; export { PluginIdProvider } from '@backstage-community/plugin-rbac-node'; import { PolicyExtensionPoint } from '@backstage/plugin-permission-node/alpha'; /** * @public */ interface RouterOptions { logger: LoggerService; config: Config; } /** * @public */ declare function createRouter(options: RouterOptions): Promise<express.Router>; /** * @public */ type EnvOptions = { config: Config; logger: LoggerService; discovery: DiscoveryService; permissions: PermissionEvaluator; auth: AuthService; userInfo: UserInfoService; httpAuth: HttpAuthService; auditor: AuditorService; lifecycle: LifecycleService; permissionsRegistry: PermissionsRegistryService; policy: PolicyExtensionPoint; }; /** * @public */ type RBACRouterOptions = { config: Config; logger: LoggerService; auth: AuthService; httpAuth: HttpAuthService; permissions: PermissionsService; permissionsRegistry: PermissionsRegistryService; auditor: AuditorService; }; /** * @public */ declare class PolicyBuilder { static build(env: EnvOptions, pluginIdProvider?: PluginIdProvider, rbacProviders?: Array<RBACProvider>): Promise<Router>; } /** * @public * RBAC plugin * */ declare const rbacPlugin: _backstage_backend_plugin_api.BackendFeature; export { type EnvOptions, PolicyBuilder, type RBACRouterOptions, type RouterOptions, createRouter, rbacPlugin as default };