started Kotlin refactor
This commit is contained in:
parent
5bb5bd650e
commit
51e651de76
2
.idea/gradle.xml
generated
2
.idea/gradle.xml
generated
@ -9,10 +9,12 @@
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
<option value="$PROJECT_DIR$/firebasecart" />
|
||||
<option value="$PROJECT_DIR$/woodroid" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
<option name="testRunner" value="PLATFORM" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
apply plugin: 'kotlin-kapt'
|
||||
|
||||
android {
|
||||
|
||||
@ -26,7 +26,7 @@ class OrderViewHolder(val context: Context, itemView: View) :
|
||||
tvTitle.text = "#" + order.orderNumber
|
||||
tvStatus.text = order.status
|
||||
|
||||
tvDate.text = DateUtils.getDateString_shortAndSmart(order.getDateCreated())
|
||||
tvDate.text = DateUtils.getDateString_shortAndSmart(order.dateCreated)
|
||||
|
||||
tvPrice.text = SpannableString("Ksh${order.total}")
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ constructor() {
|
||||
|
||||
private val cart: CollectionReference = FirebaseFirestore.getInstance()
|
||||
.collection("users")
|
||||
.document(FirebaseAuth.getInstance().currentUser!!.uid)
|
||||
.document(FirebaseAuth.getInstance().currentUser?.uid ?: "0")
|
||||
.collection("cart")
|
||||
|
||||
fun cart(): QueryLiveData<CartLineItem> {
|
||||
|
||||
@ -177,9 +177,9 @@ class CartActivity : WooDroidActivity<CartViewModel>() {
|
||||
}
|
||||
|
||||
order.setLineItems(lineitems);
|
||||
order.setBillingAddress(customer.billingAddress)
|
||||
order.setShippingAddress(customer.shippingAddress)
|
||||
order.setCustomer(customer)
|
||||
order.billingAddress = customer.billingAddress
|
||||
order.shippingAddress = customer.shippingAddress
|
||||
order.customer = customer
|
||||
|
||||
createOrder(order)
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.3.21'
|
||||
|
||||
ext.kotlin_version = '1.3.31'
|
||||
ext.kotlin_version = '1.3.31'
|
||||
repositories {
|
||||
@ -9,7 +11,7 @@ buildscript {
|
||||
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.4.1'
|
||||
classpath 'com.android.tools.build:gradle:3.5.0-alpha08'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath 'com.google.gms:google-services:4.2.0'
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
||||
1
firebasecart/.gitignore
vendored
Normal file
1
firebasecart/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/build
|
||||
34
firebasecart/build.gradle
Normal file
34
firebasecart/build.gradle
Normal file
@ -0,0 +1,34 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 28
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
implementation 'com.android.support:appcompat-v7:28.0.0'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
||||
}
|
||||
21
firebasecart/proguard-rules.pro
vendored
Normal file
21
firebasecart/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
@ -0,0 +1,24 @@
|
||||
package me.gilo.woodroid.firebasecart
|
||||
|
||||
import android.support.test.InstrumentationRegistry
|
||||
import android.support.test.runner.AndroidJUnit4
|
||||
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
* See [testing documentation](http://d.android.com/tools/testing).
|
||||
*/
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class ExampleInstrumentedTest {
|
||||
@Test
|
||||
fun useAppContext() {
|
||||
// Context of the app under test.
|
||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||
assertEquals("me.gilo.woodroid.firebasecart.test", appContext.packageName)
|
||||
}
|
||||
}
|
||||
2
firebasecart/src/main/AndroidManifest.xml
Normal file
2
firebasecart/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,2 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="me.gilo.woodroid.firebasecart"/>
|
||||
3
firebasecart/src/main/res/values/strings.xml
Normal file
3
firebasecart/src/main/res/values/strings.xml
Normal file
@ -0,0 +1,3 @@
|
||||
<resources>
|
||||
<string name="app_name">FirebaseCart</string>
|
||||
</resources>
|
||||
@ -0,0 +1,17 @@
|
||||
package me.gilo.woodroid.firebasecart
|
||||
|
||||
import org.junit.Test
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Example local unit test, which will execute on the development machine (host).
|
||||
*
|
||||
* See [testing documentation](http://d.android.com/tools/testing).
|
||||
*/
|
||||
class ExampleUnitTest {
|
||||
@Test
|
||||
fun addition_isCorrect() {
|
||||
assertEquals(4, 2 + 2)
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
include ':app', ':woodroid'
|
||||
include ':app', ':woodroid', ':firebasecart'
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
36
woodroid/src/main/java/me/gilo/woodroid/Builder.kt
Normal file
36
woodroid/src/main/java/me/gilo/woodroid/Builder.kt
Normal file
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid
|
||||
|
||||
import me.gilo.woodroid.data.ApiVersion
|
||||
|
||||
|
||||
class Builder {
|
||||
private lateinit var siteUrl: String
|
||||
private lateinit var apiVerion: ApiVersion
|
||||
private lateinit var consumerKey: String
|
||||
private lateinit var consumerSecret: String
|
||||
|
||||
fun setSiteUrl(siteUrl: String): Builder {
|
||||
this.siteUrl = siteUrl
|
||||
return this
|
||||
}
|
||||
|
||||
fun setApiVersion(apiVerion: ApiVersion): Builder {
|
||||
this.apiVerion = apiVerion
|
||||
return this
|
||||
}
|
||||
|
||||
fun setConsumerKey(consumerKey: String): Builder {
|
||||
this.consumerKey = consumerKey
|
||||
return this
|
||||
}
|
||||
|
||||
fun setConsumerSecret(consumerSecret: String): Builder {
|
||||
this.consumerSecret = consumerSecret
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
fun build(): Woocommerce {
|
||||
return Woocommerce(siteUrl, apiVerion, consumerKey, consumerSecret)
|
||||
}
|
||||
}
|
||||
@ -1,140 +0,0 @@
|
||||
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;
|
||||
import me.gilo.woodroid.repo.order.RefundRepository;
|
||||
import me.gilo.woodroid.repo.product.*;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class Woocommerce {
|
||||
|
||||
public static final ApiVersion API_V1 = ApiVersion.API_VERSION1;
|
||||
public static final ApiVersion API_V2 = ApiVersion.API_VERSION2;
|
||||
public static final ApiVersion API_V3 = ApiVersion.API_VERSION3;
|
||||
|
||||
private final OrderNoteRepository orderNoteRepository;
|
||||
private final RefundRepository refundRepository;
|
||||
private final AttributeRepository attributeRepository;
|
||||
private final AttributeTermRepository attributeTermRepository;
|
||||
private final CategoryRepository categoryRepository;
|
||||
private final ShippingClassRepository shippingClassRepository;
|
||||
private final TagRepository tagRepository;
|
||||
private final VariationRepository variationRepository;
|
||||
private final CouponRepository couponRepository;
|
||||
private final CustomerRepository customerRepository;
|
||||
private final OrderRepository orderRepository;
|
||||
private final ProductRepository productRepository;
|
||||
private final ReviewRepository reviewRepository;
|
||||
private final ReportsRepository reportsRepository;
|
||||
private final CartRepository cartRepository;
|
||||
private final PaymentGatewayRepository paymentGatewayRepository;
|
||||
private final SettingsRepository settingsRepository;
|
||||
private final ShippingMethodRepository shippingMethodRepository;
|
||||
|
||||
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);
|
||||
refundRepository = new RefundRepository(baseUrl, consumerKey, consumerSecret);
|
||||
attributeRepository = new AttributeRepository(baseUrl, consumerKey, consumerSecret);
|
||||
attributeTermRepository = new AttributeTermRepository(baseUrl, consumerKey, consumerSecret);
|
||||
categoryRepository = new CategoryRepository(baseUrl, consumerKey, consumerSecret);
|
||||
shippingClassRepository = new ShippingClassRepository(baseUrl, consumerKey, consumerSecret);
|
||||
tagRepository = new TagRepository(baseUrl, consumerKey, consumerSecret);
|
||||
variationRepository = new VariationRepository(baseUrl, consumerKey, consumerSecret);
|
||||
couponRepository = new CouponRepository(baseUrl, consumerKey, consumerSecret);
|
||||
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);
|
||||
shippingMethodRepository = new ShippingMethodRepository(baseUrl, consumerKey, consumerSecret);
|
||||
|
||||
}
|
||||
|
||||
public OrderNoteRepository OrderNoteRepository() {
|
||||
return orderNoteRepository;
|
||||
}
|
||||
|
||||
public RefundRepository RefundRepository() {
|
||||
return refundRepository;
|
||||
}
|
||||
|
||||
public AttributeRepository AttributeRepository() {
|
||||
return attributeRepository;
|
||||
}
|
||||
|
||||
public AttributeTermRepository AttributeTermRepository() {
|
||||
return attributeTermRepository;
|
||||
}
|
||||
|
||||
public CategoryRepository CategoryRepository() {
|
||||
return categoryRepository;
|
||||
}
|
||||
|
||||
public ShippingClassRepository ShippingClassRepository() {
|
||||
return shippingClassRepository;
|
||||
}
|
||||
|
||||
public TagRepository TagRepository() {
|
||||
return tagRepository;
|
||||
}
|
||||
|
||||
public VariationRepository VariationRepository() {
|
||||
return variationRepository;
|
||||
}
|
||||
|
||||
public CouponRepository CouponRepository() {
|
||||
return couponRepository;
|
||||
}
|
||||
|
||||
public CustomerRepository CustomerRepository() {
|
||||
return customerRepository;
|
||||
}
|
||||
|
||||
public OrderRepository OrderRepository() {
|
||||
return orderRepository;
|
||||
}
|
||||
|
||||
public ProductRepository ProductRepository() {
|
||||
return productRepository;
|
||||
}
|
||||
|
||||
public ReviewRepository ReviewRepository() {
|
||||
return reviewRepository;
|
||||
}
|
||||
|
||||
public ReportsRepository ReportsRepository() {
|
||||
return reportsRepository;
|
||||
}
|
||||
|
||||
public PaymentGatewayRepository PaymentGatewayRepository() {
|
||||
return paymentGatewayRepository;
|
||||
}
|
||||
|
||||
public SettingsRepository SettingsRepository() {
|
||||
return settingsRepository;
|
||||
}
|
||||
|
||||
public ShippingMethodRepository ShippingMethodRepository() {
|
||||
return shippingMethodRepository;
|
||||
}
|
||||
|
||||
public CartRepository CartRepository(Context context) {
|
||||
cartRepository.turnOnCookies(context);
|
||||
return cartRepository;
|
||||
}
|
||||
}
|
||||
143
woodroid/src/main/java/me/gilo/woodroid/Woocommerce.kt
Normal file
143
woodroid/src/main/java/me/gilo/woodroid/Woocommerce.kt
Normal file
@ -0,0 +1,143 @@
|
||||
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
|
||||
import me.gilo.woodroid.repo.order.RefundRepository
|
||||
import me.gilo.woodroid.repo.product.*
|
||||
import org.json.JSONException
|
||||
import org.json.JSONObject
|
||||
|
||||
class Woocommerce(siteUrl: String, apiVerion: ApiVersion, consumerKey: String, consumerSecret: String) {
|
||||
|
||||
private val orderNoteRepository: OrderNoteRepository
|
||||
private val refundRepository: RefundRepository
|
||||
private val attributeRepository: AttributeRepository
|
||||
private val attributeTermRepository: AttributeTermRepository
|
||||
private val categoryRepository: CategoryRepository
|
||||
private val shippingClassRepository: ShippingClassRepository
|
||||
private val tagRepository: TagRepository
|
||||
private val variationRepository: VariationRepository
|
||||
private val couponRepository: CouponRepository
|
||||
private val customerRepository: CustomerRepository
|
||||
private val orderRepository: OrderRepository
|
||||
private val productRepository: ProductRepository
|
||||
private val reviewRepository: ReviewRepository
|
||||
private val reportsRepository: ReportsRepository
|
||||
private val cartRepository: CartRepository
|
||||
private val paymentGatewayRepository: PaymentGatewayRepository
|
||||
private val settingsRepository: SettingsRepository
|
||||
private val shippingMethodRepository: ShippingMethodRepository
|
||||
|
||||
init {
|
||||
val baseUrl = "$siteUrl/wp-json/wc/v$apiVerion/"
|
||||
val cartBaseUrl = "$siteUrl/wp-json/wc/v2/"
|
||||
|
||||
orderNoteRepository = OrderNoteRepository(baseUrl, consumerKey, consumerSecret)
|
||||
refundRepository = RefundRepository(baseUrl, consumerKey, consumerSecret)
|
||||
attributeRepository = AttributeRepository(baseUrl, consumerKey, consumerSecret)
|
||||
attributeTermRepository = AttributeTermRepository(baseUrl, consumerKey, consumerSecret)
|
||||
categoryRepository = CategoryRepository(baseUrl, consumerKey, consumerSecret)
|
||||
shippingClassRepository = ShippingClassRepository(baseUrl, consumerKey, consumerSecret)
|
||||
tagRepository = TagRepository(baseUrl, consumerKey, consumerSecret)
|
||||
variationRepository = VariationRepository(baseUrl, consumerKey, consumerSecret)
|
||||
couponRepository = CouponRepository(baseUrl, consumerKey, consumerSecret)
|
||||
customerRepository = CustomerRepository(baseUrl, consumerKey, consumerSecret)
|
||||
orderRepository = OrderRepository(baseUrl, consumerKey, consumerSecret)
|
||||
productRepository = ProductRepository(baseUrl, consumerKey, consumerSecret)
|
||||
reportsRepository = ReportsRepository(baseUrl, consumerKey, consumerSecret)
|
||||
cartRepository = CartRepository(cartBaseUrl, consumerKey, consumerSecret)
|
||||
reviewRepository = ReviewRepository(baseUrl, consumerKey, consumerSecret)
|
||||
paymentGatewayRepository = PaymentGatewayRepository(baseUrl, consumerKey, consumerSecret)
|
||||
settingsRepository = SettingsRepository(baseUrl, consumerKey, consumerSecret)
|
||||
shippingMethodRepository = ShippingMethodRepository(baseUrl, consumerKey, consumerSecret)
|
||||
|
||||
}
|
||||
|
||||
fun OrderNoteRepository(): OrderNoteRepository {
|
||||
return orderNoteRepository
|
||||
}
|
||||
|
||||
fun RefundRepository(): RefundRepository {
|
||||
return refundRepository
|
||||
}
|
||||
|
||||
fun AttributeRepository(): AttributeRepository {
|
||||
return attributeRepository
|
||||
}
|
||||
|
||||
fun AttributeTermRepository(): AttributeTermRepository {
|
||||
return attributeTermRepository
|
||||
}
|
||||
|
||||
fun CategoryRepository(): CategoryRepository {
|
||||
return categoryRepository
|
||||
}
|
||||
|
||||
fun ShippingClassRepository(): ShippingClassRepository {
|
||||
return shippingClassRepository
|
||||
}
|
||||
|
||||
fun TagRepository(): TagRepository {
|
||||
return tagRepository
|
||||
}
|
||||
|
||||
fun VariationRepository(): VariationRepository {
|
||||
return variationRepository
|
||||
}
|
||||
|
||||
fun CouponRepository(): CouponRepository {
|
||||
return couponRepository
|
||||
}
|
||||
|
||||
fun CustomerRepository(): CustomerRepository {
|
||||
return customerRepository
|
||||
}
|
||||
|
||||
fun OrderRepository(): OrderRepository {
|
||||
return orderRepository
|
||||
}
|
||||
|
||||
fun ProductRepository(): ProductRepository {
|
||||
return productRepository
|
||||
}
|
||||
|
||||
fun ReviewRepository(): ReviewRepository {
|
||||
return reviewRepository
|
||||
}
|
||||
|
||||
fun ReportsRepository(): ReportsRepository {
|
||||
return reportsRepository
|
||||
}
|
||||
|
||||
fun PaymentGatewayRepository(): PaymentGatewayRepository {
|
||||
return paymentGatewayRepository
|
||||
}
|
||||
|
||||
fun SettingsRepository(): SettingsRepository {
|
||||
return settingsRepository
|
||||
}
|
||||
|
||||
fun ShippingMethodRepository(): ShippingMethodRepository {
|
||||
return shippingMethodRepository
|
||||
}
|
||||
|
||||
fun CartRepository(context: Context): CartRepository {
|
||||
cartRepository.turnOnCookies(context)
|
||||
return cartRepository
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
val API_V1 = ApiVersion.API_VERSION1
|
||||
val API_V2 = ApiVersion.API_VERSION2
|
||||
val API_V3 = ApiVersion.API_VERSION3
|
||||
|
||||
fun Builder(): Builder {
|
||||
return Builder()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.callback;
|
||||
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class CallBackLiveData<T> extends LiveData<Resource<T>> implements Callback<T> {
|
||||
|
||||
public CallBackLiveData() {
|
||||
setValue(new Resource<>(Status.LOADING));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call<T> call, Response<T> response) {
|
||||
if (response.isSuccessful()){
|
||||
setValue(new Resource<>(response.body()));
|
||||
}else{
|
||||
String error = null;
|
||||
try {
|
||||
error = response.errorBody().string();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if (error == null){
|
||||
error = "Something went wrong";
|
||||
}
|
||||
setValue(new Resource<>(new NetworkException(error)));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<T> call, Throwable t) {
|
||||
setValue(new Resource<>( new NetworkException(t)));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.callback
|
||||
|
||||
import android.arch.lifecycle.LiveData
|
||||
import retrofit2.Call
|
||||
import retrofit2.Callback
|
||||
import retrofit2.Response
|
||||
|
||||
import java.io.IOException
|
||||
|
||||
class CallBackLiveData<T> : LiveData<Resource<T>>(), Callback<T> {
|
||||
init {
|
||||
value = Resource(Status.LOADING)
|
||||
}
|
||||
|
||||
override fun onResponse(call: Call<T>, response: Response<T>) {
|
||||
if (response.isSuccessful) {
|
||||
setValue(Resource(response.body()!!))
|
||||
} else {
|
||||
var error: String? = null
|
||||
try {
|
||||
error = response.errorBody()!!.string()
|
||||
} catch (e: IOException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
if (error == null) {
|
||||
error = "Something went wrong"
|
||||
}
|
||||
setValue(Resource(NetworkException(error)))
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFailure(call: Call<T>, t: Throwable) {
|
||||
value = Resource(NetworkException(t))
|
||||
}
|
||||
}
|
||||
@ -1,20 +0,0 @@
|
||||
package me.gilo.woodroid.callback;
|
||||
|
||||
public class NetworkException extends Exception{
|
||||
|
||||
public NetworkException() {
|
||||
super();
|
||||
}
|
||||
|
||||
public NetworkException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public NetworkException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
||||
public NetworkException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package me.gilo.woodroid.callback
|
||||
|
||||
class NetworkException : Exception {
|
||||
|
||||
constructor() : super() {}
|
||||
|
||||
constructor(message: String) : super(message) {}
|
||||
|
||||
constructor(message: String, cause: Throwable) : super(message, cause) {}
|
||||
|
||||
constructor(cause: Throwable) : super(cause) {}
|
||||
}
|
||||
@ -1,79 +0,0 @@
|
||||
package me.gilo.woodroid.callback;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@SuppressWarnings({"WeakerAccess", "ConstantConditions"})
|
||||
public final class Resource<T> {
|
||||
@Nullable
|
||||
private final T data;
|
||||
@Nullable
|
||||
private final Exception error;
|
||||
Status status = Status.LOADING;
|
||||
|
||||
public Resource(@NonNull T data) {
|
||||
this(data, null);
|
||||
}
|
||||
|
||||
public Resource(@NonNull Status status) {
|
||||
this(null, null);
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Resource(@NonNull Exception exception) {
|
||||
this(null, exception);
|
||||
this.status = Status.ERROR;
|
||||
}
|
||||
|
||||
private Resource(@Nullable T value, @Nullable Exception error) {
|
||||
this.data = value;
|
||||
this.error = error;
|
||||
|
||||
if (error != null){
|
||||
status = Status.ERROR;
|
||||
}else if (data != null){
|
||||
if (data instanceof List){
|
||||
if (((List) data).size() == 0){
|
||||
status = Status.EMPTY;
|
||||
}else {
|
||||
status = status.SUCCESS;
|
||||
}
|
||||
}else {
|
||||
status = Status.SUCCESS;
|
||||
}
|
||||
}else {
|
||||
status = Status.LOADING;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isSuccessful() {
|
||||
return data != null && error == null;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public T data() {
|
||||
if (error != null) {
|
||||
throw new IllegalStateException("error is not null. Call isSuccessful() first.");
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Exception error() {
|
||||
if (data != null) {
|
||||
throw new IllegalStateException("data is not null. Call isSuccessful() first.");
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Status status() {
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
60
woodroid/src/main/java/me/gilo/woodroid/callback/Resource.kt
Executable file
60
woodroid/src/main/java/me/gilo/woodroid/callback/Resource.kt
Executable file
@ -0,0 +1,60 @@
|
||||
package me.gilo.woodroid.callback
|
||||
|
||||
import android.util.Log
|
||||
|
||||
|
||||
class Resource<T> private constructor(private val data: T?, private val error: Exception?) {
|
||||
internal var status = Status.LOADING
|
||||
|
||||
val isSuccessful: Boolean
|
||||
get() = data != null && error == null
|
||||
|
||||
constructor(data: T) : this(data, null) {}
|
||||
|
||||
constructor(status: Status) : this(null, null) {
|
||||
this.status = status
|
||||
}
|
||||
|
||||
constructor(exception: Exception) : this(null, exception) {
|
||||
this.status = Status.ERROR
|
||||
}
|
||||
|
||||
init {
|
||||
|
||||
if (error != null) {
|
||||
status = Status.ERROR
|
||||
} else if (data != null) {
|
||||
if (data is List<*>) {
|
||||
if ((data as List<*>).size == 0) {
|
||||
status = Status.EMPTY
|
||||
} else {
|
||||
status = status.SUCCESS
|
||||
}
|
||||
} else {
|
||||
status = Status.SUCCESS
|
||||
}
|
||||
} else {
|
||||
status = Status.LOADING
|
||||
}
|
||||
}
|
||||
|
||||
fun data(): T {
|
||||
if (error != null) {
|
||||
throw IllegalStateException("error is not null. Call isSuccessful() first.")
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
fun error(): Exception {
|
||||
if (data != null) {
|
||||
throw IllegalStateException("data is not null. Call isSuccessful() first.")
|
||||
}
|
||||
return error
|
||||
}
|
||||
|
||||
fun status(): Status {
|
||||
return status
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
package me.gilo.woodroid.callback;
|
||||
|
||||
public enum Status {
|
||||
EMPTY,
|
||||
SUCCESS,
|
||||
ERROR,
|
||||
LOADING;
|
||||
|
||||
public Status isLoading(){
|
||||
return LOADING;
|
||||
}
|
||||
}
|
||||
11
woodroid/src/main/java/me/gilo/woodroid/callback/Status.kt
Normal file
11
woodroid/src/main/java/me/gilo/woodroid/callback/Status.kt
Normal file
@ -0,0 +1,11 @@
|
||||
package me.gilo.woodroid.callback
|
||||
|
||||
enum class Status {
|
||||
EMPTY,
|
||||
SUCCESS,
|
||||
ERROR,
|
||||
LOADING;
|
||||
|
||||
val isLoading: Status
|
||||
get() = LOADING
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
package me.gilo.woodroid.callback;
|
||||
|
||||
import retrofit2.Call;
|
||||
|
||||
public interface WooCall<T> extends Call<T> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package me.gilo.woodroid.callback
|
||||
|
||||
import retrofit2.Call
|
||||
|
||||
interface WooCall<T> : Call<T>
|
||||
@ -1,22 +0,0 @@
|
||||
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";
|
||||
}
|
||||
},
|
||||
}
|
||||
19
woodroid/src/main/java/me/gilo/woodroid/data/ApiVersion.kt
Normal file
19
woodroid/src/main/java/me/gilo/woodroid/data/ApiVersion.kt
Normal file
@ -0,0 +1,19 @@
|
||||
package me.gilo.woodroid.data
|
||||
|
||||
enum class ApiVersion {
|
||||
API_VERSION1 {
|
||||
override fun toString(): String {
|
||||
return "1"
|
||||
}
|
||||
},
|
||||
API_VERSION2 {
|
||||
override fun toString(): String {
|
||||
return "2"
|
||||
}
|
||||
},
|
||||
API_VERSION3 {
|
||||
override fun toString(): String {
|
||||
return "3"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
package me.gilo.woodroid.data;
|
||||
|
||||
import org.apache.http.NameValuePair;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class RestAdapter {
|
||||
|
||||
static String oauth_nonce = "";
|
||||
static String oauth_timestamp = "";
|
||||
static String oauth_signature_method = "HMAC-SHA1";
|
||||
|
||||
static ArrayList<NameValuePair> params;
|
||||
|
||||
private String baseUrl;
|
||||
private String consumerKey;
|
||||
private String consumerSecret;
|
||||
|
||||
public RestAdapter(String baseUrl, String consumerKey, String consumerSecret) {
|
||||
this.baseUrl = baseUrl;
|
||||
this.consumerKey = consumerKey;
|
||||
this.consumerSecret = consumerSecret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
18
woodroid/src/main/java/me/gilo/woodroid/data/RestAdapter.kt
Normal file
18
woodroid/src/main/java/me/gilo/woodroid/data/RestAdapter.kt
Normal file
@ -0,0 +1,18 @@
|
||||
package me.gilo.woodroid.data
|
||||
|
||||
import org.apache.http.NameValuePair
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
class RestAdapter(private val baseUrl: String, private val consumerKey: String, private val consumerSecret: String) {
|
||||
companion object {
|
||||
|
||||
internal var oauth_nonce = ""
|
||||
internal var oauth_timestamp = ""
|
||||
internal var oauth_signature_method = "HMAC-SHA1"
|
||||
|
||||
internal var params: ArrayList<NameValuePair>? = null
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,38 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import retrofit2.Call;
|
||||
import me.gilo.woodroid.models.LineItem;
|
||||
import me.gilo.woodroid.models.filters.CartFilter;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface CartAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("clear")
|
||||
Call<String> clear();
|
||||
|
||||
@GET("count-items")
|
||||
Call<Integer> count();
|
||||
|
||||
@GET("cart")
|
||||
Call<Map<String, LineItem>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("cart/add")
|
||||
Call<Map<String, LineItem>> addToCart(@Body LineItem body);
|
||||
|
||||
@DELETE("cart/cart-item")
|
||||
Call<String> delete(@Body CartFilter body);
|
||||
|
||||
@GET("cart/cart-item")
|
||||
Call<String> restore(@Body CartFilter body);
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("cart/cart-item")
|
||||
Call<String> update(@Body CartFilter body);
|
||||
|
||||
|
||||
}
|
||||
36
woodroid/src/main/java/me/gilo/woodroid/data/api/CartAPI.kt
Normal file
36
woodroid/src/main/java/me/gilo/woodroid/data/api/CartAPI.kt
Normal file
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import retrofit2.Call
|
||||
import me.gilo.woodroid.models.LineItem
|
||||
import me.gilo.woodroid.models.filters.CartFilter
|
||||
import retrofit2.http.*
|
||||
|
||||
interface CartAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("clear")
|
||||
fun clear(): Call<String>
|
||||
|
||||
@GET("count-items")
|
||||
fun count(): Call<Int>
|
||||
|
||||
@GET("cart")
|
||||
fun list(): Call<Map<String, LineItem>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("cart/add")
|
||||
fun addToCart(@Body body: LineItem): Call<Map<String, LineItem>>
|
||||
|
||||
@DELETE("cart/cart-item")
|
||||
fun delete(@Body body: CartFilter): Call<String>
|
||||
|
||||
@GET("cart/cart-item")
|
||||
fun restore(@Body body: CartFilter): Call<String>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("cart/cart-item")
|
||||
fun update(@Body body: CartFilter): Call<String>
|
||||
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Coupon;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface CouponAPI{
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("coupons")
|
||||
Call<Coupon> create(@Body Coupon body);
|
||||
|
||||
@GET("coupons/{id}")
|
||||
Call<Coupon> view(@Path("id") int id);
|
||||
|
||||
@GET("coupons")
|
||||
Call<List<Coupon>> list();
|
||||
|
||||
@GET("coupons")
|
||||
Call<List<Coupon>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("coupons/{id}")
|
||||
Call<Coupon> update(@Path("id") int id, @Body Coupon body);
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
Call<Coupon> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
Call<Coupon> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("coupons/batch")
|
||||
Call<String> batch(@Body Coupon body);
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Coupon
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface CouponAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("coupons")
|
||||
fun create(@Body body: Coupon): Call<Coupon>
|
||||
|
||||
@GET("coupons/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Coupon>
|
||||
|
||||
@GET("coupons")
|
||||
fun list(): Call<List<Coupon>>
|
||||
|
||||
@GET("coupons")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<Coupon>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("coupons/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Coupon): Call<Coupon>
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Coupon>
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Coupon>
|
||||
|
||||
@POST("coupons/batch")
|
||||
fun batch(@Body body: Coupon): Call<String>
|
||||
|
||||
}
|
||||
@ -1,43 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Customer;
|
||||
import me.gilo.woodroid.models.Download;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface CustomerAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("customers")
|
||||
Call<Customer> create(@Body Customer body);
|
||||
|
||||
@GET("customers/{id}")
|
||||
Call<Customer> view(@Path("id") int id);
|
||||
|
||||
@GET("customers")
|
||||
Call<List<Customer>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("customers/{id}")
|
||||
Call<Customer> update(@Path("id") int id, @Body Customer body);
|
||||
|
||||
@DELETE("customers/{id}")
|
||||
Call<Customer> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("customers/{id}")
|
||||
Call<Customer> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("customers/batch")
|
||||
Call<String> batch(@Body Customer body);
|
||||
|
||||
@POST("customers/{id}/downloads")
|
||||
Call<List<Download>> downloads(@Path("id") int id);
|
||||
|
||||
@GET("customers")
|
||||
Call<List<Customer>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Customer
|
||||
import me.gilo.woodroid.models.Download
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface CustomerAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("customers")
|
||||
fun create(@Body body: Customer): Call<Customer>
|
||||
|
||||
@GET("customers/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Customer>
|
||||
|
||||
@GET("customers")
|
||||
fun list(): Call<List<Customer>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("customers/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Customer): Call<Customer>
|
||||
|
||||
@DELETE("customers/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Customer>
|
||||
|
||||
@DELETE("customers/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Customer>
|
||||
|
||||
@POST("customers/batch")
|
||||
fun batch(@Body body: Customer): Call<String>
|
||||
|
||||
@POST("customers/{id}/downloads")
|
||||
fun downloads(@Path("id") id: Int): Call<List<Download>>
|
||||
|
||||
@GET("customers")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<Customer>>
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Order;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface OrderAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("orders")
|
||||
Call<Order> create(@Body Order body);
|
||||
|
||||
@GET("orders/{id}")
|
||||
Call<Order> view(@Path("id") int id);
|
||||
|
||||
@GET("orders")
|
||||
Call<List<Order>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("orders/{id}")
|
||||
Call<Order> update(@Path("id") int id, @Body Order body);
|
||||
|
||||
@DELETE("orders/{id}")
|
||||
Call<Order> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("orders/{id}")
|
||||
Call<Order> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("orders/batch")
|
||||
Call<String> batch(@Body Order body);
|
||||
|
||||
@GET("orders")
|
||||
Call<List<Order>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
36
woodroid/src/main/java/me/gilo/woodroid/data/api/OrderAPI.kt
Normal file
36
woodroid/src/main/java/me/gilo/woodroid/data/api/OrderAPI.kt
Normal file
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Order
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface OrderAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("orders")
|
||||
fun create(@Body body: Order): Call<Order>
|
||||
|
||||
@GET("orders/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Order>
|
||||
|
||||
@GET("orders")
|
||||
fun list(): Call<List<Order>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("orders/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Order): Call<Order>
|
||||
|
||||
@DELETE("orders/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Order>
|
||||
|
||||
@DELETE("orders/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Order>
|
||||
|
||||
@POST("orders/batch")
|
||||
fun batch(@Body body: Order): Call<String>
|
||||
|
||||
@GET("orders")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<Order>>
|
||||
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.OrderNote;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface OrderNoteAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("orders/{id}/notes")
|
||||
Call<OrderNote> create(@Path("id") int order_id, @Body OrderNote body);
|
||||
|
||||
@GET("orders/{id}/notes/{note_id}")
|
||||
Call<OrderNote> view(@Path("id") int order_id, @Path("note_id") int note_id);
|
||||
|
||||
@GET("orders/{id}/notes")
|
||||
Call<List<OrderNote>> list(@Path("id") int order_id);
|
||||
|
||||
@DELETE("orders/{id}/notes/{note_id}")
|
||||
Call<OrderNote> delete(@Path("id") int order_id, @Path("note_id") int note_id);
|
||||
|
||||
@DELETE("orders/{id}/notes/{note_id}")
|
||||
Call<OrderNote> delete(@Path("id") int order_id, @Path("note_id") int note_id, @Query("force") boolean force);
|
||||
|
||||
@GET("orders/{id}/notes")
|
||||
Call<List<OrderNote>> filter(@Path("id") int order_id, @QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.OrderNote
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface OrderNoteAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("orders/{id}/notes")
|
||||
fun create(@Path("id") order_id: Int, @Body body: OrderNote): Call<OrderNote>
|
||||
|
||||
@GET("orders/{id}/notes/{note_id}")
|
||||
fun view(@Path("id") order_id: Int, @Path("note_id") note_id: Int): Call<OrderNote>
|
||||
|
||||
@GET("orders/{id}/notes")
|
||||
fun list(@Path("id") order_id: Int): Call<List<OrderNote>>
|
||||
|
||||
@DELETE("orders/{id}/notes/{note_id}")
|
||||
fun delete(@Path("id") order_id: Int, @Path("note_id") note_id: Int): Call<OrderNote>
|
||||
|
||||
@DELETE("orders/{id}/notes/{note_id}")
|
||||
fun delete(@Path("id") order_id: Int, @Path("note_id") note_id: Int, @Query("force") force: Boolean): Call<OrderNote>
|
||||
|
||||
@GET("orders/{id}/notes")
|
||||
fun filter(@Path("id") order_id: Int, @QueryMap filter: Map<String, String>): Call<List<OrderNote>>
|
||||
|
||||
}
|
||||
@ -1,23 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import retrofit2.Call;
|
||||
import me.gilo.woodroid.models.PaymentGateway;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PaymentGatewayAPI {
|
||||
|
||||
|
||||
@GET("payment_gateways/{id}")
|
||||
Call<PaymentGateway> view(@Path("id") int id);
|
||||
|
||||
@GET("payment_gateways")
|
||||
Call<List<PaymentGateway>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("payment_gateways")
|
||||
Call<PaymentGateway> update(@Path("id") String id, @Body PaymentGateway body);
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import retrofit2.Call
|
||||
import me.gilo.woodroid.models.PaymentGateway
|
||||
import retrofit2.http.*
|
||||
|
||||
interface PaymentGatewayAPI {
|
||||
|
||||
|
||||
@GET("payment_gateways/{id}")
|
||||
fun view(@Path("id") id: Int): Call<PaymentGateway>
|
||||
|
||||
@GET("payment_gateways")
|
||||
fun list(): Call<List<PaymentGateway>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("payment_gateways")
|
||||
fun update(@Path("id") id: String, @Body body: PaymentGateway): Call<PaymentGateway>
|
||||
|
||||
}
|
||||
@ -1,57 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ProductAPI {
|
||||
|
||||
|
||||
@GET("products")
|
||||
Call<ArrayList<Product>> getProducts();
|
||||
|
||||
@GET("products/{id}")
|
||||
Call<Product> getProduct(@Path("id") int id);
|
||||
|
||||
@GET("products")
|
||||
Call<ArrayList<Product>> getProducts(@Query("filter[category]") String category);
|
||||
|
||||
@GET("products")
|
||||
Call<ArrayList<Product>> search(@Query("search") String search);
|
||||
|
||||
@GET("products")
|
||||
Call<List<Product>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
@GET("products/count")
|
||||
Call<List<Product>> getProductsCount();
|
||||
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products")
|
||||
Call<Product> create(@Body Product body);
|
||||
|
||||
@GET("products/{id}")
|
||||
Call<Product> view(@Path("id") int id);
|
||||
|
||||
@GET("products")
|
||||
Call<List<Product>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/{id}")
|
||||
Call<Product> update(@Path("id") int id, @Body Product body);
|
||||
|
||||
@DELETE("products/{id}")
|
||||
Call<Product> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("products/{id}")
|
||||
Call<Product> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("products/batch")
|
||||
Call<String> batch(@Body Product body);
|
||||
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
interface ProductAPI {
|
||||
|
||||
|
||||
@get:GET("products")
|
||||
val products: Call<ArrayList<Product>>
|
||||
|
||||
@get:GET("products/count")
|
||||
val productsCount: Call<List<Product>>
|
||||
|
||||
@GET("products/{id}")
|
||||
fun getProduct(@Path("id") id: Int): Call<Product>
|
||||
|
||||
@GET("products")
|
||||
fun getProducts(@Query("filter[category]") category: String): Call<ArrayList<Product>>
|
||||
|
||||
@GET("products")
|
||||
fun search(@Query("search") search: String): Call<ArrayList<Product>>
|
||||
|
||||
@GET("products")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<Product>>
|
||||
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products")
|
||||
fun create(@Body body: Product): Call<Product>
|
||||
|
||||
@GET("products/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Product>
|
||||
|
||||
@GET("products")
|
||||
fun list(): Call<List<Product>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Product): Call<Product>
|
||||
|
||||
@DELETE("products/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Product>
|
||||
|
||||
@DELETE("products/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Product>
|
||||
|
||||
@POST("products/batch")
|
||||
fun batch(@Body body: Product): Call<String>
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Attribute;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ProductAttributeAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/attributes")
|
||||
Call<Attribute> create(@Body Attribute body);
|
||||
|
||||
@GET("products/attributes/{id}")
|
||||
Call<Attribute> view(@Path("id") int id);
|
||||
|
||||
@GET("products/attributes")
|
||||
Call<List<Attribute>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/attributes/{id}")
|
||||
Call<Attribute> update(@Path("id") int id, @Body Attribute body);
|
||||
|
||||
@DELETE("products/attributes/{id}")
|
||||
Call<Attribute> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("products/attributes/{id}")
|
||||
Call<Attribute> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("products/attributes/batch")
|
||||
Call<String> batch(@Body Attribute body);
|
||||
|
||||
@GET("products/attributes")
|
||||
Call<List<Attribute>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Attribute
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface ProductAttributeAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/attributes")
|
||||
fun create(@Body body: Attribute): Call<Attribute>
|
||||
|
||||
@GET("products/attributes/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Attribute>
|
||||
|
||||
@GET("products/attributes")
|
||||
fun list(): Call<List<Attribute>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/attributes/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Attribute): Call<Attribute>
|
||||
|
||||
@DELETE("products/attributes/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Attribute>
|
||||
|
||||
@DELETE("products/attributes/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Attribute>
|
||||
|
||||
@POST("products/attributes/batch")
|
||||
fun batch(@Body body: Attribute): Call<String>
|
||||
|
||||
@GET("products/attributes")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<Attribute>>
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.AttributeTerm;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ProductAttributeTermAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/attributes/{id}/terms")
|
||||
Call<AttributeTerm> create(@Path("id") int attribute_id, @Body AttributeTerm body);
|
||||
|
||||
@GET("products/attributes/{id}/terms/[term_id]")
|
||||
Call<AttributeTerm> view(@Path("id") int attribute_id, @Path("term_id") int term_id);
|
||||
|
||||
@GET("products/attributes/{id}/terms")
|
||||
Call<List<AttributeTerm>> list(@Path("id") int attribute_id);
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/attributes/{id}/terms/[term_id]")
|
||||
Call<AttributeTerm> update(@Path("id") int attribute_id, @Path("term_id") int term_id, @Body AttributeTerm body);
|
||||
|
||||
@DELETE("products/attributes/{id}/terms/[term_id]")
|
||||
Call<AttributeTerm> delete(@Path("id") int attribute_id, @Path("term_id") int term_id);
|
||||
|
||||
@DELETE("products/attributes/{id}/terms/[term_id]")
|
||||
Call<AttributeTerm> delete(@Path("id") int attribute_id, @Path("term_id") int term_id, @Query("force") boolean force);
|
||||
|
||||
@POST("products/attributes/batch")
|
||||
Call<String> batch(@Body AttributeTerm body);
|
||||
|
||||
@GET("products/attributes/{id}/terms")
|
||||
Call<List<AttributeTerm>> filter(@Path("id") int attribute_id, @QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.AttributeTerm
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface ProductAttributeTermAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/attributes/{id}/terms")
|
||||
fun create(@Path("id") attribute_id: Int, @Body body: AttributeTerm): Call<AttributeTerm>
|
||||
|
||||
@GET("products/attributes/{id}/terms/[term_id]")
|
||||
fun view(@Path("id") attribute_id: Int, @Path("term_id") term_id: Int): Call<AttributeTerm>
|
||||
|
||||
@GET("products/attributes/{id}/terms")
|
||||
fun list(@Path("id") attribute_id: Int): Call<List<AttributeTerm>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/attributes/{id}/terms/[term_id]")
|
||||
fun update(@Path("id") attribute_id: Int, @Path("term_id") term_id: Int, @Body body: AttributeTerm): Call<AttributeTerm>
|
||||
|
||||
@DELETE("products/attributes/{id}/terms/[term_id]")
|
||||
fun delete(@Path("id") attribute_id: Int, @Path("term_id") term_id: Int): Call<AttributeTerm>
|
||||
|
||||
@DELETE("products/attributes/{id}/terms/[term_id]")
|
||||
fun delete(@Path("id") attribute_id: Int, @Path("term_id") term_id: Int, @Query("force") force: Boolean): Call<AttributeTerm>
|
||||
|
||||
@POST("products/attributes/batch")
|
||||
fun batch(@Body body: AttributeTerm): Call<String>
|
||||
|
||||
@GET("products/attributes/{id}/terms")
|
||||
fun filter(@Path("id") attribute_id: Int, @QueryMap filter: Map<String, String>): Call<List<AttributeTerm>>
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Category;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ProductCategoryAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/categories")
|
||||
Call<Category> create(@Body Category body);
|
||||
|
||||
@GET("products/categories/{id}")
|
||||
Call<Category> view(@Path("id") int id);
|
||||
|
||||
@GET("products/categories")
|
||||
Call<List<Category>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/categories/{id}")
|
||||
Call<Category> update(@Path("id") int id, @Body Category body);
|
||||
|
||||
@DELETE("products/categories/{id}")
|
||||
Call<Category> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("products/categories/{id}")
|
||||
Call<Category> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("products/categories/batch")
|
||||
Call<String> batch(@Body Category body);
|
||||
|
||||
@GET("products/categories")
|
||||
Call<List<Category>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Category
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface ProductCategoryAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/categories")
|
||||
fun create(@Body body: Category): Call<Category>
|
||||
|
||||
@GET("products/categories/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Category>
|
||||
|
||||
@GET("products/categories")
|
||||
fun list(): Call<List<Category>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/categories/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Category): Call<Category>
|
||||
|
||||
@DELETE("products/categories/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Category>
|
||||
|
||||
@DELETE("products/categories/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Category>
|
||||
|
||||
@POST("products/categories/batch")
|
||||
fun batch(@Body body: Category): Call<String>
|
||||
|
||||
@GET("products/categories")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<Category>>
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ProductReview;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ProductReviewAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/reviews")
|
||||
Call<ProductReview> create(@Body ProductReview body);
|
||||
|
||||
@GET("products/reviews/{id}")
|
||||
Call<ProductReview> view(@Path("id") int id);
|
||||
|
||||
@GET("products/reviews")
|
||||
Call<List<ProductReview>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/reviews/{id}")
|
||||
Call<ProductReview> update(@Path("id") int id, @Body ProductReview body);
|
||||
|
||||
@DELETE("products/reviews/{id}")
|
||||
Call<ProductReview> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("products/reviews/{id}")
|
||||
Call<ProductReview> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("products/reviews/batch")
|
||||
Call<String> batch(@Body ProductReview body);
|
||||
|
||||
@GET("products/reviews")
|
||||
Call<List<ProductReview>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ProductReview
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface ProductReviewAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/reviews")
|
||||
fun create(@Body body: ProductReview): Call<ProductReview>
|
||||
|
||||
@GET("products/reviews/{id}")
|
||||
fun view(@Path("id") id: Int): Call<ProductReview>
|
||||
|
||||
@GET("products/reviews")
|
||||
fun list(): Call<List<ProductReview>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/reviews/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: ProductReview): Call<ProductReview>
|
||||
|
||||
@DELETE("products/reviews/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<ProductReview>
|
||||
|
||||
@DELETE("products/reviews/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<ProductReview>
|
||||
|
||||
@POST("products/reviews/batch")
|
||||
fun batch(@Body body: ProductReview): Call<String>
|
||||
|
||||
@GET("products/reviews")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<ProductReview>>
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Tag;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ProductTagAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/tags")
|
||||
Call<Tag> create(@Body Tag body);
|
||||
|
||||
@GET("products/tags/{id}")
|
||||
Call<Tag> view(@Path("id") int id);
|
||||
|
||||
@GET("products/tags")
|
||||
Call<List<Tag>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/tags/{id}")
|
||||
Call<Tag> update(@Path("id") int id, @Body Tag body);
|
||||
|
||||
@DELETE("products/tags/{id}")
|
||||
Call<Tag> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("products/tags/{id}")
|
||||
Call<Tag> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("products/tags/batch")
|
||||
Call<String> batch(@Body Tag body);
|
||||
|
||||
@GET("products/tags")
|
||||
Call<List<Tag>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Tag
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface ProductTagAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/tags")
|
||||
fun create(@Body body: Tag): Call<Tag>
|
||||
|
||||
@GET("products/tags/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Tag>
|
||||
|
||||
@GET("products/tags")
|
||||
fun list(): Call<List<Tag>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/tags/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Tag): Call<Tag>
|
||||
|
||||
@DELETE("products/tags/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Tag>
|
||||
|
||||
@DELETE("products/tags/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Tag>
|
||||
|
||||
@POST("products/tags/batch")
|
||||
fun batch(@Body body: Tag): Call<String>
|
||||
|
||||
@GET("products/tags")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<Tag>>
|
||||
|
||||
}
|
||||
@ -1,41 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product;
|
||||
import me.gilo.woodroid.models.Variation;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ProductVariationAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/{id}/variations")
|
||||
Call<Variation> create(@Path("id") int product_id, @Body Variation body);
|
||||
|
||||
@GET("products/{id}/variations/{variation_id}")
|
||||
Call<Variation> view(@Path("id") int product_id, @Path("variation_id") int variation_id);
|
||||
|
||||
@GET("products/{id}/variations")
|
||||
Call<List<Variation>> list(@Path("id") int product_id);
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/{id}/variations/{variation_id}")
|
||||
Call<Variation> update(@Path("id") int product_id, @Path("variation_id") int variation_id, @Body Variation body);
|
||||
|
||||
@DELETE("products/{id}/variations/{variation_id}")
|
||||
Call<Variation> delete(@Path("id") int product_id, @Path("variation_id") int variation_id);
|
||||
|
||||
@DELETE("products/{id}/variations/{variation_id}")
|
||||
Call<Variation> delete(@Path("id") int product_id, @Path("variation_id") int variation_id, @Query("force") boolean force);
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/{id}/variations/{variation_id}")
|
||||
Call<Variation> batch(@Path("id") int product_id, @Path("variation_id") int variation_id, @Body Product body);
|
||||
|
||||
@GET("products/{id}/variations")
|
||||
Call<List<Variation>> filter(@Path("id") int product_id, @QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product
|
||||
import me.gilo.woodroid.models.Variation
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface ProductVariationAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/{id}/variations")
|
||||
fun create(@Path("id") product_id: Int, @Body body: Variation): Call<Variation>
|
||||
|
||||
@GET("products/{id}/variations/{variation_id}")
|
||||
fun view(@Path("id") product_id: Int, @Path("variation_id") variation_id: Int): Call<Variation>
|
||||
|
||||
@GET("products/{id}/variations")
|
||||
fun list(@Path("id") product_id: Int): Call<List<Variation>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/{id}/variations/{variation_id}")
|
||||
fun update(@Path("id") product_id: Int, @Path("variation_id") variation_id: Int, @Body body: Variation): Call<Variation>
|
||||
|
||||
@DELETE("products/{id}/variations/{variation_id}")
|
||||
fun delete(@Path("id") product_id: Int, @Path("variation_id") variation_id: Int): Call<Variation>
|
||||
|
||||
@DELETE("products/{id}/variations/{variation_id}")
|
||||
fun delete(@Path("id") product_id: Int, @Path("variation_id") variation_id: Int, @Query("force") force: Boolean): Call<Variation>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/{id}/variations/{variation_id}")
|
||||
fun batch(@Path("id") product_id: Int, @Path("variation_id") variation_id: Int, @Body body: Product): Call<Variation>
|
||||
|
||||
@GET("products/{id}/variations")
|
||||
fun filter(@Path("id") product_id: Int, @QueryMap filter: Map<String, String>): Call<List<Variation>>
|
||||
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Refund;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface RefundAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("orders/{id}/refunds")
|
||||
Call<Refund> create(@Path("id") int order_id, @Body Refund body);
|
||||
|
||||
@GET("orders/{id}/refunds/{refund_id}")
|
||||
Call<Refund> view(@Path("id") int order_id, @Path("refund_id") int refund_id);
|
||||
|
||||
@GET("orders/{id}/refunds")
|
||||
Call<List<Refund>> list(@Path("id") int order_id);
|
||||
|
||||
@DELETE("orders/{id}/refunds/{refund_id}")
|
||||
Call<Refund> delete(@Path("id") int order_id, @Path("refund_id") int refund_id);
|
||||
|
||||
@DELETE("orders/{id}/refunds/{refund_id}")
|
||||
Call<Refund> delete(@Path("id") int order_id, @Path("refund_id") int refund_id, @Query("force") boolean force);
|
||||
|
||||
@GET("orders/{id}/refunds")
|
||||
Call<List<Refund>> filter(@Path("id") int order_id, @QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Refund
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface RefundAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("orders/{id}/refunds")
|
||||
fun create(@Path("id") order_id: Int, @Body body: Refund): Call<Refund>
|
||||
|
||||
@GET("orders/{id}/refunds/{refund_id}")
|
||||
fun view(@Path("id") order_id: Int, @Path("refund_id") refund_id: Int): Call<Refund>
|
||||
|
||||
@GET("orders/{id}/refunds")
|
||||
fun list(@Path("id") order_id: Int): Call<List<Refund>>
|
||||
|
||||
@DELETE("orders/{id}/refunds/{refund_id}")
|
||||
fun delete(@Path("id") order_id: Int, @Path("refund_id") refund_id: Int): Call<Refund>
|
||||
|
||||
@DELETE("orders/{id}/refunds/{refund_id}")
|
||||
fun delete(@Path("id") order_id: Int, @Path("refund_id") refund_id: Int, @Query("force") force: Boolean): Call<Refund>
|
||||
|
||||
@GET("orders/{id}/refunds")
|
||||
fun filter(@Path("id") order_id: Int, @QueryMap filter: Map<String, String>): Call<List<Refund>>
|
||||
|
||||
}
|
||||
@ -1,45 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.report.*;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.QueryMap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ReportAPI {
|
||||
|
||||
@GET("reports/sales")
|
||||
Call<List<SalesTotal>> sales();
|
||||
|
||||
@GET("reports/sales")
|
||||
Call<List<SalesTotal>> sales(@QueryMap Map<String, String> filter);
|
||||
|
||||
|
||||
@GET("reports/top_sellers")
|
||||
Call<List<TopSellerProducts>> top_sellers();
|
||||
|
||||
@GET(" /wp-json/wc/v3/reports/top_sellers")
|
||||
Call<List<TopSellerProducts>> top_sellers(@QueryMap Map<String, String> filter);
|
||||
|
||||
|
||||
@GET("reports/coupons/totals")
|
||||
Call<List<CouponsTotal>> coupons_totals();
|
||||
|
||||
|
||||
@GET("reports/customers/totals")
|
||||
Call<List<CustomersTotal>> customers_totals();
|
||||
|
||||
|
||||
@GET("reports/orders/totals")
|
||||
Call<List<OrdersTotal>> orders_totals();
|
||||
|
||||
@GET("reports/products/totals")
|
||||
Call<List<ProductsTotal>> products_totals();
|
||||
|
||||
@GET("reports/reviews/totals")
|
||||
Call<List<ReviewsTotal>> reviews_totals();
|
||||
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.report.*
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.QueryMap
|
||||
|
||||
interface ReportAPI {
|
||||
|
||||
@GET("reports/sales")
|
||||
fun sales(): Call<List<SalesTotal>>
|
||||
|
||||
@GET("reports/sales")
|
||||
fun sales(@QueryMap filter: Map<String, String>): Call<List<SalesTotal>>
|
||||
|
||||
|
||||
@GET("reports/top_sellers")
|
||||
fun top_sellers(): Call<List<TopSellerProducts>>
|
||||
|
||||
@GET(" /wp-json/wc/v3/reports/top_sellers")
|
||||
fun top_sellers(@QueryMap filter: Map<String, String>): Call<List<TopSellerProducts>>
|
||||
|
||||
|
||||
@GET("reports/coupons/totals")
|
||||
fun coupons_totals(): Call<List<CouponsTotal>>
|
||||
|
||||
|
||||
@GET("reports/customers/totals")
|
||||
fun customers_totals(): Call<List<CustomersTotal>>
|
||||
|
||||
|
||||
@GET("reports/orders/totals")
|
||||
fun orders_totals(): Call<List<OrdersTotal>>
|
||||
|
||||
@GET("reports/products/totals")
|
||||
fun products_totals(): Call<List<ProductsTotal>>
|
||||
|
||||
@GET("reports/reviews/totals")
|
||||
fun reviews_totals(): Call<List<ReviewsTotal>>
|
||||
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import retrofit2.Call;
|
||||
import me.gilo.woodroid.models.SettingGroup;
|
||||
import me.gilo.woodroid.models.SettingOption;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SettingsAPI {
|
||||
|
||||
@GET("settings")
|
||||
Call<List<SettingGroup>> settings();
|
||||
|
||||
@GET("settings/{group_id}/{id}")
|
||||
Call<SettingOption> option(@Path("group_id") String group_id, @Path("id") String option_id);
|
||||
|
||||
@GET("settings/{id}")
|
||||
Call<List<SettingOption>> options(@Path("id") String group_id);
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("settings/{group_id}/{id}")
|
||||
Call<SettingOption> update(
|
||||
@Path("group_id") String group_id,
|
||||
@Path("id") String option_id,
|
||||
@Body SettingOption body
|
||||
);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import retrofit2.Call
|
||||
import me.gilo.woodroid.models.SettingGroup
|
||||
import me.gilo.woodroid.models.SettingOption
|
||||
import retrofit2.http.*
|
||||
|
||||
interface SettingsAPI {
|
||||
|
||||
@GET("settings")
|
||||
fun settings(): Call<List<SettingGroup>>
|
||||
|
||||
@GET("settings/{group_id}/{id}")
|
||||
fun option(@Path("group_id") group_id: String, @Path("id") option_id: String): Call<SettingOption>
|
||||
|
||||
@GET("settings/{id}")
|
||||
fun options(@Path("id") group_id: String): Call<List<SettingOption>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("settings/{group_id}/{id}")
|
||||
fun update(
|
||||
@Path("group_id") group_id: String,
|
||||
@Path("id") option_id: String,
|
||||
@Body body: SettingOption
|
||||
): Call<SettingOption>
|
||||
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ShippingClass;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ShippingClassAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/shipping_classes")
|
||||
Call<ShippingClass> create(@Body ShippingClass body);
|
||||
|
||||
@GET("products/shipping_classes/{id}")
|
||||
Call<ShippingClass> view(@Path("id") int id);
|
||||
|
||||
@GET("products/shipping_classes")
|
||||
Call<List<ShippingClass>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/shipping_classes/{id}")
|
||||
Call<ShippingClass> update(@Path("id") int id, @Body ShippingClass body);
|
||||
|
||||
@DELETE("products/shipping_classes/{id}")
|
||||
Call<ShippingClass> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("products/shipping_classes/{id}")
|
||||
Call<ShippingClass> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("products/shipping_classes/batch")
|
||||
Call<String> batch(@Body ShippingClass body);
|
||||
|
||||
@GET("products/shipping_classes")
|
||||
Call<List<ShippingClass>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ShippingClass
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
interface ShippingClassAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("products/shipping_classes")
|
||||
fun create(@Body body: ShippingClass): Call<ShippingClass>
|
||||
|
||||
@GET("products/shipping_classes/{id}")
|
||||
fun view(@Path("id") id: Int): Call<ShippingClass>
|
||||
|
||||
@GET("products/shipping_classes")
|
||||
fun list(): Call<List<ShippingClass>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("products/shipping_classes/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: ShippingClass): Call<ShippingClass>
|
||||
|
||||
@DELETE("products/shipping_classes/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<ShippingClass>
|
||||
|
||||
@DELETE("products/shipping_classes/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<ShippingClass>
|
||||
|
||||
@POST("products/shipping_classes/batch")
|
||||
fun batch(@Body body: ShippingClass): Call<String>
|
||||
|
||||
@GET("products/shipping_classes")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<List<ShippingClass>>
|
||||
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import retrofit2.Call;
|
||||
import me.gilo.woodroid.models.ShippingMethod;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Path;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ShippingMethodAPI {
|
||||
|
||||
@GET("shipping_methods/{id}")
|
||||
Call<ShippingMethod> view(@Path("id") String id);
|
||||
|
||||
@GET("shipping_methods")
|
||||
Call<List<ShippingMethod>> list();
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import retrofit2.Call
|
||||
import me.gilo.woodroid.models.ShippingMethod
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.Path
|
||||
|
||||
interface ShippingMethodAPI {
|
||||
|
||||
@GET("shipping_methods/{id}")
|
||||
fun view(@Path("id") id: String): Call<ShippingMethod>
|
||||
|
||||
@GET("shipping_methods")
|
||||
fun list(): Call<List<ShippingMethod>>
|
||||
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ShippingZone;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ShippingZoneAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("shipping/zones")
|
||||
Call<ShippingZone> create(@Body ShippingZone body);
|
||||
|
||||
@GET("shipping/zones/{id}")
|
||||
Call<ShippingZone> view(@Path("id") int id);
|
||||
|
||||
@GET("shipping/zones")
|
||||
Call<List<ShippingZone>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("shipping/zones/{id}")
|
||||
Call<ShippingZone> update(@Path("id") int id, @Body ShippingZone body);
|
||||
|
||||
@DELETE("shipping/zones/{id}")
|
||||
Call<ShippingZone> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("shipping/zones/{id}")
|
||||
Call<ShippingZone> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("shipping/zones/batch")
|
||||
Call<String> batch(@Body ShippingZone body);
|
||||
|
||||
@GET("coupons")
|
||||
Call<ArrayList<ShippingZone>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ShippingZone
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
interface ShippingZoneAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("shipping/zones")
|
||||
fun create(@Body body: ShippingZone): Call<ShippingZone>
|
||||
|
||||
@GET("shipping/zones/{id}")
|
||||
fun view(@Path("id") id: Int): Call<ShippingZone>
|
||||
|
||||
@GET("shipping/zones")
|
||||
fun list(): Call<List<ShippingZone>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("shipping/zones/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: ShippingZone): Call<ShippingZone>
|
||||
|
||||
@DELETE("shipping/zones/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<ShippingZone>
|
||||
|
||||
@DELETE("shipping/zones/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<ShippingZone>
|
||||
|
||||
@POST("shipping/zones/batch")
|
||||
fun batch(@Body body: ShippingZone): Call<String>
|
||||
|
||||
@GET("coupons")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<ArrayList<ShippingZone>>
|
||||
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Coupon;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ShippingZoneLocationAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("coupons")
|
||||
Call<Coupon> create(@Body Coupon body);
|
||||
|
||||
@GET("coupons/{id}")
|
||||
Call<Coupon> view(@Path("id") int id);
|
||||
|
||||
@GET("coupons")
|
||||
Call<List<Coupon>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("coupons/{id}")
|
||||
Call<Coupon> update(@Path("id") int id, @Body Coupon body);
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
Call<Coupon> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
Call<Coupon> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("coupons/batch")
|
||||
Call<String> batch(@Body Coupon body);
|
||||
|
||||
@GET("coupons")
|
||||
Call<ArrayList<ShippingZoneLocationAPI>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Coupon
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
interface ShippingZoneLocationAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("coupons")
|
||||
fun create(@Body body: Coupon): Call<Coupon>
|
||||
|
||||
@GET("coupons/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Coupon>
|
||||
|
||||
@GET("coupons")
|
||||
fun list(): Call<List<Coupon>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("coupons/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Coupon): Call<Coupon>
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Coupon>
|
||||
|
||||
@DELETE("coupons/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Coupon>
|
||||
|
||||
@POST("coupons/batch")
|
||||
fun batch(@Body body: Coupon): Call<String>
|
||||
|
||||
@GET("coupons")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<ArrayList<ShippingZoneLocationAPI>>
|
||||
|
||||
}
|
||||
@ -1,30 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.TaxClass;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface TaxClassAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("taxes/classes")
|
||||
Call<TaxClass> create(@Body TaxClass body);
|
||||
|
||||
@GET("taxes/classes")
|
||||
Call<List<TaxClass>> list();
|
||||
|
||||
@DELETE("taxes/classes/{id}")
|
||||
Call<TaxClass> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("taxes/classes/{id}")
|
||||
Call<TaxClass> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@GET("coupons")
|
||||
Call<ArrayList<TaxClass>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.TaxClass
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
interface TaxClassAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("taxes/classes")
|
||||
fun create(@Body body: TaxClass): Call<TaxClass>
|
||||
|
||||
@GET("taxes/classes")
|
||||
fun list(): Call<List<TaxClass>>
|
||||
|
||||
@DELETE("taxes/classes/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<TaxClass>
|
||||
|
||||
@DELETE("taxes/classes/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<TaxClass>
|
||||
|
||||
@GET("coupons")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<ArrayList<TaxClass>>
|
||||
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.TaxRate;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface TaxRateAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("taxes")
|
||||
Call<TaxRate> create(@Body TaxRate body);
|
||||
|
||||
@GET("taxes/{id}")
|
||||
Call<TaxRate> view(@Path("id") int id);
|
||||
|
||||
@GET("taxes")
|
||||
Call<List<TaxRate>> list();
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("taxes/{id}")
|
||||
Call<TaxRate> update(@Path("id") int id, @Body TaxRate body);
|
||||
|
||||
@DELETE("taxes/{id}")
|
||||
Call<TaxRate> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("taxes/{id}")
|
||||
Call<TaxRate> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@POST("taxes/batch")
|
||||
Call<String> batch(@Body TaxRate body);
|
||||
|
||||
@GET("coupons")
|
||||
Call<ArrayList<TaxRate>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.TaxRate
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
interface TaxRateAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("taxes")
|
||||
fun create(@Body body: TaxRate): Call<TaxRate>
|
||||
|
||||
@GET("taxes/{id}")
|
||||
fun view(@Path("id") id: Int): Call<TaxRate>
|
||||
|
||||
@GET("taxes")
|
||||
fun list(): Call<List<TaxRate>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("taxes/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: TaxRate): Call<TaxRate>
|
||||
|
||||
@DELETE("taxes/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<TaxRate>
|
||||
|
||||
@DELETE("taxes/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<TaxRate>
|
||||
|
||||
@POST("taxes/batch")
|
||||
fun batch(@Body body: TaxRate): Call<String>
|
||||
|
||||
@GET("coupons")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<ArrayList<TaxRate>>
|
||||
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
package me.gilo.woodroid.data.api;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Webhook;
|
||||
import me.gilo.woodroid.models.WebhookDelivery;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface WebhookAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("webhooks")
|
||||
Call<Webhook> create(@Body Webhook body);
|
||||
|
||||
@GET("webhooks")
|
||||
Call<List<Webhook>> list();
|
||||
|
||||
@GET("webhooks/{id}")
|
||||
Call<Webhook> view(@Path("id") int id);
|
||||
|
||||
@GET("webhooks/{id}/deliveries/{delivery_id}")
|
||||
Call<WebhookDelivery> delivery(@Path("id") int webhook_id, @Path("delivery_id") int delivery_id);
|
||||
|
||||
@GET("webhooks/{id}/deliveries")
|
||||
Call<List<WebhookDelivery>> deliveries(@Path("id") int webhook_id);
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("webhooks/{id}")
|
||||
Call<Webhook> update(@Path("id") int id, @Body Webhook body);
|
||||
|
||||
@DELETE("webhooks/{id}")
|
||||
Call<Webhook> delete(@Path("id") int id);
|
||||
|
||||
@DELETE("webhooks/{id}")
|
||||
Call<Webhook> delete(@Path("id") int id, @Query("force") boolean force);
|
||||
|
||||
@GET("webhooks")
|
||||
Call<ArrayList<Webhook>> filter(@QueryMap Map<String, String> filter);
|
||||
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package me.gilo.woodroid.data.api
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Webhook
|
||||
import me.gilo.woodroid.models.WebhookDelivery
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.*
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
interface WebhookAPI {
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@POST("webhooks")
|
||||
fun create(@Body body: Webhook): Call<Webhook>
|
||||
|
||||
@GET("webhooks")
|
||||
fun list(): Call<List<Webhook>>
|
||||
|
||||
@GET("webhooks/{id}")
|
||||
fun view(@Path("id") id: Int): Call<Webhook>
|
||||
|
||||
@GET("webhooks/{id}/deliveries/{delivery_id}")
|
||||
fun delivery(@Path("id") webhook_id: Int, @Path("delivery_id") delivery_id: Int): Call<WebhookDelivery>
|
||||
|
||||
@GET("webhooks/{id}/deliveries")
|
||||
fun deliveries(@Path("id") webhook_id: Int): Call<List<WebhookDelivery>>
|
||||
|
||||
@Headers("Content-Type: application/json")
|
||||
@PUT("webhooks/{id}")
|
||||
fun update(@Path("id") id: Int, @Body body: Webhook): Call<Webhook>
|
||||
|
||||
@DELETE("webhooks/{id}")
|
||||
fun delete(@Path("id") id: Int): Call<Webhook>
|
||||
|
||||
@DELETE("webhooks/{id}")
|
||||
fun delete(@Path("id") id: Int, @Query("force") force: Boolean): Call<Webhook>
|
||||
|
||||
@GET("webhooks")
|
||||
fun filter(@QueryMap filter: Map<String, String>): Call<ArrayList<Webhook>>
|
||||
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package me.gilo.woodroid.data.auth;
|
||||
|
||||
import org.apache.http.NameValuePair;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
public class AlphabeticSorter implements Comparator<NameValuePair> {
|
||||
|
||||
@Override
|
||||
public int compare(NameValuePair nameValuePair1, NameValuePair nameValuePair2) {
|
||||
return nameValuePair1.getName().compareTo(nameValuePair2.getName());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package me.gilo.woodroid.data.auth
|
||||
|
||||
import org.apache.http.NameValuePair
|
||||
|
||||
import java.util.Comparator
|
||||
|
||||
class AlphabeticSorter : Comparator<NameValuePair> {
|
||||
|
||||
override fun compare(nameValuePair1: NameValuePair, nameValuePair2: NameValuePair): Int {
|
||||
return nameValuePair1.name.compareTo(nameValuePair2.name)
|
||||
}
|
||||
}
|
||||
@ -1,173 +0,0 @@
|
||||
package me.gilo.woodroid.data.auth;
|
||||
|
||||
import android.util.Base64;
|
||||
import android.util.Log;
|
||||
import okhttp3.HttpUrl;
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.client.utils.URLEncodedUtils;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
|
||||
import javax.crypto.Mac;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.*;
|
||||
|
||||
public class AuthIntercepter implements Interceptor {
|
||||
|
||||
|
||||
static String oauth_nonce = "";
|
||||
static String oauth_timestamp = "";
|
||||
static String oauth_signature_method = "HMAC-SHA1";
|
||||
private String oauth_signature = "";
|
||||
|
||||
private String consumerKey;
|
||||
private String consumerSecret;
|
||||
|
||||
|
||||
public AuthIntercepter(String consumerKey, String consumerSecret) {
|
||||
this.consumerKey = consumerKey;
|
||||
this.consumerSecret = consumerSecret;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Response intercept(Chain chain) throws IOException {
|
||||
ArrayList<NameValuePair> params = getOauthParams(chain);
|
||||
|
||||
HttpUrl.Builder builder = chain.request().url().newBuilder();
|
||||
for (NameValuePair entry : params) {
|
||||
builder.addQueryParameter(entry.getName(), entry.getValue());
|
||||
}
|
||||
|
||||
Request newRequest = chain.request()
|
||||
.newBuilder()
|
||||
.url(builder.build())
|
||||
.header("Accept", "application/json")
|
||||
.build();
|
||||
|
||||
return chain.proceed(newRequest);
|
||||
}
|
||||
|
||||
public ArrayList<NameValuePair> getOauthParams(Chain chain) {
|
||||
ArrayList<NameValuePair> params = new ArrayList<>();
|
||||
|
||||
String request_url = chain.request().url().toString();
|
||||
|
||||
Iterator iterator = getQueryParams(request_url).entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry pair = (Map.Entry)iterator.next();
|
||||
|
||||
String key = (String) pair.getKey();
|
||||
List<String> values = (List<String>) pair.getValue();
|
||||
String value = "";
|
||||
|
||||
//why there would be multiple values for single key is not so clear to me, will keep this here though
|
||||
if (values.size() == 1){
|
||||
value = values.get(0);
|
||||
}
|
||||
|
||||
params.add(new BasicNameValuePair(key, value));
|
||||
|
||||
iterator.remove();
|
||||
}
|
||||
|
||||
if (request_url.contains("?")){
|
||||
int request_url_end = request_url.indexOf("?");
|
||||
request_url = request_url.substring(0, request_url_end);
|
||||
}
|
||||
|
||||
oauth_nonce = getOauth_nonce();
|
||||
oauth_timestamp = getOauth_timestamp();
|
||||
|
||||
params.add(new BasicNameValuePair("oauth_consumer_key", consumerKey));
|
||||
params.add(new BasicNameValuePair("oauth_nonce", oauth_nonce));
|
||||
params.add(new BasicNameValuePair("oauth_timestamp", oauth_timestamp));
|
||||
params.add(new BasicNameValuePair("oauth_signature_method", oauth_signature_method));
|
||||
|
||||
Collections.sort(params, new AlphabeticSorter());
|
||||
String encodedParams = URLEncodedUtils.format(params, "utf-8");
|
||||
oauth_signature = getOauth_signature(chain.request().method(), request_url, consumerSecret, encodedParams );
|
||||
|
||||
params.add(new BasicNameValuePair("oauth_signature", oauth_signature));
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
public String getOauth_nonce() {
|
||||
return (new StringBuilder(String.valueOf(Math.random() * 100000000D))).toString();
|
||||
}
|
||||
|
||||
public String getStringToSign(String method, String url, String parameters) {
|
||||
String string_to_sign = "";
|
||||
try {
|
||||
string_to_sign = (new StringBuilder(method + "&"))
|
||||
.append(URLEncoder.encode(url, "utf-8")).append("&")
|
||||
.append(URLEncoder.encode(parameters, "utf-8"))
|
||||
.toString();
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return string_to_sign;
|
||||
}
|
||||
|
||||
|
||||
public String getOauth_signature(String method, String url, String consumerSecret, String parameters) {
|
||||
String signature = "";
|
||||
String string_to_sign = getStringToSign(method, url, parameters);
|
||||
|
||||
try {
|
||||
Mac mac = Mac.getInstance(oauth_signature_method);
|
||||
String secret = consumerSecret + "&";
|
||||
mac.init(new SecretKeySpec(secret.getBytes("utf-8"), oauth_signature_method));
|
||||
signature = Base64.encodeToString(mac.doFinal(string_to_sign.getBytes("utf-8")), 0).trim();
|
||||
} catch (NoSuchAlgorithmException | InvalidKeyException | UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return signature;
|
||||
}
|
||||
|
||||
|
||||
public String getOauth_timestamp() {
|
||||
long stamp = (long) (System.currentTimeMillis() / 1000D);
|
||||
return (new StringBuilder(String.valueOf(stamp))).toString();
|
||||
}
|
||||
|
||||
public static Map<String, List<String>> getQueryParams(String url) {
|
||||
try {
|
||||
Map<String, List<String>> params = new HashMap<String, List<String>>();
|
||||
String[] urlParts = url.split("\\?");
|
||||
if (urlParts.length > 1) {
|
||||
String query = urlParts[1];
|
||||
for (String param : query.split("&")) {
|
||||
String[] pair = param.split("=");
|
||||
String key = URLDecoder.decode(pair[0], "UTF-8");
|
||||
String value = "";
|
||||
if (pair.length > 1) {
|
||||
value = URLDecoder.decode(pair[1], "UTF-8");
|
||||
}
|
||||
|
||||
List<String> values = params.get(key);
|
||||
if (values == null) {
|
||||
values = new ArrayList<String>();
|
||||
params.put(key, values);
|
||||
}
|
||||
values.add(value);
|
||||
}
|
||||
}
|
||||
|
||||
return params;
|
||||
} catch (UnsupportedEncodingException ex) {
|
||||
throw new AssertionError(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,174 @@
|
||||
package me.gilo.woodroid.data.auth
|
||||
|
||||
import android.util.Base64
|
||||
import android.util.Log
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.apache.http.NameValuePair
|
||||
import org.apache.http.client.utils.URLEncodedUtils
|
||||
import org.apache.http.message.BasicNameValuePair
|
||||
|
||||
import javax.crypto.Mac
|
||||
import javax.crypto.spec.SecretKeySpec
|
||||
import java.io.IOException
|
||||
import java.io.UnsupportedEncodingException
|
||||
import java.net.URLDecoder
|
||||
import java.net.URLEncoder
|
||||
import java.security.InvalidKeyException
|
||||
import java.security.NoSuchAlgorithmException
|
||||
import java.util.*
|
||||
import java.util.Map
|
||||
|
||||
class AuthIntercepter(private val consumerKey: String, private val consumerSecret: String) : Interceptor {
|
||||
private var oauth_signature = ""
|
||||
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val params = getOauthParams(chain)
|
||||
|
||||
val builder = chain.request().url().newBuilder()
|
||||
for (entry in params) {
|
||||
builder.addQueryParameter(entry.name, entry.value)
|
||||
}
|
||||
|
||||
val newRequest = chain.request()
|
||||
.newBuilder()
|
||||
.url(builder.build())
|
||||
.header("Accept", "application/json")
|
||||
.build()
|
||||
|
||||
return chain.proceed(newRequest)
|
||||
}
|
||||
|
||||
fun getOauthParams(chain: Interceptor.Chain): ArrayList<NameValuePair> {
|
||||
val params = ArrayList<NameValuePair>()
|
||||
|
||||
var request_url = chain.request().url().toString()
|
||||
|
||||
val iterator = getQueryParams(request_url).entries.iterator()
|
||||
while (iterator.hasNext()) {
|
||||
val pair = iterator.next() as Map.Entry<*, *>
|
||||
|
||||
val key = pair.key as String
|
||||
val values = pair.value as List<String>
|
||||
var value = ""
|
||||
|
||||
//why there would be multiple values for single key is not so clear to me, will keep this here though
|
||||
if (values.size == 1) {
|
||||
value = values[0]
|
||||
}
|
||||
|
||||
params.add(BasicNameValuePair(key, value))
|
||||
|
||||
iterator.remove()
|
||||
}
|
||||
|
||||
if (request_url.contains("?")) {
|
||||
val request_url_end = request_url.indexOf("?")
|
||||
request_url = request_url.substring(0, request_url_end)
|
||||
}
|
||||
|
||||
oauth_nonce = getOauth_nonce()
|
||||
oauth_timestamp = getOauth_timestamp()
|
||||
|
||||
params.add(BasicNameValuePair("oauth_consumer_key", consumerKey))
|
||||
params.add(BasicNameValuePair("oauth_nonce", oauth_nonce))
|
||||
params.add(BasicNameValuePair("oauth_timestamp", oauth_timestamp))
|
||||
params.add(BasicNameValuePair("oauth_signature_method", oauth_signature_method))
|
||||
|
||||
Collections.sort(params, AlphabeticSorter())
|
||||
val encodedParams = URLEncodedUtils.format(params, "utf-8")
|
||||
oauth_signature = getOauth_signature(chain.request().method(), request_url, consumerSecret, encodedParams)
|
||||
|
||||
params.add(BasicNameValuePair("oauth_signature", oauth_signature))
|
||||
|
||||
return params
|
||||
}
|
||||
|
||||
fun getOauth_nonce(): String {
|
||||
return StringBuilder((Math.random() * 100000000.0).toString()).toString()
|
||||
}
|
||||
|
||||
fun getStringToSign(method: String, url: String, parameters: String): String {
|
||||
var string_to_sign = ""
|
||||
try {
|
||||
string_to_sign = StringBuilder("$method&")
|
||||
.append(URLEncoder.encode(url, "utf-8")).append("&")
|
||||
.append(URLEncoder.encode(parameters, "utf-8"))
|
||||
.toString()
|
||||
} catch (e: UnsupportedEncodingException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
return string_to_sign
|
||||
}
|
||||
|
||||
|
||||
fun getOauth_signature(method: String, url: String, consumerSecret: String, parameters: String): String {
|
||||
var signature = ""
|
||||
val string_to_sign = getStringToSign(method, url, parameters)
|
||||
|
||||
try {
|
||||
val mac = Mac.getInstance(oauth_signature_method)
|
||||
val secret = "$consumerSecret&"
|
||||
mac.init(SecretKeySpec(secret.toByteArray(charset("utf-8")), oauth_signature_method))
|
||||
signature =
|
||||
Base64.encodeToString(mac.doFinal(string_to_sign.toByteArray(charset("utf-8"))), 0).trim { it <= ' ' }
|
||||
} catch (e: NoSuchAlgorithmException) {
|
||||
e.printStackTrace()
|
||||
} catch (e: InvalidKeyException) {
|
||||
e.printStackTrace()
|
||||
} catch (e: UnsupportedEncodingException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
return signature
|
||||
}
|
||||
|
||||
|
||||
fun getOauth_timestamp(): String {
|
||||
val stamp = (System.currentTimeMillis() / 1000.0).toLong()
|
||||
return StringBuilder(stamp.toString()).toString()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
|
||||
internal var oauth_nonce = ""
|
||||
internal var oauth_timestamp = ""
|
||||
internal var oauth_signature_method = "HMAC-SHA1"
|
||||
|
||||
fun getQueryParams(url: String): MutableMap<String, List<String>> {
|
||||
try {
|
||||
val params = HashMap<String, List<String>>()
|
||||
val urlParts = url.split("\\?".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
|
||||
if (urlParts.size > 1) {
|
||||
val query = urlParts[1]
|
||||
for (param in query.split("&".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()) {
|
||||
val pair = param.split("=".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
|
||||
val key = URLDecoder.decode(pair[0], "UTF-8")
|
||||
var value = ""
|
||||
if (pair.size > 1) {
|
||||
value = URLDecoder.decode(pair[1], "UTF-8")
|
||||
}
|
||||
|
||||
var values: MutableList<String>? = params[key]?.toMutableList()
|
||||
if (values == null) {
|
||||
values = ArrayList()
|
||||
params[key] = values
|
||||
}
|
||||
values.add(value)
|
||||
}
|
||||
}
|
||||
|
||||
return params
|
||||
} catch (ex: UnsupportedEncodingException) {
|
||||
throw AssertionError(ex)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,22 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import me.gilo.woodroid.models.Category;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
public class CategoriesCallback {
|
||||
@SerializedName("product_categories")
|
||||
ArrayList<Category> categories;
|
||||
|
||||
public ArrayList<Category> getCategories() {
|
||||
return categories;
|
||||
}
|
||||
|
||||
public void setCategories(ArrayList<Category> categories) {
|
||||
this.categories = categories;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import me.gilo.woodroid.models.Category
|
||||
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
|
||||
class CategoriesCallback {
|
||||
@SerializedName("product_categories")
|
||||
lateinit var categories: ArrayList<Category>
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Customer;
|
||||
|
||||
public class CustomerData {
|
||||
Customer customer;
|
||||
|
||||
public Customer getCustomer() {
|
||||
return customer;
|
||||
}
|
||||
|
||||
public void setCustomer(Customer customer) {
|
||||
this.customer = customer;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Customer
|
||||
|
||||
class CustomerData {
|
||||
lateinit var customer: Customer
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
import me.gilo.woodroid.models.Order;
|
||||
|
||||
public class Data {
|
||||
Order order;
|
||||
|
||||
public Order getOrder() {
|
||||
return order;
|
||||
}
|
||||
|
||||
public void setOrder(Order order) {
|
||||
this.order = order;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
import me.gilo.woodroid.models.Order
|
||||
|
||||
class Data {
|
||||
lateinit var order: Order
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Order;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
public class OrderCallback {
|
||||
ArrayList<Order> orders = new ArrayList<>();
|
||||
|
||||
public ArrayList<Order> getOrders() {
|
||||
return orders;
|
||||
}
|
||||
|
||||
public void setOrders(ArrayList<Order> orders) {
|
||||
this.orders = orders;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Order
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
|
||||
class OrderCallback {
|
||||
var orders = ArrayList<Order>()
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
public class ProductCallback {
|
||||
ArrayList<Product> products = new ArrayList<>();
|
||||
Product product;
|
||||
|
||||
public ArrayList<Product> getProducts() {
|
||||
return products;
|
||||
}
|
||||
|
||||
public void setProducts(ArrayList<Product> products) {
|
||||
this.products = products;
|
||||
}
|
||||
|
||||
public Product getProduct() {
|
||||
return product;
|
||||
}
|
||||
|
||||
public void setProduct(Product product) {
|
||||
this.product = product;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
|
||||
class ProductCallback {
|
||||
var products = ArrayList<Product>()
|
||||
lateinit var product: Product
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product;
|
||||
|
||||
public class ProductData {
|
||||
private Product product;
|
||||
|
||||
public Product getProduct() {
|
||||
return product;
|
||||
}
|
||||
|
||||
public void setProduct(Product product) {
|
||||
this.product = product;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.Product
|
||||
|
||||
class ProductData {
|
||||
var product: Product? = null
|
||||
}
|
||||
@ -1,22 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import me.gilo.woodroid.models.ProductReview;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
|
||||
public class ReviewsCallback {
|
||||
@SerializedName("product_reviews")
|
||||
ArrayList<ProductReview> productReviews;
|
||||
|
||||
public ArrayList<ProductReview> getProductReviews() {
|
||||
return productReviews;
|
||||
}
|
||||
|
||||
public void setProductReviews(ArrayList<ProductReview> productReviews) {
|
||||
this.productReviews = productReviews;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import me.gilo.woodroid.models.ProductReview
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
|
||||
class ReviewsCallback {
|
||||
@SerializedName("product_reviews")
|
||||
lateinit var productReviews: ArrayList<ProductReview>
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ProductReview;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
public class ReviewsData {
|
||||
ArrayList<ProductReview> productReviews;
|
||||
|
||||
public ArrayList<ProductReview> getProductReviews() {
|
||||
return productReviews;
|
||||
}
|
||||
|
||||
public void setProductReviews(ArrayList<ProductReview> productReviews) {
|
||||
this.productReviews = productReviews;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
|
||||
import me.gilo.woodroid.models.ProductReview
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
|
||||
class ReviewsData {
|
||||
lateinit var productReviews: ArrayList<ProductReview>
|
||||
}
|
||||
@ -1,18 +0,0 @@
|
||||
package me.gilo.woodroid.data.callbacks;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import me.gilo.woodroid.models.Store;
|
||||
|
||||
public class StoreCallback {
|
||||
|
||||
@SerializedName("store")
|
||||
Store store;
|
||||
|
||||
public Store getStore() {
|
||||
return store;
|
||||
}
|
||||
|
||||
public void setStore(Store store) {
|
||||
this.store = store;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package me.gilo.woodroid.data.callbacks
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import me.gilo.woodroid.models.Store
|
||||
|
||||
class StoreCallback {
|
||||
|
||||
@SerializedName("store")
|
||||
lateinit var store: Store
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user