const db = require('../config/db.config.js'); const Level = db.level; const Course = db.course; /** * Create a level */ exports.createLevel = (req, res) => { Level.create({ name: req.body.name }).then(level => { // set created level as next_level to it's prev if (req.body.prev_level_id) { Level.find({ where: { id: req.body.prev_level_id } } ).then(prev_level => { prev_level.update({ next_level: level.id }) }).catch(err => { res.status(500).send("Error -> " + err); }); } // end of set created level as next_level to it's prev res.status(200).json({ "description": "Level Created Successfully", "level": level }); }).catch(err => { res.status(500).send("Fail! Error -> " + err); }) } /** * Get levels with it's courses */ exports.getLevels = (req, res) => { Level.findAll({ attributes: ['name'], include: [{ model: Course, }] }).then(levels => { res.status(200).json({ "description": "levels Page", "levels": levels }); }).catch(err => { res.status(500).json({ "description": "Can not access levels Page", "error": err }); }) } /** * Get levels with it's courses */ exports.getLevel = (req, res) => { Level.findOne({ where: { id: req.body.level_id }, attributes: ['name'], include: [{ model: Course, }] }).then(level => { res.status(200).json({ "description": "level page", "level": level }); }).catch(err => { res.status(500).json({ "description": "Can not access levels Page", "error": err }); }) }