From 972e0578f999aadb5924d84768e59445c92f167b Mon Sep 17 00:00:00 2001 From: eug-vs Date: Wed, 2 Dec 2020 00:29:25 +0300 Subject: feat: add schema and model --- lib/schema.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lib/schema.ts (limited to 'lib/schema.ts') diff --git a/lib/schema.ts b/lib/schema.ts new file mode 100644 index 0000000..4e5dd69 --- /dev/null +++ b/lib/schema.ts @@ -0,0 +1,35 @@ +import { Schema, Document } from 'mongoose'; + +export interface EventDocument 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, + unique: true + }, + schedule: { + type: String, + required: true + }, + status: { + type: String, + default: 'notStarted' + }, + error: String, + context: contextSchema, + nextRunAt: Date, + lastRunAt: Date +}, { timestamps: true }); + + +export default createEventSchema; + -- cgit v1.2.3