minor refactor

This commit is contained in:
nflnkr 2023-03-29 17:17:00 +03:00
parent 6a19103bf9
commit e99ef8b47c

@ -11,12 +11,8 @@ export function subscribeToAllTickets({ onMessage, onError, accessToken }: {
onError: (e: Event) => void;
}) {
const url = `${supportApiUrl}/subscribe?Authorization=${accessToken}`;
const eventSource = new ReconnectingEventSource(url);
eventSource.addEventListener("open", () => console.log(`EventSource connected with ${url}`));
eventSource.addEventListener("close", () => console.log(`EventSource closed with ${url}`));
eventSource.addEventListener("message", onMessage);
eventSource.addEventListener("error", onError);
const eventSource = createEventSource(onMessage, onError, url);
return () => {
eventSource.close();
@ -30,12 +26,8 @@ export function subscribeToTicketMessages({ onMessage, onError, accessToken, tic
onError: (e: Event) => void;
}) {
const url = `${supportApiUrl}/ticket?ticket=${ticketId}&Authorization=${accessToken}`;
const eventSource = new ReconnectingEventSource(url);
eventSource.addEventListener("open", () => console.log(`EventSource connected with ${url}`));
eventSource.addEventListener("close", () => console.log(`EventSource closed with ${url}`));
eventSource.addEventListener("message", onMessage);
eventSource.addEventListener("error", onError);
const eventSource = createEventSource(onMessage, onError, url);
return () => {
eventSource.close();
@ -83,4 +75,15 @@ export async function sendTicketMessage({ body }: {
useToken: true,
body,
});
}
function createEventSource(onMessage: (e: MessageEvent) => void, onError: (e: Event) => void, url: string) {
const eventSource = new ReconnectingEventSource(url);
eventSource.addEventListener("open", () => console.log(`EventSource connected with ${url}`));
eventSource.addEventListener("close", () => console.log(`EventSource closed with ${url}`));
eventSource.addEventListener("message", onMessage);
eventSource.addEventListener("error", onError);
return eventSource;
}