From 878a992c7b907878753c2bae717438833a7a567a Mon Sep 17 00:00:00 2001 From: Garance Buricatu Date: Fri, 5 Feb 2021 19:35:12 -0500 Subject: [PATCH] mongoose advanced querying & relationships --- _data/bootcamps.json | 12 +- controllers/bootcamps.js | 58 ++++++++- controllers/courses.js | 115 ++++++++++++++++++ models/Bootcamp.js | 23 ++++ models/Course.js | 42 +++++++ package-lock.json | 71 +++++++++++ package.json | 1 + .../photo_5d725a1b7b292f5f8ceff788.jpg | Bin 0 -> 68716 bytes routes/bootcamps.js | 18 ++- routes/courses.js | 11 ++ server.js | 10 ++ 11 files changed, 346 insertions(+), 15 deletions(-) create mode 100644 controllers/courses.js create mode 100644 public/uploads/photo_5d725a1b7b292f5f8ceff788.jpg create mode 100644 routes/courses.js diff --git a/_data/bootcamps.json b/_data/bootcamps.json index da806f1..c117ee8 100644 --- a/_data/bootcamps.json +++ b/_data/bootcamps.json @@ -12,8 +12,7 @@ "housing": true, "jobAssistance": true, "jobGuarantee": false, - "acceptGi": true, - "averageCost": 10000 + "acceptGi": true }, { "_id": "5d713a66ec8f2b88b8f830b8", @@ -28,8 +27,7 @@ "housing": false, "jobAssistance": true, "jobGuarantee": false, - "acceptGi": true, - "averageCost": 12000 + "acceptGi": true }, { "_id": "5d725a037b292f5f8ceff787", @@ -44,8 +42,7 @@ "housing": false, "jobAssistance": false, "jobGuarantee": false, - "acceptGi": false, - "averageCost": 8000 + "acceptGi": false }, { "_id": "5d725a1b7b292f5f8ceff788", @@ -65,7 +62,6 @@ "housing": false, "jobAssistance": true, "jobGuarantee": true, - "acceptGi": true, - "averageCost": 5000 + "acceptGi": true } ] diff --git a/controllers/bootcamps.js b/controllers/bootcamps.js index acf7a25..4fe6f27 100644 --- a/controllers/bootcamps.js +++ b/controllers/bootcamps.js @@ -1,9 +1,8 @@ -const geocider = require('../utils/geocoder'); const Bootcamp = require('../models/Bootcamp'); const ErrorResponse = require('../utils/errorResponse'); const asyncHandler = require('../middleware/async'); const geocoder = require('../utils/geocoder'); -const { remove } = require('../models/Bootcamp'); +const path = require('path'); //core node module /** * NOTES @@ -44,7 +43,7 @@ exports.getBootcamps = asyncHandler(async (req, res, next) => { queryStr = queryStr.replace(/\b(gt|gte|lt|lte|in)\b/g, match => `$${match}`); // Finding resource - query = Bootcamp.find(JSON.parse(queryStr)); //queryString is a string, needs to be a JS object + query = Bootcamp.find(JSON.parse(queryStr)).populate('courses'); //queryString is a string, needs to be a JS object // Select Fields ie. ?select=name,description will return only name and description of all entries if (req.query.select) { @@ -157,10 +156,16 @@ exports.updateBootcamp = asyncHandler(async (req, res, next) => { // @route DELETE /api/v1/bootcamps/:id // @access Private exports.deleteBootcamp = asyncHandler(async (req, res, next) => { - const bootcamp = await Bootcamp.findByIdAndDelete(req.params.id); + // const bootcamp = await Bootcamp.findByIdAndDelete(req.params.id); --> "findbyIdAndDelete" will not trigger the delete middleware in Bootcamp.js model + + // INSTEAD, 1. get the bootcamp + const bootcamp = await Bootcamp.findById(req.params.id); if (!bootcamp) return next(new ErrorResponse(`Bootcamp not found with id of ${req.params.id}`, 404)); + // 2. this will trigger middleware + bootcamp.remove(); + res.status(200).json({success: true, data: {}}); }); @@ -189,4 +194,49 @@ exports.getBootcampsInRadius = asyncHandler(async (req, res, next) => { count: bootcamps.length, data: bootcamps }); +}); + +// @desc Upload a photo for bootcamp +// @route PUT /api/v1/bootcamps/:id/photo +// @access Private +exports.bootcampPhotoUpload = asyncHandler(async (req, res, next) => { + + const bootcamp = await Bootcamp.findById(req.params.id); + + if (!bootcamp) return next(new ErrorResponse(`Bootcamp not found with id of ${req.params.id}`, 404)); + + if (!req.files) return next(new ErrorResponse(`Please uoload file`, 400)); + + // console.log(req.files); --> see how file is sent by postman + + const file = req.files.file; + + // Make sure the image is a photo + if (!file.mimetype.startsWith('image')) { + return next(new ErrorResponse(`Please upload an image file`, 400)); + } + + // Check file size + if (file.size > process.env.MAX_FILE_UPLOAD) { + return next(new ErrorResponse(`Please upload an image less than ${process.env.MAX_FILE_UPLOAD}`, 400)); + } + + // Need to change file name (in case someone adds another photo with same name, it won't get overwritten) + file.name = `photo_${bootcamp._id}${path.parse(file.name).ext}`; // get extension of file name before changing it + + //console.log(file.name); + + file.mv(`${process.env.FILE_UPLOAD_PATH}/${file.name}`, async err => { + if (err){ + console.error(err); + return next(new ErrorResponse(`Problem with file upload`, 500)); + } + + await Bootcamp.findByIdAndUpdate(req.params.id, { photo: file.name }); + + res.status(200).json({ + success: true, + data: file.name + }) + }); }); \ No newline at end of file diff --git a/controllers/courses.js b/controllers/courses.js new file mode 100644 index 0000000..6fca544 --- /dev/null +++ b/controllers/courses.js @@ -0,0 +1,115 @@ +const Course = require('../models/Course'); +const Bootcamp = require('../models/Bootcamp'); +const ErrorResponse = require('../utils/errorResponse'); +const asyncHandler = require('../middleware/async'); + +// @desc Get all courses +// @route GET /api/v1/courses +// @route GET /api/v1/bootcamps/:bootcampid/courses +// @access Public + +exports.getCourses = asyncHandler(async (req, res, next) => { + let query; + + if (req.params.bootcampId) { + query = Course.find({ bootcamp: req.params.bootcampId}); + } + else { + query = Course.find().populate({ // populate the course's bootcamp field with the bootcamp name and description + path: 'bootcamp', + select: 'name description' + }); + } + + const courses = await query; + + res.status(200).json({ + success: true, + count: courses.length, + data: courses + }); +}); + +// @desc Get single course by id +// @route GET /api/v1/courses/:id +// @access Public + +exports.getCourse = asyncHandler(async (req, res, next) => { + const course = await Course.findById(req.params.id).populate({ + path: 'bootcamp', + select: 'name description' + }); + + if (!course) { + return next(new ErrorResponse(`No course with id of ${req.params.id}`), 404); + } + + res.status(200).json({ + success: true, + data: course + }); +}); + +// @desc Add course +// @route POST /api/v1/bootcamps/:bootcampid/courses +// @access Private + +exports.addCourse = asyncHandler(async (req, res, next) => { + req.body.bootcamp = req.params.bootcampId; //req.body.bootcamp refers to the 'bootcamp' field in the Course model + + const bootcamp = await Bootcamp.findById(req.params.bootcampId); + + if (!bootcamp) { + return next(new ErrorResponse(`No bootcamp with id of ${req.params.bootcampId}`), 404); + } + + const course = await Course.create(req.body); + + res.status(200).json({ + success: true, + data: course + }); + }); + +// @desc Update a course +// @route PUT /api/v1/courses/:id +// @access Private + +exports.updateCourse = asyncHandler(async (req, res, next) => { + + let course = await Course.findById(req.params.id); + + if (!course) { + return next(new ErrorResponse(`No course with id of ${req.params.id}`), 404); + } + + course = await Course.findByIdAndUpdate(req.params.id, req.body, { + new: true, + runValidators: true + }); + + res.status(200).json({ + success: true, + data: course + }); + }); + + // @desc Delete a course +// @route DELETE /api/v1/courses/:id +// @access Private + +exports.deleteCourse = asyncHandler(async (req, res, next) => { + + const course = await Course.findById(req.params.id); + + if (!course) { + return next(new ErrorResponse(`No course with id of ${req.params.id}`), 404); + } + + await course.remove(); // cannot use findByIdAndDelete due to course middleware + + res.status(200).json({ + success: true, + data: {} + }); + }); \ No newline at end of file diff --git a/models/Bootcamp.js b/models/Bootcamp.js index 0ae1765..21d924e 100644 --- a/models/Bootcamp.js +++ b/models/Bootcamp.js @@ -99,6 +99,9 @@ const BootcampSchema = new mongoose.Schema({ type: Date, default: Date.now } +}, { + toJSON: { virtuals: true}, + toObject: { virtuals: true } }); /** @@ -139,4 +142,24 @@ BootcampSchema.pre('save', async function(next) { next(); }); +// Cascade delete courses when bootcamp is deleted (if bootcamp is deleted, delete all cooresponding courses) +BootcampSchema.pre('remove', async function (next) { + console.log(`Courses are being removed from bootcamp ${this._id}`); + + // Delete courses with bootcamp field = this._id (current bootcamp) + // Note: this must be "pre" middleware (if it were "post", since we are deleting the bootcamp, we would not be able to access "this" fields) + await this.model('Course').deleteMany({ bootcamp: this._id }); + next(); +}) + +// Reverse Populate with Virtuals (populate Bootcamp object with all courses it coresponds to) + // This creates a new field called 'courses' in Bootcamp model that holds all courses coresponding to bootcamp + // NOTE: this does NOT get saved on the DB +BootcampSchema.virtual('courses', { + ref: 'Course', + localField: '_id', + foreignField: 'bootcamp', // field in the Course model that is tageted + justOne: false // need an array +}) + module.exports = mongoose.model('Bootcamp', BootcampSchema); \ No newline at end of file diff --git a/models/Course.js b/models/Course.js index 47a7a8d..8f7d35d 100644 --- a/models/Course.js +++ b/models/Course.js @@ -1,4 +1,5 @@ const mongoose = require('mongoose'); +const Bootcamp = require('./Bootcamp'); const CourseSchema = new mongoose.Schema({ title: { @@ -38,4 +39,45 @@ const CourseSchema = new mongoose.Schema({ } }); +/** + * MONGOOSE MIDDLEWARE + */ + + // Static method to get avg of course tuitions (static method gets called on Model object) + // NOTE: each bootcamp has an array of courses --> this function calculates the average cost of a particular bootcamp's courses + + CourseSchema.statics.getAverageCost = async function(bootcampId) { + //console.log('Calculating avg cost... '.blue); + + const obj = await this.aggregate([ // aggregate funciton called on entire Course model + { + $match: { bootcamp: bootcampId } + }, + { + $group: { + _id: '$bootcamp', + averageCost: { $avg: '$tuition' } + } + } + ]); // ie. console.log(obj) --> [ { _id: 5d725a1b7b292f5f8ceff788, averageCost: 11250 } ], where _id is id of a bootcamp + + // Save averageCost to DB (at Bootcamp object) + try { + // get Bootcamp field from Course + await this.model('Bootcamp').findByIdAndUpdate(bootcampId, { averageCost: Math.ceil(obj[0].averageCost / 10) * 10 }); // log obj to understand + } catch (err) { + console.error(err); + } + } + +//Call getAverage Cost after save +CourseSchema.post('save', function() { + this.constructor.getAverageCost(this.bootcamp); +}); + +// Call getAverageCost before remove +CourseSchema.pre('remove', function() { + this.constructor.getAverageCost(this.bootcamp); +}); + module.exports = mongoose.model('Course', CourseSchema); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index cdf5a7f..e74079c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "colors": "^1.4.0", "dotenv": "^8.2.0", "express": "^4.17.1", + "express-fileupload": "^1.2.1", "mongoose": "^5.11.14", "morgan": "^1.10.0", "node-geocoder": "^3.27.0", @@ -352,6 +353,17 @@ "node": ">=0.6.19" } }, + "node_modules/busboy": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", + "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", + "dependencies": { + "dicer": "0.3.0" + }, + "engines": { + "node": ">=4.5.0" + } + }, "node_modules/bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -680,6 +692,17 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "node_modules/dicer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", + "dependencies": { + "streamsearch": "0.1.2" + }, + "engines": { + "node": ">=4.5.0" + } + }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -805,6 +828,17 @@ "node": ">= 0.10.0" } }, + "node_modules/express-fileupload": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.2.1.tgz", + "integrity": "sha512-fWPNAkBj+Azt9Itmcz/Reqdg3LeBfaXptDEev2JM8bCC0yDptglCnlizhf0YZauyU5X/g6v7v4Xxqhg8tmEfEA==", + "dependencies": { + "busboy": "^0.3.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -2225,6 +2259,14 @@ "node": ">=0.10.0" } }, + "node_modules/streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -2819,6 +2861,14 @@ "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.5.tgz", "integrity": "sha512-kDuEzldR21lHciPQAIulLs1LZlCXdLziXI6Mb/TDkwXhb//UORJNPXgcRs2CuO4H0DcMkpfT3/ySsP3unoZjBg==" }, + "busboy": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", + "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", + "requires": { + "dicer": "0.3.0" + } + }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -3070,6 +3120,14 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "dicer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", + "requires": { + "streamsearch": "0.1.2" + } + }, "dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -3177,6 +3235,14 @@ "vary": "~1.1.2" } }, + "express-fileupload": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.2.1.tgz", + "integrity": "sha512-fWPNAkBj+Azt9Itmcz/Reqdg3LeBfaXptDEev2JM8bCC0yDptglCnlizhf0YZauyU5X/g6v7v4Xxqhg8tmEfEA==", + "requires": { + "busboy": "^0.3.1" + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -4259,6 +4325,11 @@ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", diff --git a/package.json b/package.json index e0f778c..216d657 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "colors": "^1.4.0", "dotenv": "^8.2.0", "express": "^4.17.1", + "express-fileupload": "^1.2.1", "mongoose": "^5.11.14", "morgan": "^1.10.0", "node-geocoder": "^3.27.0", diff --git a/public/uploads/photo_5d725a1b7b292f5f8ceff788.jpg b/public/uploads/photo_5d725a1b7b292f5f8ceff788.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2cf399f6319e6affab80068dd2793f4c2b2b63f GIT binary patch literal 68716 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%0AjcQ6pm_HOo%vSfvKJT& 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

OfVd;2}UAbb=)uaC&(#w@Ubm+PiiTeV|#O7*2- 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