lexguard-backend / src /models /QueueJob.js
github-actions[bot]
Deploy to Hugging Face
b921752
Raw
History Blame Contribute Delete
909 Bytes
const mongoose = require('mongoose');
const queueJobSchema = new mongoose.Schema(
{
contractId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Contract',
required: true,
index: true,
},
status: {
type: String,
enum: ['queued', 'processing', 'completed', 'failed'],
default: 'queued',
index: true,
},
progress: {
type: Number,
default: 0,
min: 0,
max: 100,
},
step: {
type: String,
default: 'Initializing analysis',
},
error: {
type: String,
default: null,
},
lockedAt: {
type: Date,
default: null,
},
lockedBy: {
type: String, // e.g. worker ID or process ID
default: null,
},
attempts: {
type: Number,
default: 0,
},
},
{ timestamps: true }
);
module.exports = mongoose.model('QueueJob', queueJobSchema);