From df55eceafde758b6ea35d4a0899844fcd4fd678d Mon Sep 17 00:00:00 2001 From: Mohammad Adnan <111442736+Mohammadadnan07@users.noreply.github.com> Date: Sat, 17 Feb 2024 08:58:34 +0530 Subject: [PATCH 1/6] Update Drone.model.js --- models/Drone.model.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/models/Drone.model.js b/models/Drone.model.js index 93e3ea9..955b92b 100644 --- a/models/Drone.model.js +++ b/models/Drone.model.js @@ -1 +1,12 @@ -// Iteration #1 \ No newline at end of file +// Iteration #1 +const {Schema, model} = require('mongoose'); + +const droneSchema = new Schema( { + name: String, + propellers: Number, + maxSpeed: Number, +}); + +const drone = model("drones", droneSchema); + +module.exports = drone; From d703ceb99fe2e214858a46ebcf76e5cd08efedb3 Mon Sep 17 00:00:00 2001 From: Mohammad Adnan <111442736+Mohammadadnan07@users.noreply.github.com> Date: Sat, 17 Feb 2024 08:59:40 +0530 Subject: [PATCH 2/6] Update drones.js --- routes/drones.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/routes/drones.js b/routes/drones.js index 51da515..6333fb0 100644 --- a/routes/drones.js +++ b/routes/drones.js @@ -6,31 +6,68 @@ const router = express.Router(); router.get('/drones', (req, res, next) => { // Iteration #2: List the drones // ... your code here + droneModel.find() + .then((drones) => { + res.render("drones/list.hbs", {drones}) + }).catch((err) => { + console.log('Failed!') + }); }); router.get('/drones/create', (req, res, next) => { // Iteration #3: Add a new drone // ... your code here + res.render("drones/create-form.hbs") }); router.post('/drones/create', (req, res, next) => { // Iteration #3: Add a new drone // ... your code here + const {name,propellers,maxSpeed} = req.body + droneModel.create({name,propellers,maxSpeed}) + .then((result) => { + res.redirect("/drones") + }).catch((err) => { + console.log('Failed!') + }); }); + router.get('/drones/:id/edit', (req, res, next) => { // Iteration #4: Update the drone // ... your code here + const {id} = req.params; + droneModel.findById(id) + .then((drones) => { + res.render('drones/update-form.hbs',{drones}) + }).catch((err) => { + console.log('Failed!') + }); }); router.post('/drones/:id/edit', (req, res, next) => { // Iteration #4: Update the drone // ... your code here + const {id} = req.params + const {name,propellers,maxSpeed} = req.body + droneModel.findByIdAndUpdate(id, {name,propellers,maxSpeed}) + .then((result) => { + res.redirect('/drones') + }).catch((err) => { + console.log('Failed!') + }); }); router.post('/drones/:id/delete', (req, res, next) => { // Iteration #5: Delete the drone // ... your code here + const {id} = req.params + droneModel.findByIdAndDelete(id) + .then((result) => { + res.redirect('/drones') + }).catch((err) => { + console.log('Failed!') + }); }); module.exports = router; From 84b18bf7c8214ed45b6c2f0fde27f5bb6f922184 Mon Sep 17 00:00:00 2001 From: Mohammad Adnan <111442736+Mohammadadnan07@users.noreply.github.com> Date: Sat, 17 Feb 2024 09:00:38 +0530 Subject: [PATCH 3/6] Update drones.seed.js --- seeds/drones.seed.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/seeds/drones.seed.js b/seeds/drones.seed.js index 4b29ecb..91ed9f9 100644 --- a/seeds/drones.seed.js +++ b/seeds/drones.seed.js @@ -1 +1,26 @@ // Iteration #1 +require ('../db') + + +const mongoose = require('mongoose'); +const droneModel = require ('../models/Drone.model') + +const dronesData = [ + + { name: "Creeper XL 500", propellers: 3, maxSpeed: 12 }, + + { name: "Racer 57", propellers: 4, maxSpeed: 20 }, + + { name: "Courier 3000i", propellers: 6, maxSpeed: 18 } + + ]; + +droneModel.create(dronesData) +.then((result) => { + console.log('Success!') +}).catch((err) => { + console.log('Failed!',err) +}) +.finally(() => { + mongoose.connection.close(); +}); From 25e9877a9730102b69da13f7f9009ab909711123 Mon Sep 17 00:00:00 2001 From: Mohammad Adnan <111442736+Mohammadadnan07@users.noreply.github.com> Date: Sat, 17 Feb 2024 09:02:16 +0530 Subject: [PATCH 4/6] Update create-form.hbs --- views/drones/create-form.hbs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/views/drones/create-form.hbs b/views/drones/create-form.hbs index 1a8197f..7ccb66b 100644 --- a/views/drones/create-form.hbs +++ b/views/drones/create-form.hbs @@ -1 +1,17 @@ -

Create a new drone

\ No newline at end of file +

Create a new drone

+
+
+ + +
+
+ + +
+
+ + +
+ + +
From ec935029e43d37a6a7f0a3e903ffb32069bf4ba9 Mon Sep 17 00:00:00 2001 From: Mohammad Adnan <111442736+Mohammadadnan07@users.noreply.github.com> Date: Sat, 17 Feb 2024 09:02:41 +0530 Subject: [PATCH 5/6] Update list.hbs --- views/drones/list.hbs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/views/drones/list.hbs b/views/drones/list.hbs index a2830d3..def5429 100644 --- a/views/drones/list.hbs +++ b/views/drones/list.hbs @@ -1 +1,17 @@ -

Available drones

\ No newline at end of file +

Available drones

+
+{{#each drones}} +
+
+
{{name}}
+
+ +
+ Update + Delete +
+
+{{/each}} From 31ad44faebad96fe12d8c361961ba3781414adc2 Mon Sep 17 00:00:00 2001 From: Mohammad Adnan <111442736+Mohammadadnan07@users.noreply.github.com> Date: Sat, 17 Feb 2024 09:03:04 +0530 Subject: [PATCH 6/6] Update update-form.hbs --- views/drones/update-form.hbs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/views/drones/update-form.hbs b/views/drones/update-form.hbs index 0a27dc3..0ab4c8c 100644 --- a/views/drones/update-form.hbs +++ b/views/drones/update-form.hbs @@ -1 +1,18 @@ -

Update the drone

\ No newline at end of file +

Update the drone

+
+
+
+ + +
+
+ + +
+
+ + +
+ + +