Merge pull request #24376 from marleypowell/marley/provide-default-events-factory

fix: added `eventsServiceFactory` to `defaultServiceFactories`
This commit is contained in:
Ben Lambert
2024-05-07 12:46:35 +02:00
committed by GitHub
11 changed files with 60 additions and 16 deletions
+7
View File
@@ -4,6 +4,7 @@
```ts
import { LoggerService } from '@backstage/backend-plugin-api';
import { ServiceFactory } from '@backstage/backend-plugin-api';
import { ServiceRef } from '@backstage/backend-plugin-api';
// @public
@@ -61,6 +62,12 @@ export interface EventsService {
// @public (undocumented)
export type EventsServiceEventHandler = (params: EventParams) => Promise<void>;
// @public (undocumented)
export const eventsServiceFactory: () => ServiceFactory<
EventsService,
'plugin'
>;
// @public
export const eventsServiceRef: ServiceRef<EventsService, 'plugin'>;
+1 -1
View File
@@ -22,4 +22,4 @@
export * from './api';
export * from './deprecated';
export { eventsServiceRef } from './service';
export { eventsServiceRef, eventsServiceFactory } from './service';
+15 -14
View File
@@ -30,18 +30,19 @@ import { EventsService, DefaultEventsService } from './api';
export const eventsServiceRef = createServiceRef<EventsService>({
id: 'events.service',
scope: 'plugin',
defaultFactory: async service =>
createServiceFactory({
service,
deps: {
pluginMetadata: coreServices.pluginMetadata,
rootLogger: coreServices.rootLogger,
},
async createRootContext({ rootLogger }) {
return DefaultEventsService.create({ logger: rootLogger });
},
async factory({ pluginMetadata }, eventsService) {
return eventsService.forPlugin(pluginMetadata.getId());
},
}),
});
/** @public */
export const eventsServiceFactory = createServiceFactory({
service: eventsServiceRef,
deps: {
pluginMetadata: coreServices.pluginMetadata,
rootLogger: coreServices.rootLogger,
},
async createRootContext({ rootLogger }) {
return DefaultEventsService.create({ logger: rootLogger });
},
async factory({ pluginMetadata }, eventsService) {
return eventsService.forPlugin(pluginMetadata.getId());
},
});