From 5b18bb626b1d582ee1ba604265d9b2db561cfcdb Mon Sep 17 00:00:00 2001 From: Gilbert Kimutai Date: Tue, 19 Feb 2019 20:03:29 +0300 Subject: [PATCH] Added filter classes --- .../me/gilo/woodroid/data/api/CouponAPI.java | 2 +- .../gilo/woodroid/data/api/CustomerAPI.java | 4 +- .../me/gilo/woodroid/data/api/OrderAPI.java | 4 +- .../gilo/woodroid/data/api/OrderNoteAPI.java | 4 +- .../data/api/ProductAttributeAPI.java | 4 +- .../data/api/ProductAttributeTermAPI.java | 4 +- .../woodroid/data/api/ProductCategoryAPI.java | 4 +- .../woodroid/data/api/ProductReviewAPI.java | 4 +- .../gilo/woodroid/data/api/ProductTagAPI.java | 4 +- .../data/api/ProductVariationAPI.java | 6 +- .../me/gilo/woodroid/data/api/RefundAPI.java | 4 +- .../woodroid/data/api/ShippingClassAPI.java | 4 +- .../woodroid/models/filters/CouponFilter.java | 15 ++ .../models/filters/CustomerFilter.java | 89 ++++++++ .../woodroid/models/filters/ListFilter.java | 136 ++++++++++++ .../woodroid/models/filters/OrderFilter.java | 72 +++++++ .../models/filters/OrderNoteFilter.java | 40 ++++ .../filters/ProductAttributeFilter.java | 29 +++ .../filters/ProductAttributeTermFilter.java | 44 ++++ .../models/filters/ProductCategoryFilter.java | 44 ++++ .../models/filters/ProductFilter.java | 172 ++------------- .../models/filters/ProductReviewFilter.java | 61 ++++++ .../models/filters/ProductTagFilter.java | 36 ++++ .../filters/ProductVariationFilter.java | 196 ++++++++++++++++++ .../woodroid/models/filters/RefundFilter.java | 38 ++++ .../models/filters/ShippingClassesFilter.java | 36 ++++ .../gilo/woodroid/repo/CouponRepository.java | 5 + .../woodroid/repo/CustomerRepository.java | 5 + .../gilo/woodroid/repo/OrderRepository.java | 5 + .../repo/order/OrderNoteRepository.java | 5 + .../woodroid/repo/order/RefundRepository.java | 5 + .../repo/product/AttributeRepository.java | 5 + .../repo/product/AttributeTermRepository.java | 5 + .../repo/product/CategoryRepository.java | 5 + .../repo/product/ReviewRepository.java | 5 + .../repo/product/ShippingClassRepository.java | 5 + .../woodroid/repo/product/TagRepository.java | 5 + .../repo/product/VariationRepository.java | 6 +- 38 files changed, 937 insertions(+), 180 deletions(-) create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/CouponFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/CustomerFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderNoteFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeTermFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductCategoryFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductReviewFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductTagFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductVariationFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/RefundFilter.java create mode 100644 woodroid/src/main/java/me/gilo/woodroid/models/filters/ShippingClassesFilter.java diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/CouponAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/CouponAPI.java index 7b1a264..a278f44 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/CouponAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/CouponAPI.java @@ -23,7 +23,7 @@ public interface CouponAPI{ Call> list(); @GET("coupons") - Call> filter(@QueryMap Map filter); + Call> filter(@QueryMap Map filter); @Headers("Content-Type: application/json") @PUT("coupons/{id}") diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/CustomerAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/CustomerAPI.java index d0e9665..ffd2ec3 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/CustomerAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/CustomerAPI.java @@ -39,7 +39,7 @@ public interface CustomerAPI { @POST("customers/{id}/downloads") Call> downloads(@Path("id") int id); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("customers") + Call> filter(@QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderAPI.java index 59058eb..9d4c836 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderAPI.java @@ -35,7 +35,7 @@ public interface OrderAPI { @POST("orders/batch") Call batch(@Body Order body); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("orders") + Call> filter(@QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderNoteAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderNoteAPI.java index 7a564a1..8e22156 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderNoteAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/OrderNoteAPI.java @@ -29,7 +29,7 @@ public interface OrderNoteAPI { @DELETE("orders/{id}/notes/{note_id}") Call delete(@Path("id") int order_id, @Path("note_id") int note_id, @Query("force") boolean force); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("orders/{id}/notes") + Call> filter(@Path("id") int order_id, @QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeAPI.java index e192ce9..849c391 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeAPI.java @@ -35,7 +35,7 @@ public interface ProductAttributeAPI { @POST("products/attributes/batch") Call batch(@Body Attribute body); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("products/attributes") + Call> filter(@QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeTermAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeTermAPI.java index 4071a06..bcfef17 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeTermAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductAttributeTermAPI.java @@ -34,7 +34,7 @@ public interface ProductAttributeTermAPI { @POST("products/attributes/batch") Call batch(@Body AttributeTerm body); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("products/attributes/{id}/terms") + Call> filter(@Path("id") int attribute_id, @QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductCategoryAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductCategoryAPI.java index 26606db..ba3ddf5 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductCategoryAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductCategoryAPI.java @@ -35,7 +35,7 @@ public interface ProductCategoryAPI { @POST("products/categories/batch") Call batch(@Body Category body); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("products/categories") + Call> filter(@QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductReviewAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductReviewAPI.java index 168601d..f5e6700 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductReviewAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductReviewAPI.java @@ -36,7 +36,7 @@ public interface ProductReviewAPI { @POST("products/reviews/batch") Call batch(@Body ProductReview body); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("products/reviews") + Call> filter(@QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductTagAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductTagAPI.java index 33f4953..acdbb83 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductTagAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductTagAPI.java @@ -35,7 +35,7 @@ public interface ProductTagAPI { @POST("products/tags/batch") Call batch(@Body Tag body); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("products/tags") + Call> filter(@QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductVariationAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductVariationAPI.java index 3afeb1e..ff356b2 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductVariationAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/ProductVariationAPI.java @@ -38,9 +38,7 @@ public interface ProductVariationAPI { @PUT("products/{id}/variations/{variation_id}") Call batch(@Path("id") int product_id, @Path("variation_id") int variation_id, @Body Product body); - @GET("coupons") - Call> filter(@QueryMap Map filter); - - + @GET("products/{id}/variations") + Call> filter(@Path("id") int product_id, @QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/RefundAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/RefundAPI.java index 7da704e..2d93fe7 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/RefundAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/RefundAPI.java @@ -29,7 +29,7 @@ public interface RefundAPI { @DELETE("orders/{id}/refunds/{refund_id}") Call delete(@Path("id") int order_id, @Path("refund_id") int refund_id, @Query("force") boolean force); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("orders/{id}/refunds") + Call> filter(@Path("id") int order_id, @QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/data/api/ShippingClassAPI.java b/woodroid/src/main/java/me/gilo/woodroid/data/api/ShippingClassAPI.java index 118c536..52b728c 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/data/api/ShippingClassAPI.java +++ b/woodroid/src/main/java/me/gilo/woodroid/data/api/ShippingClassAPI.java @@ -35,7 +35,7 @@ public interface ShippingClassAPI { @POST("products/shipping_classes/batch") Call batch(@Body ShippingClass body); - @GET("coupons") - Call> filter(@QueryMap Map filter); + @GET("products/shipping_classes") + Call> filter(@QueryMap Map filter); } \ No newline at end of file diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/CouponFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/CouponFilter.java new file mode 100644 index 0000000..09ea723 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/CouponFilter.java @@ -0,0 +1,15 @@ +package me.gilo.woodroid.models.filters; + +public class CouponFilter extends ListFilter{ + + String code; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + addFilter("code", code); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/CustomerFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/CustomerFilter.java new file mode 100644 index 0000000..178f310 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/CustomerFilter.java @@ -0,0 +1,89 @@ +package me.gilo.woodroid.models.filters; + +public class CustomerFilter extends ListFilter{ + + String email; + String role; + + //all, administrator, editor, author, contributor, subscriber, customer and shop_manager + + enum Role { + ALL{ + @Override + public String toString() { + return "all"; + } + }, + ADMINISTRATOR{ + @Override + public String toString() { + return "administrator"; + } + }, + EDITOR{ + @Override + public String toString() { + return "editor"; + } + }, + + AUTHOR{ + @Override + public String toString() { + return "author"; + } + }, + + CONTRIBUTOR{ + @Override + public String toString() { + return "contributor"; + } + }, + + SUBSCRIBER{ + @Override + public String toString() { + return "subscriber"; + } + }, + + CUSTOMER{ + @Override + public String toString() { + return "customer"; + } + }, + + SHOP_MANAGER{ + @Override + public String toString() { + return "shop_manager"; + } + }, + + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + addFilter("email", email); + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + addFilter("role", role); + } + + public void setRole(Role role) { + this.role = role.toString(); + addFilter("role", role.toString()); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ListFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ListFilter.java index a616b30..23e14e8 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ListFilter.java +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ListFilter.java @@ -1,5 +1,141 @@ package me.gilo.woodroid.models.filters; +import java.util.HashMap; +import java.util.Map; + public class ListFilter { + + String context; + int page; + int per_page; + String search; + String after; + String before; + int[] exclude; + int[] include; + int offset; + String order; + String orderby; + + + Map filters = new HashMap<>(); + + public String getContext() { + return context; + } + + public void setContext(String context) { + this.context = context; + + addFilter("context", context); + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + + addFilter("page", page); + } + + public int getPer_page() { + return per_page; + } + + public void setPer_page(int per_page) { + this.per_page = per_page; + + addFilter("per_page", per_page); + } + + public String getSearch() { + return search; + } + + public void setSearch(String search) { + this.search = search; + + addFilter("search", search); + } + + public String getAfter() { + return after; + } + + public void setAfter(String after) { + this.after = after; + + addFilter("after", after); + } + + public String getBefore() { + return before; + } + + public void setBefore(String before) { + this.before = before; + + addFilter("before", before); + } + + public int[] getExclude() { + return exclude; + } + + public void setExclude(int[] exclude) { + this.exclude = exclude; + + addFilter("exclude", exclude); + } + + public int[] getInclude() { + return include; + } + + public void setInclude(int[] include) { + this.include = include; + + addFilter("include", include); + } + + public int getOffset() { + return offset; + } + + public void setOffset(int offset) { + this.offset = offset; + + addFilter("offset", offset); + } + + public String getOrder() { + return order; + } + + public void setOrder(String order) { + this.order = order; + + addFilter("order", order); + } + + public String getOrderby() { + return orderby; + } + + public void setOrderby(String orderby) { + this.orderby = orderby; + + addFilter("orderby", orderby); + } + + public void addFilter(String filter, Object value){ + filters.put(filter, value.toString()); + } + + public Map getFilters() { + return filters; + } } diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderFilter.java new file mode 100644 index 0000000..9c48a2b --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderFilter.java @@ -0,0 +1,72 @@ +package me.gilo.woodroid.models.filters; + +public class OrderFilter extends ListFilter{ + + private int[] parent; + private int[] parent_exclude; + + String status; + + int customer; + int product; + int dp; + + public int[] getParent() { + return parent; + } + + public void setParent(int[] parent) { + this.parent = parent; + addFilter("parent", parent); + } + + public int[] getParent_exclude() { + return parent_exclude; + } + + public void setParent_exclude(int[] parent_exclude) { + this.parent_exclude = parent_exclude; + + addFilter("parent_exclude", parent_exclude); + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + + addFilter("status", status); + } + + public int getCustomer() { + return customer; + } + + public void setCustomer(int customer) { + this.customer = customer; + + addFilter("customer", customer); + } + + public int getProduct() { + return product; + } + + public void setProduct(int product) { + this.product = product; + + addFilter("product", product); + } + + public int getDp() { + return dp; + } + + public void setDp(int dp) { + this.dp = dp; + addFilter("dp", dp); + + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderNoteFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderNoteFilter.java new file mode 100644 index 0000000..fc78498 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/OrderNoteFilter.java @@ -0,0 +1,40 @@ +package me.gilo.woodroid.models.filters; + +import java.util.HashMap; +import java.util.Map; + +public class OrderNoteFilter { + + String context; + String type; + + Map filters = new HashMap<>(); + + public String getContext() { + return context; + } + + public void setContext(String context) { + this.context = context; + + addFilter("context", context); + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + + addFilter("type", type); + } + + public void addFilter(String filter, Object value) { + filters.put(filter, value.toString()); + } + + public Map getFilters() { + return filters; + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeFilter.java new file mode 100644 index 0000000..b9074d5 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeFilter.java @@ -0,0 +1,29 @@ +package me.gilo.woodroid.models.filters; + +import java.util.HashMap; +import java.util.Map; + +public class ProductAttributeFilter { + + String context; + + Map filters = new HashMap<>(); + + public String getContext() { + return context; + } + + public void setContext(String context) { + this.context = context; + + addFilter("context", context); + } + + public void addFilter(String filter, Object value) { + filters.put(filter, value.toString()); + } + + public Map getFilters() { + return filters; + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeTermFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeTermFilter.java new file mode 100644 index 0000000..4f02da6 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductAttributeTermFilter.java @@ -0,0 +1,44 @@ +package me.gilo.woodroid.models.filters; + +public class ProductAttributeTermFilter extends ListFilter{ + private int[] parent; + int product; + boolean hide_empty; + String slug; + + public int[] getParent() { + return parent; + } + + public void setParent(int[] parent) { + this.parent = parent; + addFilter("parent", parent); + } + + public int getProduct() { + return product; + } + + public void setProduct(int product) { + this.product = product; + addFilter("product", product); + } + + public boolean isHide_empty() { + return hide_empty; + } + + public void setHide_empty(boolean hide_empty) { + this.hide_empty = hide_empty; + addFilter("hide_empty", hide_empty); + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + addFilter("slug", slug); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductCategoryFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductCategoryFilter.java new file mode 100644 index 0000000..abb7ecb --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductCategoryFilter.java @@ -0,0 +1,44 @@ +package me.gilo.woodroid.models.filters; + +public class ProductCategoryFilter extends ListFilter{ + private int[] parent; + int product; + boolean hide_empty; + String slug; + + public int[] getParent() { + return parent; + } + + public void setParent(int[] parent) { + this.parent = parent; + addFilter("parent", parent); + } + + public int getProduct() { + return product; + } + + public void setProduct(int product) { + this.product = product; + addFilter("product", product); + } + + public boolean isHide_empty() { + return hide_empty; + } + + public void setHide_empty(boolean hide_empty) { + this.hide_empty = hide_empty; + addFilter("hide_empty", hide_empty); + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + addFilter("slug", slug); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductFilter.java index 4d1766f..876175c 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductFilter.java +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductFilter.java @@ -1,154 +1,26 @@ package me.gilo.woodroid.models.filters; -import android.util.Log; -import com.fasterxml.jackson.databind.ObjectMapper; - -import java.lang.reflect.Field; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; -public class ProductFilter{ - String context; - int page; - int per_page; - String search; - String after; - String before; - int[] exclude; - int[] include; - int offset; - String order; - String orderby; - int[] parent; - int[] parent_exclude; - String slug; - String status; - String type; - String sku; - boolean featured; - String category; - String tag; - String shipping_class; - String attribute; - String attribute_term; - String tax_class; - boolean on_sale; - String min_price; - String max_price; - String stock_status; - - Map filters = new HashMap<>(); - - public String getContext() { - return context; - } - - public void setContext(String context) { - this.context = context; - - addFilter("context", context); - } - - public int getPage() { - return page; - } - - public void setPage(int page) { - this.page = page; - - addFilter("page", page); - } - - public int getPer_page() { - return per_page; - } - - public void setPer_page(int per_page) { - this.per_page = per_page; - - addFilter("per_page", per_page); - } - - public String getSearch() { - return search; - } - - public void setSearch(String search) { - this.search = search; - - addFilter("search", search); - } - - public String getAfter() { - return after; - } - - public void setAfter(String after) { - this.after = after; - - addFilter("after", after); - } - - public String getBefore() { - return before; - } - - public void setBefore(String before) { - this.before = before; - - addFilter("before", before); - } - - public int[] getExclude() { - return exclude; - } - - public void setExclude(int[] exclude) { - this.exclude = exclude; - - addFilter("exclude", exclude); - } - - public int[] getInclude() { - return include; - } - - public void setInclude(int[] include) { - this.include = include; - - addFilter("include", include); - } - - public int getOffset() { - return offset; - } - - public void setOffset(int offset) { - this.offset = offset; - - addFilter("offset", offset); - } - - public String getOrder() { - return order; - } - - public void setOrder(String order) { - this.order = order; - - addFilter("order", order); - } - - public String getOrderby() { - return orderby; - } - - public void setOrderby(String orderby) { - this.orderby = orderby; - - addFilter("orderby", orderby); - } +public class ProductFilter extends ListFilter{ + private int[] parent; + private int[] parent_exclude; + private String slug; + private String status; + private String type; + private String sku; + private boolean featured; + private String category; + private String tag; + private String shipping_class; + private String attribute; + private String attribute_term; + private String tax_class; + private boolean on_sale; + private String min_price; + private String max_price; + private String stock_status; public int[] getParent() { return parent; @@ -324,12 +196,4 @@ public class ProductFilter{ addFilter("stock_status", stock_status); } - - public void addFilter(String filter, Object value){ - filters.put(filter, value.toString()); - } - - public Map getFilters() { - return filters; - } } diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductReviewFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductReviewFilter.java new file mode 100644 index 0000000..c7a8e73 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductReviewFilter.java @@ -0,0 +1,61 @@ +package me.gilo.woodroid.models.filters; + +public class ProductReviewFilter extends ListFilter{ + + int[] reviewer; + int[] reviewer_exclude; + String[] reviewer_email; + + int[] product; + String status; + + public int[] getReviewer() { + return reviewer; + } + + public void setReviewer(int[] reviewer) { + this.reviewer = reviewer; + + addFilter("reviewer", reviewer); + } + + public int[] getReviewer_exclude() { + return reviewer_exclude; + } + + public void setReviewer_exclude(int[] reviewer_exclude) { + this.reviewer_exclude = reviewer_exclude; + + addFilter("reviewer_exclude", reviewer_exclude); + } + + public String[] getReviewer_email() { + return reviewer_email; + } + + public void setReviewer_email(String[] reviewer_email) { + this.reviewer_email = reviewer_email; + + addFilter("reviewer_email", reviewer_email); + } + + public int[] getProduct() { + return product; + } + + public void setProduct(int[] product) { + this.product = product; + + addFilter("product", product); + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + + addFilter("status", status); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductTagFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductTagFilter.java new file mode 100644 index 0000000..a0e8050 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductTagFilter.java @@ -0,0 +1,36 @@ +package me.gilo.woodroid.models.filters; + +public class ProductTagFilter extends ListFilter{ + + int product; + boolean hide_empty; + String slug; + + + public int getProduct() { + return product; + } + + public void setProduct(int product) { + this.product = product; + addFilter("product", product); + } + + public boolean isHide_empty() { + return hide_empty; + } + + public void setHide_empty(boolean hide_empty) { + this.hide_empty = hide_empty; + addFilter("hide_empty", hide_empty); + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + addFilter("slug", slug); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductVariationFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductVariationFilter.java new file mode 100644 index 0000000..2fd6a7d --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ProductVariationFilter.java @@ -0,0 +1,196 @@ +package me.gilo.woodroid.models.filters; + +public class ProductVariationFilter extends ListFilter{ + private int[] parent; + private int[] parent_exclude; + private String slug; + private String status; + private String type; + private String sku; + private boolean featured; + private String category; + private String tag; + private String shipping_class; + private String attribute; + private String attribute_term; + private String tax_class; + private boolean on_sale; + private String min_price; + private String max_price; + private String stock_status; + + public int[] getParent() { + return parent; + } + + public void setParent(int[] parent) { + this.parent = parent; + + addFilter("parent", parent); + + } + + public int[] getParent_exclude() { + return parent_exclude; + } + + public void setParent_exclude(int[] parent_exclude) { + this.parent_exclude = parent_exclude; + + addFilter("parent_exclude", parent_exclude); + + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + + addFilter("slug", slug); + + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + + addFilter("status", status); + + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + + addFilter("type", type); + } + + public String getSku() { + return sku; + } + + public void setSku(String sku) { + this.sku = sku; + + addFilter("sku", sku); + } + + public boolean isFeatured() { + return featured; + } + + public void setFeatured(boolean featured) { + this.featured = featured; + + addFilter("featured", featured); + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + + addFilter("category", category); + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + + addFilter("tag", tag); + } + + public String getShipping_class() { + return shipping_class; + } + + public void setShipping_class(String shipping_class) { + this.shipping_class = shipping_class; + + addFilter("shipping_class", shipping_class); + } + + public String getAttribute() { + return attribute; + } + + public void setAttribute(String attribute) { + this.attribute = attribute; + + addFilter("attribute", attribute); + } + + public String getAttribute_term() { + return attribute_term; + } + + public void setAttribute_term(String attribute_term) { + this.attribute_term = attribute_term; + + addFilter("attribute_term", attribute_term); + } + + + public String getTax_class() { + return tax_class; + } + + public void setTax_class(String tax_class) { + this.tax_class = tax_class; + + addFilter("tax_class", tax_class); + } + + public boolean isOn_sale() { + return on_sale; + } + + public void setOn_sale(boolean on_sale) { + this.on_sale = on_sale; + + addFilter("on_sale", on_sale); + } + + public String getMin_price() { + return min_price; + } + + public void setMin_price(String min_price) { + this.min_price = min_price; + + addFilter("min_price", min_price); + } + + public String getMax_price() { + return max_price; + } + + public void setMax_price(String max_price) { + this.max_price = max_price; + + addFilter("max_price", max_price); + } + + public String getStock_status() { + return stock_status; + } + + public void setStock_status(String stock_status) { + this.stock_status = stock_status; + + addFilter("stock_status", stock_status); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/RefundFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/RefundFilter.java new file mode 100644 index 0000000..b530b44 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/RefundFilter.java @@ -0,0 +1,38 @@ +package me.gilo.woodroid.models.filters; + +public class RefundFilter extends ListFilter{ + + private int[] parent; + private int[] parent_exclude; + + int dp; + + public int[] getParent() { + return parent; + } + + public void setParent(int[] parent) { + this.parent = parent; + addFilter("parent", parent); + } + + public int[] getParent_exclude() { + return parent_exclude; + } + + public void setParent_exclude(int[] parent_exclude) { + this.parent_exclude = parent_exclude; + + addFilter("parent_exclude", parent_exclude); + } + + public int getDp() { + return dp; + } + + public void setDp(int dp) { + this.dp = dp; + addFilter("dp", dp); + + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/models/filters/ShippingClassesFilter.java b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ShippingClassesFilter.java new file mode 100644 index 0000000..ae173e3 --- /dev/null +++ b/woodroid/src/main/java/me/gilo/woodroid/models/filters/ShippingClassesFilter.java @@ -0,0 +1,36 @@ +package me.gilo.woodroid.models.filters; + +public class ShippingClassesFilter extends ListFilter{ + + int product; + boolean hide_empty; + String slug; + + + public int getProduct() { + return product; + } + + public void setProduct(int product) { + this.product = product; + addFilter("product", product); + } + + public boolean isHide_empty() { + return hide_empty; + } + + public void setHide_empty(boolean hide_empty) { + this.hide_empty = hide_empty; + addFilter("hide_empty", hide_empty); + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + addFilter("slug", slug); + } +} diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/CouponRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/CouponRepository.java index 874618a..a3353e0 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/CouponRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/CouponRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo; import me.gilo.woodroid.data.api.CouponAPI; import me.gilo.woodroid.models.Coupon; +import me.gilo.woodroid.models.filters.CouponFilter; import retrofit2.Call; import java.util.List; @@ -28,6 +29,10 @@ public class CouponRepository extends WooRepository{ return apiService.list(); } + public Call> coupons(CouponFilter couponFilter) { + return apiService.filter(couponFilter.getFilters()); + } + public Call update(int id, Coupon coupon) { return apiService.update(id, coupon); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/CustomerRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/CustomerRepository.java index 1d8606a..f95e4f4 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/CustomerRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/CustomerRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo; import me.gilo.woodroid.data.api.CustomerAPI; import me.gilo.woodroid.models.Customer; +import me.gilo.woodroid.models.filters.CustomerFilter; import retrofit2.Call; import java.util.List; @@ -28,6 +29,10 @@ public class CustomerRepository extends WooRepository{ return apiService.list(); } + public Call> customers(CustomerFilter customerFilter) { + return apiService.filter(customerFilter.getFilters()); + } + public Call update(int id, Customer customer) { return apiService.update(id, customer); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/OrderRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/OrderRepository.java index 3a63ced..b4efbec 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/OrderRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/OrderRepository.java @@ -3,6 +3,7 @@ package me.gilo.woodroid.repo; import me.gilo.woodroid.data.api.OrderAPI; import me.gilo.woodroid.models.Order; import me.gilo.woodroid.models.OrderNote; +import me.gilo.woodroid.models.filters.OrderFilter; import me.gilo.woodroid.repo.order.OrderNoteRepository; import me.gilo.woodroid.repo.order.RefundRepository; import retrofit2.Call; @@ -36,6 +37,10 @@ public class OrderRepository extends WooRepository { return apiService.list(); } + public Call> orders(OrderFilter orderFilter) { + return apiService.filter(orderFilter.getFilters()); + } + public Call update(int id, Order order) { return apiService.update(id, order); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/order/OrderNoteRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/order/OrderNoteRepository.java index 475e293..8046730 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/order/OrderNoteRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/order/OrderNoteRepository.java @@ -3,6 +3,7 @@ package me.gilo.woodroid.repo.order; import me.gilo.woodroid.data.api.OrderNoteAPI; import me.gilo.woodroid.models.Order; import me.gilo.woodroid.models.OrderNote; +import me.gilo.woodroid.models.filters.OrderNoteFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -29,6 +30,10 @@ public class OrderNoteRepository extends WooRepository { return apiService.list(order.getId()); } + public Call> notes(Order order, OrderNoteFilter orderNoteFilter) { + return apiService.filter(order.getId(), orderNoteFilter.getFilters()); + } + public Call delete(Order order, int id) { return apiService.delete(order.getId(), id); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/order/RefundRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/order/RefundRepository.java index a4dff90..cad2970 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/order/RefundRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/order/RefundRepository.java @@ -3,6 +3,7 @@ package me.gilo.woodroid.repo.order; import me.gilo.woodroid.data.api.RefundAPI; import me.gilo.woodroid.models.Order; import me.gilo.woodroid.models.Refund; +import me.gilo.woodroid.models.filters.RefundFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -30,6 +31,10 @@ public class RefundRepository extends WooRepository { return apiService.list(order.getId()); } + public Call> refunds(Order order, RefundFilter refundFilter) { + return apiService.filter(order.getId(), refundFilter.getFilters()); + } + public Call delete(Order order, int id) { return apiService.delete(order.getId(), id); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeRepository.java index 6f59c1e..1f4db0c 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo.product; import me.gilo.woodroid.data.api.ProductAttributeAPI; import me.gilo.woodroid.models.Attribute; +import me.gilo.woodroid.models.filters.ProductAttributeFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -29,6 +30,10 @@ public class AttributeRepository extends WooRepository { return apiService.list(); } + public Call> attributes(ProductAttributeFilter productAttributeFilter) { + return apiService.filter(productAttributeFilter.getFilters()); + } + public Call update(int id, Attribute attribute) { return apiService.update(id, attribute); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeTermRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeTermRepository.java index b96f6ac..91e02d8 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeTermRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/product/AttributeTermRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo.product; import me.gilo.woodroid.data.api.ProductAttributeTermAPI; import me.gilo.woodroid.models.AttributeTerm; +import me.gilo.woodroid.models.filters.ProductAttributeFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -28,6 +29,10 @@ public class AttributeTermRepository extends WooRepository { return apiService.list(attribute_id); } + public Call> terms(int attribute_id, ProductAttributeFilter productAttributeFilter) { + return apiService.filter(attribute_id, productAttributeFilter.getFilters()); + } + public Call update(int attribute_id, int id, AttributeTerm term) { return apiService.update(attribute_id, id, term); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/product/CategoryRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/product/CategoryRepository.java index 479d1e0..000b4ed 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/product/CategoryRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/product/CategoryRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo.product; import me.gilo.woodroid.data.api.ProductCategoryAPI; import me.gilo.woodroid.models.Category; +import me.gilo.woodroid.models.filters.ProductCategoryFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -29,6 +30,10 @@ public class CategoryRepository extends WooRepository { return apiService.list(); } + public Call> categories(ProductCategoryFilter productCategoryFilter) { + return apiService.filter(productCategoryFilter.getFilters()); + } + public Call update(int id, Category category) { return apiService.update(id, category); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/product/ReviewRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/product/ReviewRepository.java index 00aa1a9..e273b8a 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/product/ReviewRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/product/ReviewRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo.product; import me.gilo.woodroid.data.api.ProductReviewAPI; import me.gilo.woodroid.models.ProductReview; +import me.gilo.woodroid.models.filters.ProductReviewFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -29,6 +30,10 @@ public class ReviewRepository extends WooRepository { return apiService.list(); } + public Call> reviews(ProductReviewFilter productReviewFilter) { + return apiService.filter(productReviewFilter.getFilters()); + } + public Call update(int id, ProductReview review) { return apiService.update(id, review); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/product/ShippingClassRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/product/ShippingClassRepository.java index c39582a..03d1748 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/product/ShippingClassRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/product/ShippingClassRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo.product; import me.gilo.woodroid.data.api.ShippingClassAPI; import me.gilo.woodroid.models.ShippingClass; +import me.gilo.woodroid.models.filters.ShippingClassesFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -29,6 +30,10 @@ public class ShippingClassRepository extends WooRepository { return apiService.list(); } + public Call> shippingClasses(ShippingClassesFilter shippingClassesFilter) { + return apiService.filter(shippingClassesFilter.getFilters()); + } + public Call update(int id, ShippingClass shippingClass) { return apiService.update(id, shippingClass); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/product/TagRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/product/TagRepository.java index 004d95d..0a2cb59 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/product/TagRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/product/TagRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo.product; import me.gilo.woodroid.data.api.ProductTagAPI; import me.gilo.woodroid.models.Tag; +import me.gilo.woodroid.models.filters.ProductTagFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -29,6 +30,10 @@ public class TagRepository extends WooRepository { return apiService.list(); } + public Call> tags(ProductTagFilter productTagFilter) { + return apiService.filter(productTagFilter.getFilters()); + } + public Call update(int id, Tag tag) { return apiService.update(id, tag); } diff --git a/woodroid/src/main/java/me/gilo/woodroid/repo/product/VariationRepository.java b/woodroid/src/main/java/me/gilo/woodroid/repo/product/VariationRepository.java index 1344bb6..6a27857 100644 --- a/woodroid/src/main/java/me/gilo/woodroid/repo/product/VariationRepository.java +++ b/woodroid/src/main/java/me/gilo/woodroid/repo/product/VariationRepository.java @@ -2,6 +2,7 @@ package me.gilo.woodroid.repo.product; import me.gilo.woodroid.data.api.ProductVariationAPI; import me.gilo.woodroid.models.Variation; +import me.gilo.woodroid.models.filters.ProductVariationFilter; import me.gilo.woodroid.repo.WooRepository; import retrofit2.Call; @@ -29,6 +30,10 @@ public class VariationRepository extends WooRepository { return apiService.list(product_id); } + public Call> variations(int product_id, ProductVariationFilter productVariationFilter) { + return apiService.filter(product_id, productVariationFilter.getFilters()); + } + public Call update(int product_id, int id, Variation variation) { return apiService.update(product_id, id, variation); } @@ -41,5 +46,4 @@ public class VariationRepository extends WooRepository { return apiService.delete(product_id, id, force); } - }