fix(playlist): return new playlist id for createPlaylist

fixes #464
This commit is contained in:
sentriz
2024-02-02 19:57:03 +00:00
parent 29c5397dae
commit 314e9632d7
2 changed files with 5 additions and 4 deletions

View File

@@ -111,7 +111,7 @@ func New(dbc *db.DB, scannr *scanner.Scanner, musicPaths []MusicPath, podcastsPa
c.Handle("/getUser", chain(resp(c.ServeGetUser))) c.Handle("/getUser", chain(resp(c.ServeGetUser)))
c.Handle("/getPlaylists", chain(resp(c.ServeGetPlaylists))) c.Handle("/getPlaylists", chain(resp(c.ServeGetPlaylists)))
c.Handle("/getPlaylist", chain(resp(c.ServeGetPlaylist))) c.Handle("/getPlaylist", chain(resp(c.ServeGetPlaylist)))
c.Handle("/createPlaylist", chain(resp(c.ServeCreatePlaylist))) c.Handle("/createPlaylist", chain(resp(c.ServeCreateOrUpdatePlaylist)))
c.Handle("/updatePlaylist", chain(resp(c.ServeUpdatePlaylist))) c.Handle("/updatePlaylist", chain(resp(c.ServeUpdatePlaylist)))
c.Handle("/deletePlaylist", chain(resp(c.ServeDeletePlaylist))) c.Handle("/deletePlaylist", chain(resp(c.ServeDeletePlaylist)))
c.Handle("/savePlayQueue", chain(resp(c.ServeSavePlayQueue))) c.Handle("/savePlayQueue", chain(resp(c.ServeSavePlayQueue)))

View File

@@ -67,7 +67,7 @@ func (c *Controller) ServeGetPlaylist(r *http.Request) *spec.Response {
return sub return sub
} }
func (c *Controller) ServeCreatePlaylist(r *http.Request) *spec.Response { func (c *Controller) ServeCreateOrUpdatePlaylist(r *http.Request) *spec.Response {
user := r.Context().Value(CtxUser).(*db.User) user := r.Context().Value(CtxUser).(*db.User)
params := r.Context().Value(CtxParams).(params.Params) params := r.Context().Value(CtxParams).(params.Params)
@@ -79,9 +79,8 @@ func (c *Controller) ServeCreatePlaylist(r *http.Request) *spec.Response {
playlist = *pl playlist = *pl
} }
// update meta info
if playlist.UserID != 0 && playlist.UserID != user.ID { if playlist.UserID != 0 && playlist.UserID != user.ID {
return spec.NewResponse() return spec.NewError(50, "you aren't allowed update that user's playlist")
} }
playlist.UserID = user.ID playlist.UserID = user.ID
@@ -103,7 +102,9 @@ func (c *Controller) ServeCreatePlaylist(r *http.Request) *spec.Response {
if playlistPath == "" { if playlistPath == "" {
playlistPath = playlistp.NewPath(user.ID, fmt.Sprint(time.Now().UnixMilli())) playlistPath = playlistp.NewPath(user.ID, fmt.Sprint(time.Now().UnixMilli()))
playlistID = playlistIDEncode(playlistPath)
} }
if err := c.playlistStore.Write(playlistPath, &playlist); err != nil { if err := c.playlistStore.Write(playlistPath, &playlist); err != nil {
return spec.NewError(0, "save playlist: %v", err) return spec.NewError(0, "save playlist: %v", err)
} }