Adds Event system and automatic messages
This commit is contained in:
parent
0e10ea3cab
commit
2f826fbf36
20 changed files with 428 additions and 18 deletions
27
source/Events/DefaultEvents.ts
Normal file
27
source/Events/DefaultEvents.ts
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import {EventHandler, TimedEvent} from "./EventHandler";
|
||||
import {Container} from "../Container/Container";
|
||||
import {ReminderEvent} from "./ReminderEvent";
|
||||
import {ElementCreatedEvent} from "./ElementCreatedEvent";
|
||||
import {ClassNamed} from "../types/Class";
|
||||
import {sendCreatedNotificationEventHandler} from "./Handlers/SendCreatedNotification";
|
||||
import {PlaydateModel} from "../Models/PlaydateModel";
|
||||
|
||||
export class DefaultEvents {
|
||||
public static setupTimed() {
|
||||
const events: TimedEvent[] = [
|
||||
new ReminderEvent()
|
||||
]
|
||||
|
||||
const eventHandler = Container.get<EventHandler>(EventHandler.name);
|
||||
|
||||
events.forEach((event) => {
|
||||
eventHandler.addTimed(event);
|
||||
})
|
||||
}
|
||||
|
||||
public static setupHandlers() {
|
||||
const eventHandler = Container.get<EventHandler>(EventHandler.name);
|
||||
|
||||
eventHandler.addHandler<ElementCreatedEvent<PlaydateModel>>(ElementCreatedEvent.name, sendCreatedNotificationEventHandler);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue