fix: useEventBus by propagating config to DefaultEventsService
This setting was added by reading from an optional `config` argument. This was never passed, so `auto` was always assumed. https://github.com/backstage/backstage/pull/27227/files#diff-cffd40a187b4fc584f03c968517fbacc110bde6a467f2384bbd92b803d3db47eR374-R379 Signed-off-by: RedlineTriad <39059512+RedlineTriad@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend': patch
|
||||
'@backstage/plugin-events-node': patch
|
||||
---
|
||||
|
||||
Fix `events.useEventBus` by propagating config to `DefaultEventsService`
|
||||
@@ -73,9 +73,10 @@ function makeCreateEnv(config: Config) {
|
||||
discovery,
|
||||
});
|
||||
|
||||
const eventsService = DefaultEventsService.create({ logger: root });
|
||||
const eventsService = DefaultEventsService.create({ logger: root, config });
|
||||
const eventBroker = new DefaultEventBroker(
|
||||
root.child({ type: 'plugin' }),
|
||||
config,
|
||||
eventsService,
|
||||
);
|
||||
const signalsService = DefaultSignalsService.create({
|
||||
|
||||
@@ -18,7 +18,7 @@ import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
// @public @deprecated
|
||||
export class DefaultEventBroker implements EventBroker {
|
||||
// @deprecated
|
||||
constructor(logger: LoggerService, events?: EventsService);
|
||||
constructor(logger: LoggerService, config?: Config, events?: EventsService);
|
||||
// (undocumented)
|
||||
publish(params: EventParams): Promise<void>;
|
||||
// (undocumented)
|
||||
@@ -29,7 +29,7 @@ export class DefaultEventBroker implements EventBroker {
|
||||
|
||||
// @public @deprecated
|
||||
export class EventsBackend {
|
||||
constructor(logger: Logger);
|
||||
constructor(logger: Logger, config?: Config);
|
||||
// (undocumented)
|
||||
addPublishers(
|
||||
...publishers: Array<EventPublisher | Array<EventPublisher>>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
import { LoggerService } from '@backstage/backend-plugin-api';
|
||||
import { Config } from '@backstage/config';
|
||||
import {
|
||||
DefaultEventsService,
|
||||
EventBroker,
|
||||
@@ -41,8 +42,8 @@ export class DefaultEventBroker implements EventBroker {
|
||||
* An instance can be passed (required for a mixed mode), otherwise a new instance gets created internally.
|
||||
* @deprecated use `DefaultEventsService` directly instead
|
||||
*/
|
||||
constructor(logger: LoggerService, events?: EventsService) {
|
||||
this.events = events ?? DefaultEventsService.create({ logger });
|
||||
constructor(logger: LoggerService, config?: Config, events?: EventsService) {
|
||||
this.events = events ?? DefaultEventsService.create({ logger, config });
|
||||
}
|
||||
|
||||
async publish(params: EventParams): Promise<void> {
|
||||
|
||||
@@ -21,6 +21,7 @@ import {
|
||||
} from '@backstage/plugin-events-node';
|
||||
import { Logger } from 'winston';
|
||||
import { DefaultEventBroker } from './DefaultEventBroker';
|
||||
import { Config } from '@backstage/config';
|
||||
|
||||
/**
|
||||
* A builder that helps wire up all component parts of the event management.
|
||||
@@ -33,8 +34,8 @@ export class EventsBackend {
|
||||
private publishers: EventPublisher[] = [];
|
||||
private subscribers: EventSubscriber[] = [];
|
||||
|
||||
constructor(logger: Logger) {
|
||||
this.eventBroker = new DefaultEventBroker(logger);
|
||||
constructor(logger: Logger, config?: Config) {
|
||||
this.eventBroker = new DefaultEventBroker(logger, config);
|
||||
}
|
||||
|
||||
setEventBroker(eventBroker: EventBroker): EventsBackend {
|
||||
|
||||
@@ -27,7 +27,7 @@ import { DefaultEventsService } from '@backstage/plugin-events-node';
|
||||
|
||||
function makeCreateEnv(config: Config) {
|
||||
// ...
|
||||
const eventsService = DefaultEventsService.create({ logger: root });
|
||||
const eventsService = DefaultEventsService.create({ logger: root, config });
|
||||
// ...
|
||||
return (plugin: string): PluginEnvironment => {
|
||||
// ...
|
||||
|
||||
@@ -42,9 +42,10 @@ export const eventsServiceFactory = createServiceFactory({
|
||||
logger: coreServices.logger,
|
||||
lifecycle: coreServices.lifecycle,
|
||||
auth: coreServices.auth,
|
||||
config: coreServices.rootConfig,
|
||||
},
|
||||
async createRootContext({ rootLogger }) {
|
||||
return DefaultEventsService.create({ logger: rootLogger });
|
||||
async createRootContext({ rootLogger, config }) {
|
||||
return DefaultEventsService.create({ logger: rootLogger, config });
|
||||
},
|
||||
async factory(
|
||||
{ pluginMetadata, discovery, logger, lifecycle, auth },
|
||||
|
||||
Reference in New Issue
Block a user