Skip to content

Commit 95b4e07

Browse files
committed
feat: create PodcastService
1 parent e5b8d35 commit 95b4e07

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package io.github.yvasyliev.deezer.service;
2+
3+
import feign.Headers;
4+
import feign.Param;
5+
import feign.RequestLine;
6+
import io.github.yvasyliev.deezer.model.Episode;
7+
import io.github.yvasyliev.deezer.model.Page;
8+
import io.github.yvasyliev.deezer.model.Podcast;
9+
10+
import java.util.concurrent.CompletableFuture;
11+
12+
@Headers("Accept: application/json")
13+
public interface PodcastService {
14+
/**
15+
* Returns a list of episodes for a podcast.
16+
*
17+
* @param podcastId the podcast ID
18+
* @param accessToken Deezer access token
19+
* @return a list of episodes for a podcast
20+
*/
21+
@RequestLine("GET /podcast/{podcastId}/episodes?access_token={accessToken}")
22+
CompletableFuture<Page<Episode>> getEpisodes(
23+
@Param("podcastId") long podcastId,
24+
@Param("accessToken") String accessToken
25+
);
26+
27+
/**
28+
* Returns a podcast.
29+
*
30+
* @param podcastId the podcast ID
31+
* @param accessToken Deezer access token
32+
* @return a podcast
33+
*/
34+
@RequestLine("GET /podcast/{podcastId}?access_token={accessToken}")
35+
CompletableFuture<Podcast> getPodcast(@Param("podcastId") long podcastId, @Param("accessToken") String accessToken);
36+
}

0 commit comments

Comments
 (0)