waJob.model.js 835 B

12345678910111213141516171819202122232425262728
  1. const mongoose = require('mongoose')
  2. const { Schema } = mongoose
  3. module.exports = mongoose.model(
  4. 'WaJob',
  5. new Schema(
  6. {
  7. templateId: { type: String, required: true },
  8. contacts: { type: Array, default: [] },
  9. body: { type: Array, default: [] },
  10. buttons: { type: Array, default: [] },
  11. context: { type: String, default: '' },
  12. status: {
  13. type: String,
  14. enum: ['pending', 'processing', 'sent', 'failed'],
  15. default: 'pending',
  16. index: true,
  17. },
  18. attempt: { type: Number, default: 0 },
  19. nextRunAt: { type: Date, default: Date.now, index: true },
  20. claimedAt: { type: Date, default: null },
  21. lastError: { type: String, default: null },
  22. response: { type: Schema.Types.Mixed, default: null },
  23. },
  24. { timestamps: true }
  25. ),
  26. 'wa_job'
  27. )