diff --git a/database/migrations/20200625001209_create-table.js b/database/migrations/20200625001209_create-table.js new file mode 100644 index 0000000..8a790f5 --- /dev/null +++ b/database/migrations/20200625001209_create-table.js @@ -0,0 +1,18 @@ +exports.up = function(knex) { + return ( + knex.schema + .alterTable('task-categories', table => { + table.integer('task_id') + .unsigned() + .notNullable() + .references('id') + .inTable('tasks') + .onUpdate('CASCADE') + .onDelete('CASCADE'); + }) + ) +}; + +exports.down = function(knex) { + +}; diff --git a/users/users-router.js b/users/users-router.js index 745187c..1bef3d7 100644 --- a/users/users-router.js +++ b/users/users-router.js @@ -87,17 +87,20 @@ router.put('/tasks/:id', restricted, (req, res) => { router.delete('/tasks/:id', restricted, (req, res) => { const { id } = req.params; - Tasks.remove(id) - .then(deleted => { - if (deleted) { - res.json({ removed: deleted }); + Tasks.findById(id) + .then(task => { + if (task) { + Tasks.remove(id) + .then(deleted => { + res.json({ removed: deleted }); + }) } else { - res.status(404).json({ message: 'Could not find task with given id' }); + res.status(404).json({message: 'Could not find task with given id'}) } }) .catch(err => { - res.status(500).json({ message: 'Failed to delete task' }); - }); + res.statusMessage(500).json({message: 'Failed to delete task'}) + }) }); //Validate Middleware