From f213ec5d4c3dac409aab6fdbe70fe671bf0b8ff0 Mon Sep 17 00:00:00 2001 From: Daniel Kovacs <daniel.kovacs@inepex.com> Date: Sun, 1 Dec 2019 23:15:17 +0100 Subject: [PATCH] asdf --- backend/server.js | 32 ++++++++++++++----- frontend/src/actions/playlistActions.js | 12 +++---- .../components/edit-playlist/EditPlaylist.js | 6 ++-- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/backend/server.js b/backend/server.js index 2e425d4..9df7c9d 100644 --- a/backend/server.js +++ b/backend/server.js @@ -189,18 +189,34 @@ app.get('/partydetails/:partyid', (req,res) => { const partyId = req.params.partyid db.all('SELECT party_name FROM party WHERE id=?', [partyId], (err,rows) => { - const partyName = rows[0].party_name - db.all('SELECT song_id, song_author, song_title, song_duration, COUNT(id) AS occurrence FROM songs WHERE party_id=? GROUP BY song_id', [partyId], (err,rows) => { - let partyDetails = { - partyName: partyName, - partySongs: rows - }; - return res.json(partyDetails).status(200) - }); + if (rows.length>0) { + const partyName = rows[0].party_name + db.all( + 'SELECT song_id, song_author, song_title, song_duration, COUNT(id) AS occurrence FROM songs WHERE party_id=? GROUP BY song_id', + [partyId], (err, rows) => { + let partyDetails = { + partyName: partyName, + partySongs: rows + }; + return res.json(partyDetails).status(200) + }); + }else{ + return res.status(200) + } }); }); +app.get('/deleteparty/:id', (req,res) => { + db.run('DELETE FROM party WHERE id=?',[req.params.id], () =>{ + db.run('DELETE FROM party_members WHERE party_id=?', [req.params.id], () =>{ + db.run('DELETE FROM songs WHERE party_id=?',[req.params.id], () =>{ + return res.status(200); + }) + }) + }) +}); + app.post('/saveplaylist/:id', (req,res) => { var config ={ headers: {Authorization: 'Bearer ' + req.body.token} diff --git a/frontend/src/actions/playlistActions.js b/frontend/src/actions/playlistActions.js index ca2768e..14cdf38 100644 --- a/frontend/src/actions/playlistActions.js +++ b/frontend/src/actions/playlistActions.js @@ -128,11 +128,13 @@ export const savePlaylist = (body,history) => dispatch => { axios .post(`https://thespotifierapp.herokuapp.com/saveplaylist/${body.id}`, body) .then(res => { + history.push('/dashboard') + window.location.href="http://localhost/dashboard" dispatch({ type: ADDED_PLAYLIST, payload: {} }) - history.push('/dashboard') + }) .catch(err => dispatch({type:GET_ERRORS, payload: err.response.data})) @@ -166,14 +168,10 @@ export const editPlaylist = (id,plData,history) => dispatch => export const deletePlaylist = (id,history) => dispatch => { axios - .delete(`/api/playlist/${id}`) + .delete(`https://thespotifierapp.herokuapp.com/deleteparty/${id}`) .then(res => { - dispatch({ - type: GET_PLAYLISTS, - payload: res.data - }) - history.push('/dashboard'); + window.location.href="http://localhost/dashboard" } ) .catch(err => {dispatch({type:GET_ERRORS,payload: err.response.data})}) diff --git a/frontend/src/components/edit-playlist/EditPlaylist.js b/frontend/src/components/edit-playlist/EditPlaylist.js index 43646fd..e82700c 100644 --- a/frontend/src/components/edit-playlist/EditPlaylist.js +++ b/frontend/src/components/edit-playlist/EditPlaylist.js @@ -4,7 +4,7 @@ import QRCode from 'qrcode.react'; import {Moment} from 'react-moment'; -import {getPartyDetails,savePlaylist} from '../../actions/playlistActions'; +import {getPartyDetails,savePlaylist,deletePlaylist} from '../../actions/playlistActions'; import {getCurrentProfile} from '../../actions/profileActions'; @@ -58,7 +58,7 @@ class EditPlaylist extends Component { onDelete(e){ - console.log(e) + this.props.deletePlaylist(this.props.match.params.id, this.props.history) } onChange(e){ @@ -193,4 +193,4 @@ const mapStateToProps=state=>({ errors: state.errors, }) -export default connect(mapStateToProps,{getPartyDetails,savePlaylist,getCurrentProfile})(withRouter(EditPlaylist)); \ No newline at end of file +export default connect(mapStateToProps,{getPartyDetails,savePlaylist,getCurrentProfile,deletePlaylist})(withRouter(EditPlaylist)); \ No newline at end of file -- GitLab