Skip to content

Commit

Permalink
#3: Add backend for timeline
Browse files Browse the repository at this point in the history
- Add route
- Add mongoose Timeline for mongodb
  • Loading branch information
manhdg98 committed Mar 21, 2021
1 parent eacfa7a commit 531ec2a
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 1 deletion.
24 changes: 24 additions & 0 deletions curriculum-back/db/Timeline.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
const mongoose = require('mongoose')

const TimelineSchema = new mongoose.Schema({
time: {
type: String,
required: true
},
title: {
type: String,
required: true
},
content: {
type: String,
required: true
},
image: {
type: String
},
}, { timestamps: true })

const Timeline = mongoose.model('Timeline', TimelineSchema)

module.exports = Timeline

4 changes: 3 additions & 1 deletion curriculum-back/db/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@ if (process.env.NODE_ENV === 'production') {
const Curriculum = require('./Curriculum')
const User = require('./User')
const Verification = require('./Verification')
const Timeline = require('./Timeline')

module.exports = {
Curriculum,
User,
Verification
Verification,
Timeline
}
2 changes: 2 additions & 0 deletions curriculum-back/server/api/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ const { curricula, authCurricula } = require('./curricula')
const count = require('./count')
const auth = require('./auth')
const users = require('./users')
const timeline = require('./timeline')

router.use('/curricula', curricula)
router.use('/curricula', authMiddleware, authCurricula)
router.use('/count', count)
router.use('/auth', auth)
router.use('/users', authMiddleware, users)
router.use('/timeline', timeline)

module.exports = router
36 changes: 36 additions & 0 deletions curriculum-back/server/api/timeline.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// TODO: make /users/:username or email api endpoints

const express = require('express')
const mongoose = require('mongoose')
mongoose.set('debug', true)

const { Timeline } = require('@db')

const router = express.Router()

router.route('/')
.get(async function (req, res) {
const timeline = await Timeline.findAll();
res.send(timeline)
})

router.route('/')
.post(async function (req, res) {
try {
const { time, title, content, image } = req.body;
console.log("abczxc", time, title, content, image);
const timeline = new Timeline({
time,
title,
content,
image
})
console.log("timeline", timeline)
const timelineRes = await timeline.save()
res.send(201, timelineRes)
} catch (err) {
console.log(err)
}
})

module.exports = router
2 changes: 2 additions & 0 deletions curriculum-back/server/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ app.use(morgan('dev'))
app.use(express.json())
app.use(helmet())
app.use(cors())
// encode url
app.use(express.urlencoded({ extended: true }));

app.use('/api/v1', routes)

Expand Down

0 comments on commit 531ec2a

Please sign in to comment.