diff --git a/src/main/java/me/goudham/MyWaifuClient.java b/src/main/java/me/goudham/MyWaifuClient.java index e137e94..057c4ee 100644 --- a/src/main/java/me/goudham/MyWaifuClient.java +++ b/src/main/java/me/goudham/MyWaifuClient.java @@ -1,11 +1,12 @@ package me.goudham; +import me.goudham.domain.user.UserList; import me.goudham.util.Season; -import me.goudham.api.entity.series.FilteredSeries; -import me.goudham.api.entity.series.Series; -import me.goudham.api.entity.user.User; -import me.goudham.api.entity.waifu.FilteredWaifu; -import me.goudham.api.entity.waifu.Waifu; +import me.goudham.domain.series.FilteredSeries; +import me.goudham.domain.series.Series; +import me.goudham.domain.user.User; +import me.goudham.domain.waifu.FilteredWaifu; +import me.goudham.domain.waifu.Waifu; import me.goudham.exception.APIMapperException; import me.goudham.exception.APIResponseException; import org.jetbrains.annotations.NotNull; @@ -57,10 +58,28 @@ public class MyWaifuClient { return new MyWaifuClient(apiKey, httpClient); } + /** + * Retrieves information about the {@link Waifu} specified by the given slug + * + * @param slug The slug of the {@link Waifu} + * @return {@link Response} + * @throws APIResponseException If {@link APIWrapper} could not return information properly + * @throws APIMapperException If {@link APIMapper} could not correctly {@code deserialize} model + * + */ public Response getWaifu(@NotNull String slug) throws APIResponseException, APIMapperException { return APIWrapper.getWaifu(slug); } + /** + * Retrieves information about the {@link Waifu} specified by the given id + * + * @param id The id of the {@link Waifu} + * @return {@link Response} + * @throws APIResponseException If {@link APIWrapper} could not return information properly + * @throws APIMapperException If {@link APIMapper} could not correctly {@code deserialize} model + * + */ public Response getWaifu(@NotNull Integer id) throws APIResponseException, APIMapperException { return APIWrapper.getWaifu(String.valueOf(id)); } @@ -73,8 +92,8 @@ public class MyWaifuClient { return APIWrapper.getRandomWaifu(); } - public Response getSeries(@NotNull String param) throws APIMapperException, APIResponseException { - return APIWrapper.getSeries(param); + public Response getSeries(@NotNull String slug) throws APIMapperException, APIResponseException { + return APIWrapper.getSeries(slug); } public Response getSeries(@NotNull Integer id) throws APIMapperException, APIResponseException { @@ -113,6 +132,14 @@ public class MyWaifuClient { return APIWrapper.getUserProfile(String.valueOf(id)); } + public Response> getUserLists(@NotNull Integer id) throws APIMapperException, APIResponseException { + return APIWrapper.getUserLists(String.valueOf(id)); + } + + public Response getUserList(@NotNull Integer userId, @NotNull Integer listId) throws APIMapperException, APIResponseException { + return APIWrapper.getUserList(String.valueOf(userId), String.valueOf(listId)); + } + /** * Builder for {@link MyWaifuClient} * diff --git a/src/main/java/me/goudham/Response.java b/src/main/java/me/goudham/Response.java index 973b8c6..0d228fa 100644 --- a/src/main/java/me/goudham/Response.java +++ b/src/main/java/me/goudham/Response.java @@ -1,34 +1,34 @@ package me.goudham; -import me.goudham.api.entity.series.Series; -import me.goudham.api.entity.waifu.Waifu; +import me.goudham.domain.series.Series; +import me.goudham.domain.waifu.Waifu; /** * This is returned to the User when called by methods in {@link MyWaifuClient}. * E.g {@link MyWaifuClient#getWaifu(Integer)} *
- * Given a successful response, {@link #entity} will be populated with the requested entity. + * Given a successful response, {@link #model} will be populated with the requested model. *
* No matter successful or unsuccessful response, {@link #statusCode} and {@link #body} * will be populated to ensure the user has all the information for debugging or extra information within * the {@link #body} * - * @param The type of entity to be returned. E.g {@link Waifu} or {@link Series} + * @param The type of model to be returned. E.g {@link Waifu} or {@link Series} * */ public class Response { - private final T entity; + private final T model; private final Integer statusCode; private final String body; - Response(Integer statusCode, String body, T entity) { + Response(Integer statusCode, String body, T model) { this.statusCode = statusCode; this.body = body; - this.entity = entity; + this.model = model; } - public T getEntity() { - return entity; + public T getModel() { + return model; } public Integer getStatusCode() { diff --git a/src/main/java/me/goudham/api/entity/PaginationData.java b/src/main/java/me/goudham/domain/PaginationData.java similarity index 99% rename from src/main/java/me/goudham/api/entity/PaginationData.java rename to src/main/java/me/goudham/domain/PaginationData.java index 42acd8e..8ba619e 100644 --- a/src/main/java/me/goudham/api/entity/PaginationData.java +++ b/src/main/java/me/goudham/domain/PaginationData.java @@ -1,4 +1,4 @@ -package me.goudham.api.entity; +package me.goudham.domain; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/me/goudham/api/entity/Studio.java b/src/main/java/me/goudham/domain/Studio.java similarity index 98% rename from src/main/java/me/goudham/api/entity/Studio.java rename to src/main/java/me/goudham/domain/Studio.java index fc797f8..2dab95c 100644 --- a/src/main/java/me/goudham/api/entity/Studio.java +++ b/src/main/java/me/goudham/domain/Studio.java @@ -1,4 +1,4 @@ -package me.goudham.api.entity; +package me.goudham.domain; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/me/goudham/api/entity/series/FilteredSeries.java b/src/main/java/me/goudham/domain/series/FilteredSeries.java similarity index 98% rename from src/main/java/me/goudham/api/entity/series/FilteredSeries.java rename to src/main/java/me/goudham/domain/series/FilteredSeries.java index df25e0a..59feee3 100644 --- a/src/main/java/me/goudham/api/entity/series/FilteredSeries.java +++ b/src/main/java/me/goudham/domain/series/FilteredSeries.java @@ -1,11 +1,10 @@ -package me.goudham.api.entity.series; +package me.goudham.domain.series; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import javax.annotation.processing.Generated; import java.util.Objects; /** diff --git a/src/main/java/me/goudham/api/entity/series/Series.java b/src/main/java/me/goudham/domain/series/Series.java similarity index 98% rename from src/main/java/me/goudham/api/entity/series/Series.java rename to src/main/java/me/goudham/domain/series/Series.java index e8eee6f..6b8c9b1 100644 --- a/src/main/java/me/goudham/api/entity/series/Series.java +++ b/src/main/java/me/goudham/domain/series/Series.java @@ -1,8 +1,8 @@ -package me.goudham.api.entity.series; +package me.goudham.domain.series; import com.fasterxml.jackson.annotation.*; -import me.goudham.api.entity.Studio; -import me.goudham.api.entity.waifu.Waifu; +import me.goudham.domain.Studio; +import me.goudham.domain.waifu.Waifu; import java.util.Objects; diff --git a/src/main/java/me/goudham/api/entity/user/Creator.java b/src/main/java/me/goudham/domain/user/Creator.java similarity index 95% rename from src/main/java/me/goudham/api/entity/user/Creator.java rename to src/main/java/me/goudham/domain/user/Creator.java index 547388a..477107c 100644 --- a/src/main/java/me/goudham/api/entity/user/Creator.java +++ b/src/main/java/me/goudham/domain/user/Creator.java @@ -1,10 +1,10 @@ -package me.goudham.api.entity.user; +package me.goudham.domain.user; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import me.goudham.api.entity.waifu.Waifu; +import me.goudham.domain.waifu.Waifu; import java.util.Objects; diff --git a/src/main/java/me/goudham/api/entity/user/TrueLove.java b/src/main/java/me/goudham/domain/user/TrueLove.java similarity index 96% rename from src/main/java/me/goudham/api/entity/user/TrueLove.java rename to src/main/java/me/goudham/domain/user/TrueLove.java index a80f5c3..0c7c1f4 100644 --- a/src/main/java/me/goudham/api/entity/user/TrueLove.java +++ b/src/main/java/me/goudham/domain/user/TrueLove.java @@ -1,11 +1,11 @@ -package me.goudham.api.entity.user; +package me.goudham.domain.user; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import me.goudham.api.entity.series.Series; +import me.goudham.domain.series.Series; import java.util.Objects; diff --git a/src/main/java/me/goudham/api/entity/user/User.java b/src/main/java/me/goudham/domain/user/User.java similarity index 98% rename from src/main/java/me/goudham/api/entity/user/User.java rename to src/main/java/me/goudham/domain/user/User.java index 3519e11..fcc50ea 100644 --- a/src/main/java/me/goudham/api/entity/user/User.java +++ b/src/main/java/me/goudham/domain/user/User.java @@ -1,7 +1,7 @@ -package me.goudham.api.entity.user; +package me.goudham.domain.user; import com.fasterxml.jackson.annotation.*; -import me.goudham.api.entity.waifu.Waifu; +import me.goudham.domain.waifu.Waifu; import java.util.Objects; diff --git a/src/main/java/me/goudham/api/entity/user/UserList.java b/src/main/java/me/goudham/domain/user/UserList.java similarity index 97% rename from src/main/java/me/goudham/api/entity/user/UserList.java rename to src/main/java/me/goudham/domain/user/UserList.java index 1c1cffb..0764307 100644 --- a/src/main/java/me/goudham/api/entity/user/UserList.java +++ b/src/main/java/me/goudham/domain/user/UserList.java @@ -1,7 +1,7 @@ -package me.goudham.api.entity.user; +package me.goudham.domain.user; import com.fasterxml.jackson.annotation.*; -import me.goudham.api.entity.waifu.Waifu; +import me.goudham.domain.waifu.Waifu; import java.util.List; import java.util.Objects; diff --git a/src/main/java/me/goudham/api/entity/waifu/FilteredWaifu.java b/src/main/java/me/goudham/domain/waifu/FilteredWaifu.java similarity index 98% rename from src/main/java/me/goudham/api/entity/waifu/FilteredWaifu.java rename to src/main/java/me/goudham/domain/waifu/FilteredWaifu.java index 74a0b47..9cce0fb 100644 --- a/src/main/java/me/goudham/api/entity/waifu/FilteredWaifu.java +++ b/src/main/java/me/goudham/domain/waifu/FilteredWaifu.java @@ -1,7 +1,7 @@ -package me.goudham.api.entity.waifu; +package me.goudham.domain.waifu; import com.fasterxml.jackson.annotation.*; -import me.goudham.api.entity.series.FilteredSeries; +import me.goudham.domain.series.FilteredSeries; import java.util.List; import java.util.Objects; diff --git a/src/main/java/me/goudham/api/entity/waifu/Waifu.java b/src/main/java/me/goudham/domain/waifu/Waifu.java similarity index 99% rename from src/main/java/me/goudham/api/entity/waifu/Waifu.java rename to src/main/java/me/goudham/domain/waifu/Waifu.java index 6cb527a..12711a4 100644 --- a/src/main/java/me/goudham/api/entity/waifu/Waifu.java +++ b/src/main/java/me/goudham/domain/waifu/Waifu.java @@ -1,8 +1,8 @@ -package me.goudham.api.entity.waifu; +package me.goudham.domain.waifu; import com.fasterxml.jackson.annotation.*; -import me.goudham.api.entity.series.Series; -import me.goudham.api.entity.user.Creator; +import me.goudham.domain.series.Series; +import me.goudham.domain.user.Creator; import javax.annotation.processing.Generated; import java.util.HashMap; diff --git a/src/main/java/me/goudham/api/entity/waifu/WaifuImage.java b/src/main/java/me/goudham/domain/waifu/WaifuImage.java similarity index 98% rename from src/main/java/me/goudham/api/entity/waifu/WaifuImage.java rename to src/main/java/me/goudham/domain/waifu/WaifuImage.java index 622a675..838a3c1 100644 --- a/src/main/java/me/goudham/api/entity/waifu/WaifuImage.java +++ b/src/main/java/me/goudham/domain/waifu/WaifuImage.java @@ -1,4 +1,4 @@ -package me.goudham.api.entity.waifu; +package me.goudham.domain.waifu; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty;