Prevent webhooks from registering twice (#14163)

Fixes #13933
This commit is contained in:
Rijk van Zanten
2022-06-28 15:40:59 -04:00
committed by GitHub
parent 7d01e8e4e2
commit 23de088037

View File

@@ -7,16 +7,21 @@ import { WebhooksService } from './services';
import { getSchema } from './utils/get-schema';
import { ActionHandler } from '@directus/shared/types';
import { getMessenger } from './messenger';
import { JobQueue } from './utils/job-queue';
let registered: { event: string; handler: ActionHandler }[] = [];
const reloadQueue = new JobQueue();
export async function init(): Promise<void> {
await register();
const messenger = getMessenger();
messenger.subscribe('webhooks', (event) => {
if (event.type === 'reload') {
reload();
reloadQueue.enqueue(async () => {
await reload();
});
}
});
}