From 91784c9e8d6c0565d001f60d5969ea7618e4a61f Mon Sep 17 00:00:00 2001 From: eug-vs Date: Wed, 2 Dec 2020 03:09:53 +0300 Subject: feat: dynamically register handlers --- lib/event.model.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/event.model.ts') diff --git a/lib/event.model.ts b/lib/event.model.ts index a430674..7768ffc 100644 --- a/lib/event.model.ts +++ b/lib/event.model.ts @@ -4,11 +4,11 @@ import createEventSchema, { EventDocument } from './event.schema'; import { LogDocument } from './log.schema'; import LogModel from './log.model'; -interface Event extends EventDocument { +export interface Event extends EventDocument { log(message: string): void; start(): void; complete(): void; - fail(error: Error): void; + fail(error: Error | string): void; computeNextRunAt(): Date; getLogs(): Promise; } @@ -26,7 +26,7 @@ const createEventModel = (name: string, contextSchema: Schema): EventMo // Schema methods schema.method('log', function(message: string) { const timestamp = new Date().toLocaleString('en'); - console.log(`[${timestamp}] ${this.name}: ${message}`); + console.log(`[${timestamp}] ${this.type}: ${message}`); return LogModel.create({ eventId: this._id, message }); }); @@ -45,6 +45,7 @@ const createEventModel = (name: string, contextSchema: Schema): EventMo schema.method('fail', function(error: Error) { this.log(error); + this.log('Event failed'); this.error = error; this.status = 'failed'; return this.save(); -- cgit v1.2.3