Return track metadata as part of PodcastEpisodes API

This commit is contained in:
drigato 2015-10-26 15:09:06 -04:00
parent e994033109
commit 7f05d5c05e
1 changed files with 12 additions and 3 deletions

View File

@ -213,7 +213,7 @@ class Application_Service_PodcastEpisodeService extends Application_Service_Thir
* @param int $offset * @param int $offset
* @param int $limit * @param int $limit
* @param string $sortColumn * @param string $sortColumn
* @param string $sortDir * @param string $sortDir "ASC" || "DESC"
* @return array * @return array
* @throws PodcastNotFoundException * @throws PodcastNotFoundException
*/ */
@ -221,13 +221,20 @@ class Application_Service_PodcastEpisodeService extends Application_Service_Thir
$offset=0, $offset=0,
$limit=10, $limit=10,
$sortColumn=PodcastEpisodesPeer::ID, $sortColumn=PodcastEpisodesPeer::ID,
$sortDir=Criteria::ASC) $sortDir="ASC")
{ {
$podcast = PodcastQuery::create()->findPk($podcastId); $podcast = PodcastQuery::create()->findPk($podcastId);
if (!$podcast) { if (!$podcast) {
throw new PodcastNotFoundException(); throw new PodcastNotFoundException();
} }
//make sure valid $sortDir was passed in
if ($sortDir === "DESC") {
$sortDir = Criteria::DESC;
} else {
$sortDir = Criteria::ASC;
}
$episodes = PodcastEpisodesQuery::create() $episodes = PodcastEpisodesQuery::create()
->filterByDbPodcastId($podcastId) ->filterByDbPodcastId($podcastId)
->setLimit($limit) ->setLimit($limit)
@ -237,7 +244,9 @@ class Application_Service_PodcastEpisodeService extends Application_Service_Thir
$episodesArray = array(); $episodesArray = array();
foreach ($episodes as $episode) { foreach ($episodes as $episode) {
array_push($episodesArray, $episode->toArray(BasePeer::TYPE_FIELDNAME)); $episodeArr = $episode->toArray(BasePeer::TYPE_FIELDNAME);
$episodeArr["track_metadata"] = CcFiles::getSanitizedFileById($episode->getDbFileId());
array_push($episodesArray, $episodeArr);
} }
return $episodesArray; return $episodesArray;