Restructured the API classes

This commit is contained in:
Gilbert Kimutai 2019-04-17 04:27:02 +03:00
parent 58a8cd5f6a
commit 69277df89b
4 changed files with 65 additions and 62 deletions

View File

@ -25,7 +25,7 @@ public class AppModule {
@Provides
@Singleton
Woocommerce providesWoocommerce() {
Woocommerce woocommerce = new Woocommerce.Builder()
Woocommerce woocommerce = Woocommerce.Builder()
.setSiteUrl("http://157.230.131.179")
.setApiVersion(Woocommerce.API_V3)
.setConsumerKey("ck_26c61abd7eeff238d87dc56585bf26cb2d1a1ec3")

View File

@ -0,0 +1,39 @@
package me.gilo.woodroid;
import me.gilo.woodroid.data.ApiVersion;
public class Builder {
private String siteUrl;
private ApiVersion apiVerion;
private String consumerKey;
private String consumerSecret;
public Builder() {
}
public Builder setSiteUrl(String siteUrl) {
this.siteUrl = siteUrl;
return this;
}
public Builder setApiVersion(ApiVersion apiVerion) {
this.apiVerion = apiVerion;
return this;
}
public Builder setConsumerKey(String consumerKey) {
this.consumerKey = consumerKey;
return this;
}
public Builder setConsumerSecret(String consumerSecret) {
this.consumerSecret = consumerSecret;
return this;
}
public Woocommerce build() {
return new Woocommerce(siteUrl, apiVerion, consumerKey, consumerSecret);
}
}

View File

@ -2,6 +2,7 @@ package me.gilo.woodroid;
import android.content.Context;
import android.util.Log;
import me.gilo.woodroid.data.ApiVersion;
import me.gilo.woodroid.models.PaymentGateway;
import me.gilo.woodroid.repo.*;
import me.gilo.woodroid.repo.order.OrderNoteRepository;
@ -35,31 +36,12 @@ public class Woocommerce {
final SettingsRepository settingsRepository;
final ShippingMethodRepository shippingMethodRepository;
enum ApiVersion {
API_VERSION1{
@Override
public String toString() {
return "1";
}
},
API_VERSION2{
@Override
public String toString() {
return "2";
}
},
API_VERSION3{
@Override
public String toString() {
return "3";
}
},
public static Builder Builder(){
return new Builder();
}
public Woocommerce(String siteUrl, ApiVersion apiVerion, String consumerKey, String consumerSecret) {
String baseUrl = siteUrl + "/wp-json/wc/v" + apiVerion + "/";
String cartBaseUrl = siteUrl + "/wp-json/wc/v" + 2 + "/";
orderNoteRepository = new OrderNoteRepository(baseUrl, consumerKey, consumerSecret);
@ -74,11 +56,8 @@ public class Woocommerce {
customerRepository = new CustomerRepository(baseUrl, consumerKey, consumerSecret);
orderRepository = new OrderRepository(baseUrl, consumerKey, consumerSecret);
productRepository = new ProductRepository(baseUrl, consumerKey, consumerSecret);
reportsRepository = new ReportsRepository(baseUrl, consumerKey, consumerSecret);
cartRepository = new CartRepository(cartBaseUrl, consumerKey, consumerSecret);
reviewRepository = new ReviewRepository(baseUrl, consumerKey, consumerSecret);
paymentGatewayRepository = new PaymentGatewayRepository(baseUrl, consumerKey, consumerSecret);
settingsRepository = new SettingsRepository(baseUrl, consumerKey, consumerSecret);
@ -86,43 +65,6 @@ public class Woocommerce {
}
public static class Builder {
private String siteUrl;
private ApiVersion apiVerion;
private String consumerKey;
private String consumerSecret;
public Builder() {
}
public Builder setSiteUrl(String siteUrl) {
this.siteUrl = siteUrl;
return this;
}
public Builder setApiVersion(ApiVersion apiVerion) {
this.apiVerion = apiVerion;
return this;
}
public Builder setConsumerKey(String consumerKey) {
this.consumerKey = consumerKey;
return this;
}
public Builder setConsumerSecret(String consumerSecret) {
this.consumerSecret = consumerSecret;
return this;
}
public Woocommerce build() {
return new Woocommerce(siteUrl, apiVerion, consumerKey, consumerSecret);
}
}
public OrderNoteRepository OrderNoteRepository() {
return orderNoteRepository;
}

View File

@ -0,0 +1,22 @@
package me.gilo.woodroid.data;
public enum ApiVersion {
API_VERSION1{
@Override
public String toString() {
return "1";
}
},
API_VERSION2{
@Override
public String toString() {
return "2";
}
},
API_VERSION3{
@Override
public String toString() {
return "3";
}
},
}