fixed add track to queue
This commit is contained in:
parent
dec89ef9de
commit
f3c868a050
3 changed files with 21 additions and 17 deletions
|
@ -23,6 +23,7 @@ class QueueItem(BaseModel):
|
|||
voti: int = 0
|
||||
|
||||
class QueueItemCreate(BaseModel):
|
||||
id: str
|
||||
titolo: str
|
||||
coverUrl: str
|
||||
color: str
|
||||
|
@ -42,12 +43,8 @@ class VoteUpdate(BaseModel):
|
|||
async def add_item(item: QueueItemCreate):
|
||||
"""POST: Aggiunge un nuovo item alla queue"""
|
||||
try:
|
||||
# Genera un ID univoco
|
||||
import uuid
|
||||
item_id = str(uuid.uuid4())
|
||||
|
||||
new_item = {
|
||||
"id": item_id,
|
||||
"id": item.id,
|
||||
"titolo": item.titolo,
|
||||
"coverUrl": item.coverUrl,
|
||||
"color": item.color,
|
||||
|
|
|
@ -7,6 +7,8 @@ from auth.session import SessionData, SessionManager
|
|||
from fastapi import APIRouter
|
||||
from fastapi.responses import RedirectResponse
|
||||
|
||||
from backend.endpoints.queue import delete_item
|
||||
|
||||
music_router = APIRouter(prefix="/music")
|
||||
|
||||
SPOTIFY_CLIENT_ID = os.getenv("SPOTIFY_CLIENT_ID")
|
||||
|
@ -46,6 +48,9 @@ def callback(code: str):
|
|||
refresh_token = token_info.get("refresh_token")
|
||||
expires_in = token_info.get("expires_in")
|
||||
|
||||
if any(token is None for token in [access_token, refresh_token, expires_in]):
|
||||
return {"error": "Failed to obtain access token from Spotify."}
|
||||
|
||||
# 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))
|
||||
|
@ -53,7 +58,7 @@ def callback(code: str):
|
|||
|
||||
return {
|
||||
"changed": session != old_session,
|
||||
"access_token": session.access_tokens,
|
||||
"access_token": session.access_token,
|
||||
}
|
||||
|
||||
|
||||
|
@ -62,7 +67,7 @@ def search(query: str):
|
|||
try:
|
||||
url = SPOTIFY_PLAY_URL + f"search?q={query}&type=track"
|
||||
header = {
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_token,
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
response = requests.get(url, headers=header)
|
||||
|
@ -81,7 +86,7 @@ def play(song_id: str):
|
|||
"position_ms": 0
|
||||
}
|
||||
header = {
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_token,
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
print(body)
|
||||
|
@ -97,7 +102,7 @@ def current_song():
|
|||
try:
|
||||
url = SPOTIFY_PLAY_URL + f"me/player/currently-playing?marketing=IT"
|
||||
header = {
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_token,
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
return requests.get(url, headers=header).json()
|
||||
|
@ -105,19 +110,21 @@ def current_song():
|
|||
print(e)
|
||||
|
||||
@music_router.get("/add_queue_track")
|
||||
def add_queue_track(song_id: str):
|
||||
async 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}"
|
||||
|
||||
url = f"{SPOTIFY_PLAY_URL}me/player/queue"
|
||||
|
||||
header = {
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
|
||||
"Content-Type": "application/json"
|
||||
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_token,
|
||||
}
|
||||
|
||||
return requests.post(url, headers=header).json()
|
||||
return requests.post(url, params=params, headers=header).json()
|
||||
|
||||
except Exception as e:
|
||||
print(e)
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
print(e)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue