From bcd15e10463a105eb4f36b7d5e20e7c8a124e942 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Thu, 19 Jan 2017 15:50:37 +0000 Subject: [PATCH] Include mod data in /workers/get-work --- webapp/controllers/workerapi.js | 17 +++++++++++------ webapp/models/database.js | 11 +++++++---- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/webapp/controllers/workerapi.js b/webapp/controllers/workerapi.js index 42770af..34f0868 100644 --- a/webapp/controllers/workerapi.js +++ b/webapp/controllers/workerapi.js @@ -16,17 +16,22 @@ router.get("/get-work", function(req, res) { limit: 1, where: { workerId: null - } + }, + include: [{ + model: db.Mod, + include: [db.User] + }] }).then(function(jobs) { if (jobs && jobs.length == 1) { var job = jobs[0] - job.workerId = worker.id - job.save() + // job.workerId = worker.id + // job.save() + + var mod = db.convertRowToMod(job.mod) res.send({ work: { - author: job.author, - basename: job.basename, - type: job.work_type + type: job.work_type, + mod: mod.toPlainDictionary() } }) } else { diff --git a/webapp/models/database.js b/webapp/models/database.js index 74120dc..4d6dbd6 100644 --- a/webapp/models/database.js +++ b/webapp/models/database.js @@ -43,12 +43,13 @@ var Worker = sequelize.define("worker", { }) var Work = sequelize.define("work", { - author: Sequelize.STRING(100), - basename: Sequelize.STRING(100), work_type: Sequelize.ENUM("fetch", "scan", "forum") }) +Mod.hasMany(Work) +Worker.hasMany(Worker) Work.belongsTo(Worker) +Work.belongsTo(Mod) const CMod = require("./../../common/mod") function convertRowToMod(row) { @@ -112,6 +113,8 @@ async.parallel([ approved: true } }).then(function(mod) { + mod = mod[0] + Worker.findOrCreate({ where: { token: "foobar" @@ -122,10 +125,10 @@ async.parallel([ Work.findOrCreate({ where: { - author: "rubenwardy", - basename: "awards", + modId: mod.id }, defaults: { + mod: mod, work_type: "fetch" } }).then(function(mod) {