add method to append track in queue

This commit is contained in:
Matteo Baldi 2025-08-02 07:04:38 +02:00
parent 5b57f1b9ac
commit dc6f541a71
2 changed files with 34 additions and 1 deletions

View file

@ -1,4 +1,6 @@
import os
import urllib.parse
from email import header
import requests
from auth.session import SessionData, SessionManager
@ -45,9 +47,14 @@ def callback(code: str):
expires_in = token_info.get("expires_in")
# Salva access_token in sessione o database per usi futuri
old_session = SessionManager.instance().get_current_session()
SessionManager.instance().set_session(SessionData(access_token, refresh_token, expires_in))
session = SessionManager.instance().get_current_session()
return {}
return {
"changed": session != old_session,
"access_token": session.access_tokens,
}
@music_router.get("/search")
@ -96,3 +103,21 @@ def current_song():
return requests.get(url, headers=header).json()
except Exception as e:
print(e)
@music_router.get("/add_queue_track")
def add_queue_track(song_id: str):
try:
params = {
"uri": f"spotify:track:{song_id}"
}
url_encoded_params = urllib.parse.urlencode(params)
url = f"{SPOTIFY_AUTH_URL}/me/player/queue{url_encoded_params}"
header = {
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
"Content-Type": "application/json"
}
return requests.post(url, headers=header).json()
except Exception as e:
print(e)