Skip to content

Commit 5c06589

Browse files
committed
feat: add play endpoint
1 parent 9e283be commit 5c06589

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

app/spotify/router.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
from fastapi import APIRouter, Depends
33

44
from app.container import Container
5-
from app.spotify.schemas import Device, CurrentDevice
5+
from app.spotify.exceptions import TrackNotFoundError, DeviceNotFoundError
6+
from app.spotify.schemas import Device, CurrentDevice, Track
67
from app.spotify.service import SpotifyService
78

89
spotify_router = APIRouter()
@@ -62,3 +63,18 @@ def previous_device(
6263
index=spotify_service.get_current_device_index(),
6364
total=spotify_service.get_devices_count()
6465
)
66+
67+
68+
@spotify_router.post("/play")
69+
@inject
70+
def play(
71+
track: Track,
72+
spotify_service: SpotifyService = Depends(Provide[Container.spotify_service])
73+
) -> Device | dict:
74+
try:
75+
spotify_service.play(track)
76+
except TrackNotFoundError:
77+
return {"error": "Track not found"}
78+
except DeviceNotFoundError:
79+
return {"error": "Device not found"}
80+
return {"status": "ok"}

0 commit comments

Comments
 (0)