From 3e42a7c37b63344940e4fc49350c91b6e27d9016 Mon Sep 17 00:00:00 2001 From: adb-sh Date: Sat, 1 Oct 2022 21:48:36 +0200 Subject: [PATCH] refresh spotify api token; auto reload currentlyPlaying --- backend/api/auth.mjs | 12 +++++++++--- backend/package-lock.json | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/backend/api/auth.mjs b/backend/api/auth.mjs index 2338566..f1c507c 100644 --- a/backend/api/auth.mjs +++ b/backend/api/auth.mjs @@ -27,7 +27,9 @@ export const applyAuthRoutes = (router) => { const tokens = (await axios.post('https://accounts.spotify.com/api/token', params, config))?.data; - const client = await Client.create({ + const newClient = await Client.create({ + refreshToken: true, + retryOnRateLimit: true, token: { clientID: store.clientID, clientSecret: store.clientSecret, @@ -35,9 +37,13 @@ export const applyAuthRoutes = (router) => { refreshToken: tokens.refresh_token, }, }); - const player = new Player(client); + const player = new Player(newClient); const accessToken = randomString(64); - store.users.push({ client, player, accessToken, listeners: [], role: 'none' }); + const user = store.users.find(({ client }) => client.user.id === newClient.user.id); + if (user) { + user.client = newClient; + } + store.users.push({ client: newClient, player, accessToken, listeners: [], role: 'none' }); res.status(200); res.send({ message: 'authorized', accessToken }); } catch (e) { diff --git a/backend/package-lock.json b/backend/package-lock.json index 1cb070e..173b5ac 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -1,12 +1,12 @@ { "name": "spot2gether", - "version": "1.0.0", + "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "spot2gether", - "version": "1.0.0", + "version": "0.1.0", "dependencies": { "axios": "^0.27.2", "express": "^4.18.1",