import mongoose from "mongoose"; const { Schema } = mongoose; const printJobSchema = new mongoose.Schema({ state: { type: { required: true, type: String }, progress: { required: false, type: Number, default: 0 }, }, subJobStats : { required: false, type: Object }, printers: [{ type: Schema.Types.ObjectId, ref: "Printer", required: false }], createdAt: { required: true, type: Date }, updatedAt: { required: true, type: Date }, startedAt: { required: false, type: Date }, gcodeFile: { type: Schema.Types.ObjectId, ref: "GCodeFile", required: false, }, quantity: { type: Number, required: true, default: 1, min: 1, }, subJobs: [ {type: Schema.Types.ObjectId, ref: "PrintSubJob", required: false} ], }); printJobSchema.virtual("id").get(function () { return this._id.toHexString(); }); printJobSchema.set("toJSON", { virtuals: true }); export const printJobModel = mongoose.model("PrintJob", printJobSchema);