Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions controllers/comment.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
let CommentModel = require("../models/CommentModel")

//get - return all comments
exports.list = function list(req, res) {
CommentModel.find(function (err, comments){
if (err) return console.error(err);
return res.json(comments);
})
}

//get one comment by id
exports.show = function show(req, res) {
CommentModel.findById(req.params.commentId, function (err, comment){
if (err) return console.error(err);
return res.json(comment);
})
}

//post
exports.create = function create(req, res) {
const newComment = new CommentModel(req.body);
newComment.save((err, v) => {
res.json(v);
});
}

//put
exports.update = function update(req, res) {
let comment = comments.find(i => i._id == req.params.commentId);
comment.body = body.body;
res.json(comment)
}

//delete
exports.remove = function remove(req, res) {
let comment = comments.find(i => i._id == req.params.commentId);
comment.isActive = false;
res.send("deleted")
}
40 changes: 40 additions & 0 deletions controllers/contact.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
let ContactModel = require("../models/ContactModel")

//get - return all vechicles
exports.list = function list(req, res) {
ContactModel.find(function (err, contacts){
if (err) return console.error(err);
return res.json(contacts);
})
}

//get one vehicle by id
exports.show = function show(req, res) {
ContactModel.findById(req.params.contactId, function (err, contact){
if (err) return console.error(err);
return res.json(contact);
})
}

//post
exports.create = function create(req, res) {
const newContact = new ContactModel(req.body);
newContact.save((err, v) => {
res.json(v);
});
}

//put
exports.update = function update(req, res) {
let contact = contacts.find(i => i._id == req.params.contactId);
contact.name = body.name;
res.json(contact)
}

//delete
exports.remove = function remove(req, res) {
let contact = contacts.find(i => i._id == req.params.contactId);
contact.isActive = false;
res.send("deleted")
}

39 changes: 39 additions & 0 deletions controllers/product.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
let ProductsModel = require("../models/ProductModel")

//get - return all products
exports.list = function list(req, res) {
ProductModel.find(function (err, products){
if (err) return console.error(err);
return res.json(products);
})
}

//get one product by id
exports.show = function show(req, res) {
ProductModel.findById(req.params.productId, function (err, vehicle){
if (err) return console.error(err);
return res.json(product);
})
}

//post
exports.create = function create(req, res) {
const newProduct = new ProductModel(req.body);
newProduct.save((err, v) => {
res.json(v);
});
}

//put
exports.update = function update(req, res) {
let product = products.find(i => i._id == req.params.productId);
product.name = body.name;
res.json(product)
}

//delete
exports.remove = function remove(req, res) {
let product = products.find(i => i._id == req.params.productId);
product.isActive = false;
res.send("deleted")
}
39 changes: 39 additions & 0 deletions controllers/vehicle.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
let VehicleModel = require("../models/VehicleModel")

//get - return all vechicles
exports.list = function list(req, res) {
VehicleModel.find(function (err, vehicles){
if (err) return console.error(err);
return res.json(vehicles);
})
}

//get one vehicle by id
exports.show = function show(req, res) {
VehicleModel.findById(req.params.vehicleId, function (err, vehicle){
if (err) return console.error(err);
return res.json(vehicle);
})
}

//post
exports.create = function create(req, res) {
const newVehicle = new VehicleModel(req.body);
newVehicle.save((err, v) => {
res.json(v);
});
}

//put
exports.update = function update(req, res) {
let vehicle = vehicles.find(i => i._id == req.params.vehicleId);
vehicle.make = body.make;
res.json(vehicle);
}

//delete
exports.remove = function remove(req, res) {
let vehicle = vehicles.find(i => i._id == req.params.vehicleId);
vehicle.isActive = false;
res.send("deleted");
}
34 changes: 21 additions & 13 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
let express = require("express");
let comments = require("./comments");
let products = require("./products");
let vehicles = require("./vehicles");
let contacts = require("./contacts");
let bodyParser = require("body-parser");

let vehicleRoutes = require("./routes/vehicle");
let productRoutes = require("./routes/product");
let contactRoutes = require("./routes/contact");
let commentRoutes = require("./routes/comment");

let app = express();

const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
app.use(express.static("public"));

const thePort = 3001;
app.use(vehicleRoutes);
app.use(productRoutes);
app.use(contactRoutes);
app.use(commentRoutes);

//const thePort = 3001;

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/advanced-express-practice', {useeNewUrlParser: true});
const Vehicle = require("./models/VehicleModel.js");
const Product = require("./models/ProductModel.js");
const Comment = require("./models/CommentModel.js");
const Contact = require("./models/ContactModel.js");


app.listen(thePort, (err) => {
if (err) {
return console.log("Error", err);
}
console.log("Web server is now listening for messages on port",thePort);
});
8 changes: 8 additions & 0 deletions models/CommentModel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const mongoose = require('mongoose');
var commentSchema = new mongoose.Schema({
Body: String,
});

var Comment = mongoose.model('Comment', commentSchema);

module.exports = Comment;
10 changes: 10 additions & 0 deletions models/ContactModel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
const mongoose = require('mongoose');
var contactSchema = new mongoose.Schema({
name: String,
occupation: String,
avatar: String
});

var Contact = mongoose.model('Contact', contactSchema);

module.exports = Contact;
9 changes: 9 additions & 0 deletions models/ProductModel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const mongoose = require('mongoose');
var productSchema = new mongoose.Schema({
name: String,
description: String,
});

var Product = mongoose.model('Product', productSchema);

module.exports = Product;
10 changes: 10 additions & 0 deletions models/VehicleModel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
const mongoose = require('mongoose');
var vehicleSchema = new mongoose.Schema({
year: String,
make: String,
model: String
});

var Vehicle = mongoose.model('Vehicle', vehicleSchema);

module.exports = Vehicle
Loading