summaryrefslogtreecommitdiff
path: root/src/services/events
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/events')
-rw-r--r--src/services/events/event.service.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/services/events/event.service.js b/src/services/events/event.service.js
new file mode 100644
index 0000000..5c5bcff
--- /dev/null
+++ b/src/services/events/event.service.js
@@ -0,0 +1,35 @@
+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());
+