tweak exports to allow decoupling of backend plugins
Signed-off-by: Brian Fletcher <brian@roadie.io>
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
```ts
|
||||
import { Config } from '@backstage/config';
|
||||
import { EventBroker } from '@backstage/plugin-events-node';
|
||||
import { EventParams } from '@backstage/plugin-events-node';
|
||||
import { EventPublisher } from '@backstage/plugin-events-node';
|
||||
import { EventSubscriber } from '@backstage/plugin-events-node';
|
||||
import express from 'express';
|
||||
@@ -42,4 +43,15 @@ export class HttpPostIngressEventPublisher implements EventPublisher {
|
||||
// (undocumented)
|
||||
setEventBroker(eventBroker: EventBroker): Promise<void>;
|
||||
}
|
||||
|
||||
// @public
|
||||
export class InMemoryEventBroker implements EventBroker {
|
||||
constructor(logger: Logger);
|
||||
// (undocumented)
|
||||
publish(params: EventParams): Promise<void>;
|
||||
// (undocumented)
|
||||
subscribe(
|
||||
...subscribers: Array<EventSubscriber | Array<EventSubscriber>>
|
||||
): void;
|
||||
}
|
||||
```
|
||||
|
||||
@@ -22,3 +22,4 @@
|
||||
|
||||
export { EventsBackend } from './service/EventsBackend';
|
||||
export { HttpPostIngressEventPublisher } from './service/http';
|
||||
export { InMemoryEventBroker } from './service/InMemoryEventBroker';
|
||||
|
||||
@@ -25,6 +25,8 @@ import { Logger } from 'winston';
|
||||
* In-memory event broker which will pass the event to all registered subscribers
|
||||
* interested in it.
|
||||
* Events will not be persisted in any form.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
// TODO(pjungermann): add prom metrics? (see plugins/catalog-backend/src/util/metrics.ts, etc.)
|
||||
export class InMemoryEventBroker implements EventBroker {
|
||||
|
||||
@@ -107,7 +107,7 @@ export class HttpPostIngressEventPublisher implements EventPublisher {
|
||||
return;
|
||||
}
|
||||
|
||||
const eventPayload = request.body;
|
||||
const eventPayload = request;
|
||||
await this.eventBroker!.publish({
|
||||
topic,
|
||||
eventPayload,
|
||||
|
||||
Reference in New Issue
Block a user