StMarkSchoolApplication / app / controller / materialController.js
materialController.js
Raw
const db = require('../config/db.config.js');
const finishedMaterials = db.material_done

/**
 * Get Materials 
 */
exports.getMaterials = (req, res) => {
    db.sequelize.query("SELECT * FROM (SELECT * FROM materials where lesson_id = " + req.headers['lesson-id']  + ") as m LEFT JOIN (SELECT material_id FROM finished_materials where user_id = " + req.userId + ") fm ON m.id = fm.material_id;")
    .then(materials => {
        for(i in materials[0]) {
            materials[0][i].finished = materials[0][i].material_id === null ? false : true
        }
		res.status(200).json({
			"description": "Lessons Page",
			"courses": materials[0]
		});
	}).catch(err => {
		res.status(500).json({
			"description": "Can not access courses Page",
			"error": err
		});
	})
}

/**
 * Mark Material as finished 
 */
exports.markMaterial = (req, res) => {
	finishedMaterials.create({
        user_id: req.userId,
        material_id: req.body.material_id
	}).then(result => {
		// end of set created level as next_level to it's prev
		res.status(200).json({
			"description": "Course Enrolled",
			"result": result
		});
	}).catch(err => {
		res.status(500).send("Fail! Error -> " + err);
	})
}