You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.0 KiB
43 lines
1.0 KiB
const express = require('express'); |
|
const bodyParser = require('body-parser'); |
|
const models = require('./models'); |
|
|
|
const app = express(); |
|
|
|
// TODO: configurable port |
|
const port = process.env.PORT || 5000; |
|
|
|
app.use(bodyParser.json()); |
|
app.use(bodyParser.urlencoded({ extended: true })); |
|
|
|
app.get('/api/hello', (req, res) => { |
|
res.send({ express: 'Hello From Express' }); |
|
}); |
|
|
|
app.post('/api/world', (req, res) => { |
|
console.log(req.body); |
|
res.send( |
|
`I received your POST request. This is what you sent me: ${req.body.post}`, |
|
); |
|
}); |
|
|
|
app.post('/song/create', (req, res) => { |
|
// TODO error handling |
|
console.log('Create song: ' + req.body.title) |
|
const song = models.Song.build({ title: req.body.title }); |
|
console.log(song.title); |
|
song.save(); |
|
res.sendStatus(200); |
|
}); |
|
|
|
app.get('/song/list', (req, res) => { |
|
console.log("List songs"); |
|
models.Song.findAll() |
|
.then(songs => { |
|
res.send(songs); |
|
}); |
|
}); |
|
|
|
models.sequelize.sync().then(() => { |
|
app.listen(port, () => console.log(`Listening on port ${port}`)); |
|
}) |