33 lines
No EOL
1.1 KiB
TypeScript
33 lines
No EOL
1.1 KiB
TypeScript
import {EventHandler, } from "./EventHandler";
|
|
import {Container} from "../Container/Container";
|
|
import {ReminderEvent} from "./Handlers/ReminderEvent";
|
|
import {ElementCreatedEvent} from "./EventClasses/ElementCreatedEvent";
|
|
import {sendCreatedNotificationEventHandler} from "./Handlers/SendCreatedNotification";
|
|
import {PlaydateModel} from "../Database/Models/PlaydateModel";
|
|
import {TimedEvent} from "./EventHandler.types";
|
|
import {CleanupEvent} from "./Handlers/CleanupEvent";
|
|
import {Logger} from "log4js";
|
|
|
|
export class DefaultEvents {
|
|
public static setupTimed() {
|
|
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);
|
|
})
|
|
}
|
|
|
|
public static setupHandlers() {
|
|
const eventHandler = Container.get<EventHandler>(EventHandler.name);
|
|
|
|
eventHandler.addHandler<ElementCreatedEvent<PlaydateModel>>(ElementCreatedEvent.name, {
|
|
method: sendCreatedNotificationEventHandler,
|
|
persistent: true
|
|
});
|
|
}
|
|
} |