feat: move all signal handling to backend plugin

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
This commit is contained in:
Heikki Hellgren
2024-01-12 13:38:34 +02:00
parent 67ddf8d6d7
commit 169e3ffc1f
22 changed files with 392 additions and 358 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ export const signalApiRef = createApiRef<SignalApi>({
/** @public */
export type SignalApi = {
subscribe(
topic: string,
channel: string,
onMessage: (message: JsonObject) => void,
): { unsubscribe: () => void };
};
+3 -3
View File
@@ -19,7 +19,7 @@ import { JsonObject } from '@backstage/types';
import { useEffect, useState } from 'react';
/** @public */
export const useSignal = (topic: string) => {
export const useSignal = (channel: string) => {
const apiHolder = useApiHolder();
// Use apiHolder instead useApi in case signalApi is not available in the
// backstage instance this is used
@@ -28,7 +28,7 @@ export const useSignal = (topic: string) => {
useEffect(() => {
let unsub: null | (() => void) = null;
if (signals) {
const { unsubscribe } = signals.subscribe(topic, (msg: JsonObject) => {
const { unsubscribe } = signals.subscribe(channel, (msg: JsonObject) => {
setLastSignal(msg);
});
unsub = unsubscribe;
@@ -38,7 +38,7 @@ export const useSignal = (topic: string) => {
unsub();
}
};
}, [signals, topic]);
}, [signals, channel]);
return { lastSignal };
};