From 97e6906d323c3e839c932c68d3cf21e31cc6aef1 Mon Sep 17 00:00:00 2001 From: Aaron Williams Date: Thu, 25 Jun 2020 00:27:35 -0700 Subject: [PATCH 1/2] Updated cat-task table to handle delete --- .../migrations/20200625001209_create-table.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 database/migrations/20200625001209_create-table.js 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) { + +}; From be89bac469a93c70a107fbfef0f704bf9760f88b Mon Sep 17 00:00:00 2001 From: Aaron Williams Date: Thu, 25 Jun 2020 00:28:15 -0700 Subject: [PATCH 2/2] Added findById to delete task --- users/users-router.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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