diff options
author | eug-vs <eug-vs@keemail.me> | 2020-12-02 02:22:38 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-12-02 02:22:38 +0300 |
commit | 4186fb51f66043b221237c7ba91ac5a95a4f32b0 (patch) | |
tree | 71657f367d899d0fbc165b3c50197d81b8d69007 /lib/event.schema.ts | |
parent | f6c5ac6632781d813a6e1f1ba957e7f9e4d70738 (diff) | |
download | mongo-cronjob-4186fb51f66043b221237c7ba91ac5a95a4f32b0.tar.gz |
feat: add log model
Diffstat (limited to 'lib/event.schema.ts')
-rw-r--r-- | lib/event.schema.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/event.schema.ts b/lib/event.schema.ts new file mode 100644 index 0000000..1bba77d --- /dev/null +++ b/lib/event.schema.ts @@ -0,0 +1,34 @@ +import { Schema, Document } from 'mongoose'; + +export interface EventDocument<Context> extends Document { + name: string; + schedule: string; + status: 'notStarted' | 'running' | 'complete' | 'failed'; + error?: string; + context: Context; + nextRunAt?: Date; + lastRunAt?: Date; +} + +const createEventSchema = (contextSchema: Schema) => new Schema({ + name: { + type: String, + required: true + }, + schedule: { + type: String, + required: true + }, + status: { + type: String, + default: 'notStarted' + }, + error: String, + context: contextSchema, + nextRunAt: Date, + lastRunAt: Date +}, { timestamps: true }); + + +export default createEventSchema; + |