farmcontrol-api/src/schemas/subjob.schema.js

54 lines
1017 B
JavaScript

import mongoose from "mongoose";
const { Schema } = mongoose;
const subJobSchema = new mongoose.Schema({
printer: {
type: Schema.Types.ObjectId,
ref: "Printer",
required: true,
},
job: {
type: Schema.Types.ObjectId,
ref: "Job",
required: true,
},
subJobId: {
type: String,
required: true,
},
gcodeFile: {
type: Schema.Types.ObjectId,
ref: "GCodeFile",
required: true,
},
state: {
type: { required: true, type: String },
percent: { required: false, type: Number },
},
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 },
});
subJobSchema.virtual("id").get(function () {
return this._id.toHexString();
});
subJobSchema.set("toJSON", { virtuals: true });
export const subJobModel = mongoose.model(
"SubJob",
subJobSchema,
);