const Agenda = require('agenda'); const { getConnection } = require('../../connectDb.js'); class Events { setup(app) { this.collectionName = 'events'; const connection = getConnection(); this.agenda = new Agenda(); this.agenda.mongo( connection.collection(this.collectionName).conn.db, this.collectionName ); this.defineJobs(); return this.agenda.start(); }; defineJobs() { this.agenda.define('attend class', async job => { console.log('Running attend class job with attrs:'); console.log(job.attrs); }); }; async create(data, params) { return this.agenda.schedule(data.date, 'attend class', { data }); }; } module.exports = app => app.use('/events', new Events());