Skip to content

Commit 735d77d

Browse files
author
Hans-Martin Schuller
committed
filter last minute courses by number of participants
1 parent f3e7546 commit 735d77d

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

server/service/CoursesService.js

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -230,11 +230,14 @@ exports.coursesLastminuteGET = function() {
230230
Courses
231231
.forge()
232232
.query(function(qb) {
233-
qb.whereBetween('KURS_BEGINN', [moment().format('YYYY-MM-DD'), moment().add(6, 'weeks').format('YYYY-MM-DD')])
233+
qb.whereBetween('KURS_BEGINN', [moment().format('YYYY-MM-DD'), moment().add(6, 'weeks').format('YYYY-MM-DD')]);
234234
})
235-
.fetchAll()
236-
.then((course) => {
237-
resolve(course.map(item => item.attributes));
235+
.fetchAll({withRelated: ["applications"]})
236+
.then((courses) => {
237+
resolve(courses
238+
.filter(item => item.related('applications').toJSON().length < item.attributes.KURS_TEIL_MAX)
239+
.map(item => item.attributes)
240+
)
238241
})
239242
.catch((error) => {
240243
reject(error);
@@ -285,8 +288,20 @@ if (process.env.NODE_ENV === 'test') {
285288

286289
Promise.all(courses.invokeMap('save'))
287290
.then((data) => {
288-
console.log("Finished Setting up Last Minute Content in Table vhslq_kurse")
289-
resolve("done");
291+
let courseIDs = data.map(item => item.attributes.id);
292+
let fullCourse = courseIDs[2];
293+
let _Applications = require('../utils/database').Applications
294+
let applications = _Applications.forge([
295+
generateApplicationFor(1222313, fullCourse),
296+
generateApplicationFor(1222312, fullCourse)
297+
])
298+
Promise.all(applications.invokeMap('save')).then(() => {
299+
console.log("Finished Setting up Last Minute Content in Table vhslq_kurse")
300+
resolve("done");
301+
}).catch((error) => {
302+
console.log(error)
303+
reject(error);
304+
})
290305
})
291306
.catch((error) => {
292307
reject(error);

0 commit comments

Comments
 (0)