Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const app = express();
- const mongoose = require('mongoose');
- const slug = require('mongoose-slug-generator');
- const bodyParser = require('body-parser');
- const cors = require('cors');
- require('dotenv/config');
- mongoose.plugin(slug);
- // middleware
- app.use(cors());
- app.use(bodyParser.json());
- // routes
- const postRoute = require('./routes/posts');
- const siteRoute = require('./routes/sites');
- app.use('/posts', postRoute);
- app.use('/sites', siteRoute);
- const express = require('express');
- const router = express.Router();
- const Post = require('../models/Post');
- // get all posts
- router.get('/', async (req, res) => {
- try {
- const posts = await Post.find();
- res.json(posts);
- } catch(err) {
- res.json({message: err})
- }
- });
- // create blog post
- router.post('/add', async (req, res) => {
- const post = new Post({
- title: req.body.title,
- slug: req.body.slug,
- author: req.body.author,
- creation: req.body.creation,
- body: req.body.body,
- css: req.body.css,
- enabled: req.body.enabled
- })
- try {
- const savedPost = await post.save()
- res.json(savedPost);
- } catch(err) {
- res.json({message: err})
- }
- });
- // get specific post
- router.get('/:post', async (req, res) => {
- try {
- const post = await Post.findById(req.params.postId)
- res.json(post)
- } catch(err) {
- res.json({message: err})
- }
- });
- // delete specific post
- router.delete('/:post', async (req, res) => {
- try {
- const removePost = await Post.deleteOne({ _id: req.params.postId })
- res.json(removePost)
- } catch(err) {
- res.json({message: err})
- }
- });
- // delete specific post
- router.patch('/:post', async (req, res) => {
- try {
- const updatedPost = await Post.updateOne({ _id: req.params.postId }, { $set: {
- title: req.params.title
- }})
- res.json(updatedPost)
- } catch(err) {
- res.json({message: err})
- }
- });
- module.exports = router;
- [
- {
- "ID": "some unique ID",
- "name": "Example Blog Site 01",
- "enabled": true,
- "blogs": [
- {
- "title": "My blog title",
- "slug": "slug",
- "description": "some blog content"
- },
- {
- "title": "My blog title",
- "slug": "slug",
- "description": "some blog content"
- }
- ]
- },
- {
- "ID": "some unique ID",
- "name": "Example Blog Site 02",
- "enabled": true,
- "blogs": [
- {
- "title": "My blog title",
- "slug": "slug",
- "description": "some blog content"
- },
- {
- "title": "My blog title",
- "slug": "slug",
- "description": "some blog content"
- }
- ]
- }
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement