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
31 changes: 17 additions & 14 deletions controller/PostBlog.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
const Blog = require('../models/blog')
const Blog = require("../models/blog");

postBlog = (req, res) => {
const body = req.body
const body = req.body;

if (!body) {
return res.status(400).json({
success: false,
error: 'You must provide a blog',
})
error: "You must provide a blog"
});
}

const blog = new Blog(body)
console.log(body);
const blog = new Blog(body);

if (!blog) {
return res.status(400).json({ success: false, error: err })
return res.status(400).json({ success: false, error: err });
}

blog
Expand All @@ -22,15 +23,17 @@ postBlog = (req, res) => {
return res.status(201).json({
success: true,
id: blog._id,
message: 'Blog post created!',
})
text: blog.text,
message: "Blog post created!"
});
})
.catch(error => {
.catch((error) => {
console.log(blog);
return res.status(400).json({
error,
message: 'Blog post not created!',
})
})
}
message: "Blog post not created!"
});
});
};

module.exports = { postBlog }
module.exports = postBlog;
24 changes: 15 additions & 9 deletions controller/getBlogs.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
const Blog = require('../models/blog')
const Blog = require("../models/blog");

getBlogs = async (req, res) => {
await Blog.find({}, (err, blog) => {
if (err) {
return res.status(400).json({ success: false, error: err })
return res.status(400).json({ success: false, error: err });
}
if (!blog.length) {
return res
.status(404)
.json({ success: false, error: `Blog not found` })
return res.status(404).json({ success: false, error: `Blog not found` });
}
return res.status(200).json({ success: true, data: blog })
}).catch(err => console.log(err))
}
let id = req.path.split("/")[2];
console.log(id);
for (let i = 0; i < blog.length; i++) {
if (id == blog[i].id) {
console.log(blog[i]);
return res.status(200).json({ success: true, data: blog[i] });
}
}
return res.status(404).json({ success: false, error: `Blog not found` });
}).catch((err) => console.log(err));
};

module.exports = { getBlogs }
module.exports = getBlogs;
23 changes: 23 additions & 0 deletions controller/getComments.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
const Blog = require("../models/blog");

getComments = async (req, res) => {
await Blog.find({}, (err, blog) => {
if (err) {
return res.status(400).json({ success: false, error: err });
}
if (!blog.length) {
return res.status(404).json({ success: false, error: `Blog not found` });
}
let id = req.path.split("/")[3];
console.log(id);
for (let i = 0; i < blog.length; i++) {
if (id == blog[i].id) {
console.log(blog[i].comments);
return res.status(200).json({ success: true, data: blog[i].comments });
}
}
return res.status(404).json({ success: false, error: `Blog not found` });
}).catch((err) => console.log(err));
};

module.exports = getComments;
38 changes: 38 additions & 0 deletions controller/postComment.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
const getBlogs = require("./getBlogs");
const Blog = require("../models/blog");

postComment = async (req, res) => {
const id = req.path.split("/")[3];
const body = req.body;
if (!body) {
res.status(200).json({
success: true,
error: "SET UP GETTING COMMENTS"
});
}
await Blog.find({}, (err, blog) => {
//console.log(blog);
console.log(id);
let found = false;
for (let i = 0; i < blog.length; i++) {
if (id == blog[i].id) {
found = true;
console.log(body);
blog[i].comments.push({ body: body.comment });
blog[i].save().then(() => {
console.log(blog[i]);
console.log(req);
console.log(body);
return res
.status(200)
.json({ success: true, data: blog[i].comments });
});
}
}
if (!found) {
return res.status(404).json({ success: false, error: `Blog not found` });
}
});
};

module.exports = postComment;
14 changes: 7 additions & 7 deletions db/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
const mongoose = require('mongoose')
const mongoose = require("mongoose");

mongoose
.connect('mongodb://127.0.0.1:27017/blog', { useNewUrlParser: true })
.catch(e => {
console.error('Connection error', e.message)
})
.connect("mongodb://127.0.0.1:27017/blog", { useNewUrlParser: true })
.catch((e) => {
console.error("Connection error", e.message);
});

const db = mongoose.connection
const db = mongoose.connection;

module.exports = db
module.exports = db;
24 changes: 12 additions & 12 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
const express = require('express')
const cors = require('cors')
const express = require("express");
const cors = require("cors");

const db = require ('./db')
const router = require('./router')
const db = require("./db");
const router = require("./routes");

const app = express()
const port = 3001
const app = express();
const port = 3001;

app.use(express.urlencoded({ extended: true }))
app.use(cors())
app.use(express.json())
app.use(express.urlencoded({ extended: true }));
app.use(cors());
app.use(express.json());

db.on('error', console.error.bind(console, 'MongoDB connection failed...'))
db.on("error", console.error.bind(console, "MongoDB connection failed..."));

app.use('/api', router)
app.use("/api", router);

app.listen(port, () => console.log(`Server running on ${port}`))
app.listen(port, () => console.log(`Server running on ${port}`));
11 changes: 7 additions & 4 deletions models/blog.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
const mongoose = require('mongoose');
const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const Blog = new Schema({
id: { type: String, required: true }
})
id: { type: String, required: true },
text: { type: String, requred: true },
comments: [{ body: String }]
});

module.exports = mongoose.model('blog', Blog)
// Blog.set("validateBeforeSave", false);
module.exports = mongoose.model("blog", Blog);
Loading