import mongoose from "mongoose"; const { Schema } = mongoose; const printSubJobSchema = new mongoose.Schema({ printer: { type: Schema.Types.ObjectId, ref: "Printer", required: true }, printJob: { type: Schema.Types.ObjectId, ref: "PrintJob", required: true }, subJobId: { type: String, required: true }, gcodeFile: { type: Schema.Types.ObjectId, ref: "GCodeFile", required: true, }, state: { type: { required: true, type: String }, progress: { required: false, type: Number, default: 0 }, }, number: { type: Number, required: true }, createdAt: { type: Date, default: Date.now }, updatedAt: { type: Date, default: Date.now }, startedAt: { required: false, type: Date }, finishedAt: { required: false, type: Date }, }); printSubJobSchema.virtual("id").get(function () { return this._id.toHexString(); }); printSubJobSchema.set("toJSON", { virtuals: true }); export const printSubJobModel = mongoose.model("PrintSubJob", printSubJobSchema);