@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
34 lines (33 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cronjobSchema = exports.cronjobRepeatUnitList = exports.weekDays = void 0;
const mongoose_1 = require("mongoose");
const SystemTypes_1 = require("../interfaces/SystemTypes");
const Base_1 = require("./Base");
exports.weekDays = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
exports.cronjobRepeatUnitList = ["minute", "hour", "day", "month", "year"];
exports.cronjobSchema = new mongoose_1.Schema({
...Base_1.baseSchemaDefinitions,
name: { type: String },
// api request
url: String,
method: { type: String, enum: SystemTypes_1.requestMethodList },
params: Object,
body: Object,
headers: Object,
// schedule
nextRunAt: Date,
endDate: Date,
repeat: {
range: Number,
unit: { type: String, enum: exports.cronjobRepeatUnitList },
},
repeatCondition: {
atHours: [Number],
atMins: [Number],
atWeekDays: [{ type: String, enum: exports.weekDays }],
atDays: [Number],
atMonths: [Number],
},
history: [{ runAt: Date, status: { type: String, enum: SystemTypes_1.cronjobStatusList }, responseStatus: mongoose_1.Schema.Types.Mixed, message: String }],
}, { collection: "cronjobs", timestamps: true });