diff --git a/callback-server/app.js b/callback-server/app.js index b959d81..63f5be6 100644 --- a/callback-server/app.js +++ b/callback-server/app.js @@ -24,32 +24,40 @@ app.listen(port, () => { console.log(`Big brother is listening on port ${port}`) //#endregion //#region ACCESS TOKEN -app.get('/settings/deactivate', async (req,res) => { - stepBeggining("Setting: deactivation"); +app.get('/', async (req, res) => { + stepBeggining("Activation"); const code = req.query.code; const authOptions = { - url: 'https://accounts.spotify.com/api/token', method: 'post', json: true, + url: 'https://accounts.spotify.com/api/token', method: 'get', json: true, data: { code: code, redirect_uri: redirectUri, grant_type: 'authorization_code' }, headers: { 'content-type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic ' + (new Buffer.from(clientId + ':' + clientSecret).toString('base64')) - } + } }; - let userId; + let data; try { const response1 = await axios(authOptions); - const accessToken = response1.data.access_token; + const accessToken = response1.data.access_token + const refreshToken = response1.data.refresh_token const response2 = await axios.get(`https://api.spotify.com/v1/me`, { headers: { 'Authorization': 'Bearer ' + accessToken, } }); - userId = response2.data.SpotifyId; + data = { + SpotifyId: response2.data.id, + AccessToken: accessToken, + RefreshToken: refreshToken + }; } catch (error) { console.log(`Error getting user Spotify id: ${error}`) } const sqlQuery = ` - DELETE FROM users - WHERE spotifyid = ?; + INSERT INTO users (spotifyid, accesstoken, refreshtoken) + VALUES (?, ?, ?) + ON DUPLICATE KEY UPDATE + accesstoken = VALUES(accesstoken), + refreshtoken = VALUES(refreshtoken); `; - + try { const pool = mariadb.createPool({ host: 'felixmielcarek-bigbrotherdb', @@ -61,19 +69,19 @@ app.get('/settings/deactivate', async (req,res) => { const conn = await pool.getConnection(); - conn.query(sqlQuery, [userId], (err, res) => { + conn.query(sqlQuery, [data.SpotifyId, data.AccessToken, data.RefreshToken], (err, res) => { if (err) { console.error('Error executing query', err); return; } - console.log('Data deleted successfully'); + console.log('Data inserted/updated successfully'); conn.end(); }); } catch (error) { console.log(`Error accessing database: ${error}`) } -}) +}); -app.get('/', async (req, res) => { - stepBeggining("Activation"); +app.get('/settings/deactivate', async (req,res) => { + stepBeggining("Setting: deactivation"); const code = req.query.code; const authOptions = { @@ -82,30 +90,22 @@ app.get('/', async (req, res) => { headers: { 'content-type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic ' + (new Buffer.from(clientId + ':' + clientSecret).toString('base64')) - } + } }; - let data; + let userId; try { const response1 = await axios(authOptions); - const accessToken = response1.data.access_token - const refreshToken = response1.data.refresh_token + const accessToken = response1.data.access_token; const response2 = await axios.get(`https://api.spotify.com/v1/me`, { headers: { 'Authorization': 'Bearer ' + accessToken, } }); - data = { - SpotifyId: response2.data.id, - AccessToken: accessToken, - RefreshToken: refreshToken - }; + userId = response2.data.SpotifyId; } catch (error) { console.log(`Error getting user Spotify id: ${error}`) } const sqlQuery = ` - INSERT INTO users (spotifyid, accesstoken, refreshtoken) - VALUES (?, ?, ?) - ON DUPLICATE KEY UPDATE - accesstoken = VALUES(accesstoken), - refreshtoken = VALUES(refreshtoken); + DELETE FROM users + WHERE spotifyid = ?; `; - + try { const pool = mariadb.createPool({ host: 'felixmielcarek-bigbrotherdb', @@ -117,12 +117,12 @@ app.get('/', async (req, res) => { const conn = await pool.getConnection(); - conn.query(sqlQuery, [data.SpotifyId, data.AccessToken, data.RefreshToken], (err, res) => { + conn.query(sqlQuery, [userId], (err, res) => { if (err) { console.error('Error executing query', err); return; } - console.log('Data inserted/updated successfully'); + console.log('Data deleted successfully'); conn.end(); }); } catch (error) { console.log(`Error accessing database: ${error}`) }