aboutsummaryrefslogtreecommitdiff
path: root/part4/blog/src/index.js
blob: ba267a30a253c10889f96944b7e151adfa881b60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const express = require('express')
const app = express()
const cors = require('cors')
const mongoose = require('mongoose')

const blogSchema = new mongoose.Schema({
  title: String,
  author: String,
  url: String,
  likes: Number
})

const Blog = mongoose.model('Blog', blogSchema)

console.log("Connecting to mongo server")
const mongoUrl = 'mongodb+srv://imkusa:Ukj3Ks51qPJ2aa8w@cluster0.aookaoo.mongodb.net/?retryWrites=true&w=majority'
mongoose.connect(mongoUrl)
console.log("Successfully connected to mongo server")

app.use(cors())
app.use(express.json())

app.get('/api/blogs', (request, response) => {
  Blog
    .find({})
    .then(blogs => {
      response.json(blogs)
    })
    .catch((error) => {
      console.log(error.message)
    })
})

app.post('/api/blogs', (request, response) => {
  const blog = new Blog(request.body)

  blog
    .save()
    .then(result => {
      response.status(201).json(result)
    })
})

const PORT = 3003
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`)
})