Subsonic API: added getSong endpoint. ref #212
This commit is contained in:
@@ -872,6 +872,29 @@ handleGetAlbumRequest(RequestContext& context)
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
Response
|
||||||
|
handleGetSongRequest(RequestContext& context)
|
||||||
|
{
|
||||||
|
// Mandatory params
|
||||||
|
TrackId id {getMandatoryParameterAs<TrackId>(context.parameters, "id")};
|
||||||
|
|
||||||
|
auto transaction {context.dbSession.createSharedTransaction()};
|
||||||
|
|
||||||
|
const Track::pointer track {Track::find(context.dbSession, id)};
|
||||||
|
if (!track)
|
||||||
|
throw RequestedDataNotFoundError {};
|
||||||
|
|
||||||
|
User::pointer user {User::find(context.dbSession, context.userId)};
|
||||||
|
if (!user)
|
||||||
|
throw UserNotAuthorizedError {};
|
||||||
|
|
||||||
|
Response response {Response::createOkResponse(context.serverProtocolVersion)};
|
||||||
|
response.addNode("song", trackToResponseNode(track, context.dbSession, user));
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
Response
|
Response
|
||||||
handleGetArtistRequest(RequestContext& context)
|
handleGetArtistRequest(RequestContext& context)
|
||||||
@@ -1835,7 +1858,7 @@ static const std::unordered_map<std::string, RequestEntryPointInfo> requestEntry
|
|||||||
{"/getArtists", {handleGetArtistsRequest}},
|
{"/getArtists", {handleGetArtistsRequest}},
|
||||||
{"/getArtist", {handleGetArtistRequest}},
|
{"/getArtist", {handleGetArtistRequest}},
|
||||||
{"/getAlbum", {handleGetAlbumRequest}},
|
{"/getAlbum", {handleGetAlbumRequest}},
|
||||||
{"/getSong", {handleNotImplemented}},
|
{"/getSong", {handleGetSongRequest}},
|
||||||
{"/getVideos", {handleNotImplemented}},
|
{"/getVideos", {handleNotImplemented}},
|
||||||
{"/getArtistInfo", {handleGetArtistInfoRequest}},
|
{"/getArtistInfo", {handleGetArtistInfoRequest}},
|
||||||
{"/getArtistInfo2", {handleGetArtistInfo2Request}},
|
{"/getArtistInfo2", {handleGetArtistInfo2Request}},
|
||||||
|
|||||||
Reference in New Issue
Block a user