diff options
Diffstat (limited to 'src/main/java/com/pina/Holodex.java')
| -rw-r--r-- | src/main/java/com/pina/Holodex.java | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/main/java/com/pina/Holodex.java b/src/main/java/com/pina/Holodex.java index 5253f2b..58a11c0 100644 --- a/src/main/java/com/pina/Holodex.java +++ b/src/main/java/com/pina/Holodex.java @@ -3,9 +3,9 @@ package com.pina; import com.pina.datatypes.Channel; import com.pina.datatypes.Video; import com.pina.query.ChannelQueryBuilder; -import com.pina.query.LiveVideoQueryBuilder; import com.pina.query.VideoQueryBuilder; -import com.pina.query.VideosByChannelIDQuery; +import com.pina.query.VideoMetadataQueryBuilder; +import com.pina.query.VideosByChannelIDQueryBuilder; import okhttp3.OkHttpClient; import okhttp3.Request; import retrofit2.Call; @@ -17,9 +17,18 @@ import java.io.IOException; import java.util.List; public class Holodex { - private final HolodexService service; + private HolodexService service; public Holodex(String apiKey) { + initializeHolodexService(apiKey, "https://holodex.net"); + } + + public Holodex(String apiKey, String baseUrl) { + // purely for unit testing + initializeHolodexService(apiKey, baseUrl); + } + + private void initializeHolodexService(String apiKey, String baseUrl){ OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.addInterceptor(chain -> { Request original = chain.request(); @@ -30,15 +39,14 @@ public class Holodex { return chain.proceed(request); }); Retrofit retrofit = new Retrofit.Builder() - .baseUrl("https://holodex.net") + .baseUrl(baseUrl) .addConverterFactory(JacksonConverterFactory.create()) .client(httpClient.build()) .build(); service = retrofit.create(HolodexService.class); } - - public List<Video> getLiveVideos(LiveVideoQueryBuilder queryBuilder) throws HolodexException { + public List<Video> getLiveVideos(VideoQueryBuilder queryBuilder) throws HolodexException { Call<List<Video>> call = service.getLiveVideos(queryBuilder.getChannelId(), queryBuilder.getId(), queryBuilder.getInclude(), queryBuilder.getLang(), queryBuilder.getLimit(), queryBuilder.getMaxUpcomingHours(), @@ -50,7 +58,7 @@ public class Holodex { return executeCall(call); } - public List<Video> getVideos(LiveVideoQueryBuilder queryBuilder) throws HolodexException { + public List<Video> getVideos(VideoQueryBuilder queryBuilder) throws HolodexException { Call<List<Video>> call = service.getVideos(queryBuilder.getChannelId(), queryBuilder.getId(), queryBuilder.getInclude(), queryBuilder.getLang(), queryBuilder.getLimit(), queryBuilder.getMaxUpcomingHours(), @@ -67,7 +75,7 @@ public class Holodex { return executeCall(call); } - public List<Video> getVideosByChannelId(VideosByChannelIDQuery query) throws HolodexException { + public List<Video> getVideosByChannelId(VideosByChannelIDQueryBuilder query) throws HolodexException { Call<List<Video>> call = service.getVideosByChannelId(query.getChannelId(), query.getType(), query.getInclude(), query.getLang(), query.getLimit(), query.getOffset(), query.getPaginated()); return executeCall(call); @@ -80,7 +88,7 @@ public class Holodex { return executeCall(call); } - public Video getVideo(VideoQueryBuilder query) throws HolodexException { + public Video getVideo(VideoMetadataQueryBuilder query) throws HolodexException { Call<Video> call = service.getVideo(query.getVideoId(), query.getLang(), query.getC()); return executeCall(call); } |
