|
@@ -0,0 +1,56 @@
|
|
|
+const router = require('express').Router()
|
|
|
+const Review = require('../models/review')
|
|
|
+const Product = require('../models/product')
|
|
|
+const virifyToken = require('../middlewares/verify-token')
|
|
|
+const upload = require('../middlewares/upload-photo')
|
|
|
+
|
|
|
+router.post('/reviews/:productID', [virifyToken, upload.single('photo')], async (req, res) => {
|
|
|
+ try {
|
|
|
+ const review = new Review()
|
|
|
+ review.headline = req.body.headline
|
|
|
+ review.body = req.body.body
|
|
|
+ review.rating = req.body.rating
|
|
|
+ review.photo = req.file.location
|
|
|
+ review.productID = req.params.productID
|
|
|
+ review.user = req.decoded._id
|
|
|
+
|
|
|
+ await Product.update({ $push: review._id })
|
|
|
+
|
|
|
+ const saveReviews = await review.save()
|
|
|
+
|
|
|
+ if (saveReviews) {
|
|
|
+ res.json({
|
|
|
+ success: true,
|
|
|
+ message: 'Successfully Added Review'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ res.status(500).json({
|
|
|
+ success: false,
|
|
|
+ message: err.message
|
|
|
+ })
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+router.get('/reviews/:productID', async(req, res) => {
|
|
|
+ try {
|
|
|
+ const productReviews = await Review.find({
|
|
|
+ productID: req.params.productID
|
|
|
+ })
|
|
|
+ .populate('user')
|
|
|
+ .exec()
|
|
|
+
|
|
|
+ res.json({
|
|
|
+ success: true,
|
|
|
+ message: productReviews
|
|
|
+ })
|
|
|
+ } catch (err) {
|
|
|
+ res.status(500).json({
|
|
|
+ success: false,
|
|
|
+ message: err.message
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+})
|
|
|
+
|
|
|
+module.exports = router
|