11const express = require ( 'express' ) ;
22const mongoose = require ( 'mongoose' ) ;
33const fs = require ( 'fs' ) ;
4- const cors = require ( 'cors' )
5- const app = express ( )
4+ const cors = require ( 'cors' ) ;
5+ const app = express ( ) ;
66const port = 3030 ;
77
8- app . use ( cors ( ) )
8+ app . use ( cors ( ) ) ;
99app . use ( require ( 'body-parser' ) . urlencoded ( { extended : false } ) ) ;
1010
1111const reviews_data = JSON . parse ( fs . readFileSync ( "reviews.json" , 'utf8' ) ) ;
1212const dealerships_data = JSON . parse ( fs . readFileSync ( "dealerships.json" , 'utf8' ) ) ;
1313
14- mongoose . connect ( "mongodb://mongo_db:27017/" , { 'dbName' :'dealershipsDB' } ) ;
14+ mongoose . connect ( "mongodb://mongo_db:27017/" , { 'dbName' : 'dealershipsDB' } ) ;
1515
1616
1717const Reviews = require ( './review' ) ;
1818
1919const Dealerships = require ( './dealership' ) ;
20-
2120try {
22- Reviews . deleteMany ( { } ) . then ( ( ) => {
23- Reviews . insertMany ( reviews_data [ 'reviews' ] ) ;
21+ Reviews . deleteMany ( { } ) . then ( ( ) => {
22+ Reviews . insertMany ( reviews_data . review ) ;
2423 } ) ;
25- Dealerships . deleteMany ( { } ) . then ( ( ) => {
26- Dealerships . insertMany ( dealerships_data [ ' dealerships' ] ) ;
24+ Dealerships . deleteMany ( { } ) . then ( ( ) => {
25+ Dealerships . insertMany ( dealerships_data . dealerships ) ;
2726 } ) ;
28-
2927} catch ( error ) {
30- res . status ( 500 ) . json ( { error : 'Error fetching documents' } ) ;
28+ error . status ( 500 ) . json ( { error : 'Error fetching documents' } ) ;
3129}
3230
3331
3432// Express route to home
3533app . get ( '/' , async ( req , res ) => {
36- res . send ( "Welcome to the Mongoose API" )
34+ res . send ( "Welcome to the Mongoose API" ) ;
3735} ) ;
3836
3937// Express route to fetch all reviews
@@ -49,7 +47,7 @@ app.get('/fetchReviews', async (req, res) => {
4947// Express route to fetch reviews by a particular dealer
5048app . get ( '/fetchReviews/dealer/:id' , async ( req , res ) => {
5149 try {
52- const documents = await Reviews . find ( { dealership : req . params . id } ) ;
50+ const documents = await Reviews . find ( { dealership : req . params . id } ) ;
5351 res . json ( documents ) ;
5452 } catch ( error ) {
5553 res . status ( 500 ) . json ( { error : 'Error fetching documents' } ) ;
@@ -58,8 +56,8 @@ app.get('/fetchReviews/dealer/:id', async (req, res) => {
5856
5957// Express route to fetch all dealerships
6058app . get ( '/fetchDealers' , async ( req , res ) => {
61- //Write your code here
62- try {
59+ //Write your code here
60+ try {
6361 const documents = await Dealerships . find ( ) ;
6462 res . json ( documents ) ;
6563 } catch ( error ) {
6967
7068// Express route to fetch Dealers by a particular state
7169app . get ( '/fetchDealers/:state' , async ( req , res ) => {
72- //Write your code here
73- try {
74- const documents = await Dealerships . find ( { state : req . params . state } ) ;
70+ //Write your code here
71+ try {
72+ const documents = await Dealerships . find ( { state : req . params . state } ) ;
7573 res . json ( documents ) ;
7674 } catch ( error ) {
7775 res . status ( 500 ) . json ( { error : 'Error fetching documents' } ) ;
8179
8280// Express route to fetch dealer by a particular id
8381app . get ( '/fetchDealer/:id' , async ( req , res ) => {
84- //Write your code here
85- try {
86- const documents = await Dealerships . find ( { id : req . params . id } ) ;
82+ //Write your code here
83+ try {
84+ const documents = await Dealerships . find ( { id : req . params . id } ) ;
8785 res . json ( documents ) ;
8886 } catch ( error ) {
8987 res . status ( 500 ) . json ( { error : 'Error fetching documents' } ) ;
@@ -92,27 +90,37 @@ try {
9290
9391//Express route to insert review
9492app . post ( '/insert_review' , express . raw ( { type : '*/*' } ) , async ( req , res ) => {
95- data = JSON . parse ( req . body ) ;
96- const documents = await Reviews . find ( ) . sort ( { id : - 1 } )
97- let new_id = documents [ 0 ] [ 'id' ] + 1
98-
93+ const data = JSON . parse ( req . body ) ;
94+ const documents = await Reviews . find ( ) . sort ( { id : - 1 } ) ;
95+ let new_id = documents [ 0 ] . id + 1 ;
96+
97+ // const review = new Reviews({
98+ // "id": new_id,
99+ // "name": data['name'],
100+ // "dealership": data['dealership'],
101+ // "review": data['review'],
102+ // "purchase": data['purchase'],
103+ // "purchase_date": data['purchase_date'],
104+ // "car_make": data['car_make'],
105+ // "car_model": data['car_model'],
106+ // "car_year": data['car_year'],
107+ // });
99108 const review = new Reviews ( {
100- "id" : new_id ,
101- "name" : data [ 'name' ] ,
102- "dealership" : data [ 'dealership' ] ,
103- "review" : data [ 'review' ] ,
104- "purchase" : data [ 'purchase' ] ,
105- "purchase_date" : data [ 'purchase_date' ] ,
106- "car_make" : data [ 'car_make' ] ,
107- "car_model" : data [ 'car_model' ] ,
108- "car_year" : data [ 'car_year' ] ,
109- } ) ;
110-
109+ id : new_id ,
110+ name : data . name ,
111+ dealership : data . dealership ,
112+ review : data . review ,
113+ purchase : data . purchase ,
114+ purchase_date : data . purchase_date ,
115+ car_make : data . car_make ,
116+ car_model : data . car_model ,
117+ car_year : data . car_year ,
118+ } ) ;
111119 try {
112120 const savedReview = await review . save ( ) ;
113121 res . json ( savedReview ) ;
114122 } catch ( error ) {
115- console . log ( error ) ;
123+ console . log ( error ) ;
116124 res . status ( 500 ) . json ( { error : 'Error inserting review' } ) ;
117125 }
118126} ) ;
0 commit comments