Skip to content

Commit

Permalink
Close #9 playlists_tracks routes
Browse files Browse the repository at this point in the history
  • Loading branch information
jesseseligman committed Jul 11, 2016
1 parent af554d0 commit 09d5dc3
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 1 deletion.
63 changes: 63 additions & 0 deletions routes/playlists_tracks.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
'use strict';

const express = require('express');
const router = express.Router();

const ev = require('express-validation');
// const validations = require('../validations/playlists_tracks');
const knex = require('../knex');

router.get('/playlists_tracks', (req, res, next) => {
knex('playlists_tracks')
.orderBy('id')
.then((playlists_tracks) => {
res.send(playlists_tracks);
})
.catch((err) => {
next(err);
});
});

router.post('/playlists_tracks', (req, res, next) => {
const track_id = Number.parseInt(req.body.track_id);
const playlist_id = Number.parseInt(req.body.playlist_id);

knex('tracks')
.where('id', track_id)
.first()
.then((track) => {
if (!track) {
const err = new Error('Invalid track id.');
err.status = 400;

throw err;
}

return knex('playlists')
.where('id', playlist_id)
.first()
.then((playlist) => {
if (!playlist) {
const err = new Error('Invalid playlist id.')
err.status = 400;

throw err;
}
});
})
.then(() => {
return knex('playlists_tracks')
.insert(req.body, '*')
.then((playlists_tracks) => {
res.send(playlists_tracks[0]);
})
.catch((err) => {
throw err;
});
})
.catch((err) => {
next(err);
});
});

module.exports = router;
2 changes: 1 addition & 1 deletion server.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ app.use(bodyParser.json());

app.use(playlists);
app.use(tracks);
//app.use(playlists_tracks);
app.use(playlists_tracks);

app.use((_req, res) => {
res.sendStatus(404);
Expand Down

0 comments on commit 09d5dc3

Please sign in to comment.