feat(events): Adds AcknowledgableEvent

This commit is contained in:
Michel Fedde 2025-06-22 15:51:14 +02:00
parent 6d7a0e7cfb
commit b82ab7dbc4
18 changed files with 228 additions and 77 deletions

View file

@ -1,17 +1,21 @@
import {EventHandler, TimedEvent} from "./EventHandler";
import {EventHandler, } from "./EventHandler";
import {Container} from "../Container/Container";
import {ReminderEvent} from "./ReminderEvent";
import {ElementCreatedEvent} from "./ElementCreatedEvent";
import {ReminderEvent} from "./Handlers/ReminderEvent";
import {ElementCreatedEvent} from "./EventClasses/ElementCreatedEvent";
import {sendCreatedNotificationEventHandler} from "./Handlers/SendCreatedNotification";
import {PlaydateModel} from "../Models/PlaydateModel";
import {TimedEvent} from "./EventHandler.types";
import {CleanupEvent} from "./Handlers/CleanupEvent";
import {Logger} from "log4js";
export class DefaultEvents {
public static setupTimed() {
const events: TimedEvent[] = [
new ReminderEvent()
]
const eventHandler = Container.get<EventHandler>(EventHandler.name);
const events: TimedEvent[] = [
new ReminderEvent(),
new CleanupEvent(eventHandler, Container.get<Logger>("logger"))
]
events.forEach((event) => {
eventHandler.addTimed(event);
@ -21,6 +25,9 @@ export class DefaultEvents {
public static setupHandlers() {
const eventHandler = Container.get<EventHandler>(EventHandler.name);
eventHandler.addHandler<ElementCreatedEvent<PlaydateModel>>(ElementCreatedEvent.name, sendCreatedNotificationEventHandler);
eventHandler.addHandler<ElementCreatedEvent<PlaydateModel>>(ElementCreatedEvent.name, {
method: sendCreatedNotificationEventHandler,
persistent: true
});
}
}