added cart abstraction
This commit is contained in:
parent
6591cf8f95
commit
2f885897a0
37
core/src/main/java/me/gilo/woodroid/core/cart/Cart.kt
Normal file
37
core/src/main/java/me/gilo/woodroid/core/cart/Cart.kt
Normal file
@ -0,0 +1,37 @@
|
||||
package me.gilo.woodroid.core.cart
|
||||
|
||||
|
||||
import me.gilo.woodroid.core.cart.lines.FeeLine
|
||||
import me.gilo.woodroid.core.cart.lines.LineItem
|
||||
import me.gilo.woodroid.core.cart.lines.ShippingLine
|
||||
import me.gilo.woodroid.models.TaxLine
|
||||
import java.util.ArrayList
|
||||
import java.util.Date
|
||||
|
||||
|
||||
data class Cart(
|
||||
var id: Int = 0,
|
||||
var dateCreated: Date = Date(),
|
||||
var dateUpdate: Date = Date(),
|
||||
var completedAt: Date = Date(),
|
||||
|
||||
var currency: String = "USD",
|
||||
|
||||
var total: Float = 0f,
|
||||
var subtotal: Float = 0f,
|
||||
var totalLineItemsQuantity: Float = 0f,
|
||||
var totalTax: Float = 0f,
|
||||
var totalShipping: Float = 0f,
|
||||
var cartTax: Float = 0f,
|
||||
var shippingTax: Float = 0f,
|
||||
var totalDiscount: Float = 0f,
|
||||
var lineItems: MutableList<LineItem> = ArrayList(),
|
||||
var shippingLines: List<ShippingLine> = ArrayList(),
|
||||
|
||||
var taxLines: List<TaxLine> = ArrayList(),
|
||||
|
||||
var feeLines: List<FeeLine> = ArrayList(),
|
||||
|
||||
var couponLines: List<Any> = ArrayList()
|
||||
|
||||
)
|
||||
@ -1,5 +0,0 @@
|
||||
package me.gilo.woodroid.core.cart
|
||||
|
||||
class CartFilter(var cart_item_key: String) {
|
||||
var quantity: Int = 0
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package me.gilo.woodroid.core.cart
|
||||
|
||||
import me.gilo.woodroid.models.Product
|
||||
import java.util.ArrayList
|
||||
|
||||
/**
|
||||
* Created by gilo on 2/18/16.
|
||||
*/
|
||||
class CartItem {
|
||||
lateinit var product: Product
|
||||
lateinit var options: ArrayList<Option>
|
||||
var qty: Int = 0
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package me.gilo.woodroid.core.cart
|
||||
|
||||
import android.arch.lifecycle.LiveData
|
||||
import me.gilo.woodroid.models.LineItem
|
||||
import me.gilo.woodroid.core.cart.lines.LineItem
|
||||
|
||||
|
||||
abstract class CartRepository{
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
package me.gilo.woodroid.core.cart.lines
|
||||
|
||||
|
||||
class FeeLine
|
||||
@ -0,0 +1,18 @@
|
||||
package me.gilo.woodroid.core.cart.lines
|
||||
|
||||
|
||||
class LineItem(
|
||||
var subtotal: Float = 0f,
|
||||
var subtotalTax: Float = 0f,
|
||||
var total: Float = 0f,
|
||||
var totalTax: Float = 0f,
|
||||
var price: Float = 0f,
|
||||
var quantity: Int = 0,
|
||||
var taxClass: Any,
|
||||
var name: String = "",
|
||||
var productId: Int = 0,
|
||||
|
||||
var sku: String = "",
|
||||
var variations: String = "",
|
||||
var meta: List<Metum> = ArrayList()
|
||||
)
|
||||
@ -0,0 +1,8 @@
|
||||
package me.gilo.woodroid.core.cart.lines
|
||||
|
||||
|
||||
data class Metum (
|
||||
var key: String = "",
|
||||
var label: String = "",
|
||||
var value: String = ""
|
||||
)
|
||||
@ -0,0 +1,8 @@
|
||||
package me.gilo.woodroid.core.cart.lines
|
||||
|
||||
|
||||
class ShippingLine (
|
||||
var id: String? = null,
|
||||
var methodTitle: String? = null,
|
||||
var total: Int = 0
|
||||
)
|
||||
@ -1,15 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import android.os.Parcel
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
|
||||
class AttributeTerm : Serializable {
|
||||
var id: Int = 0
|
||||
var name: String? = null
|
||||
var slug: String? = null
|
||||
lateinit var description: String
|
||||
var menu_order: Int = 0
|
||||
var count: Int = 0
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
class Category : Serializable {
|
||||
var id: Int = 0
|
||||
var name: String? = null
|
||||
var slug: String? = null
|
||||
var parent: Int = 0
|
||||
lateinit var description: String
|
||||
lateinit var display: String
|
||||
lateinit var image: Image
|
||||
var menu_order: Int = 0
|
||||
var count: Int = 0
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
class Coupon : Serializable {
|
||||
|
||||
var usage_limit: Int = 0
|
||||
var code: String? = null
|
||||
var free_shipping: String? = null
|
||||
var description: String? = null
|
||||
var minimum_amount: String? = null
|
||||
var email_restrictions: Array<String>? = null
|
||||
var exclude_sale_items: String? = null
|
||||
var excluded_product_ids: Array<String>? = null
|
||||
var usage_count: String? = null
|
||||
var individual_use: String? = null
|
||||
var usage_limit_per_user: Int = 0
|
||||
var limit_usage_to_x_items: Int = 0
|
||||
var meta_data: Array<String>? = null
|
||||
var id: Int = 0
|
||||
var date_modified_gmt: String? = null
|
||||
var amount: String? = null
|
||||
var date_created: String? = null
|
||||
var date_created_gmt: String? = null
|
||||
var maximum_amount: String? = null
|
||||
var discount_type: String? = null
|
||||
var used_by: Array<String>? = null
|
||||
var date_modified: String? = null
|
||||
var product_ids: Array<String>? = null
|
||||
var product_categories: Array<String>? = null
|
||||
var date_expires: String? = null
|
||||
var excluded_product_categories: Array<String>? = null
|
||||
var date_expires_gmt: String? = null
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
import java.io.Serializable
|
||||
import java.util.ArrayList
|
||||
|
||||
|
||||
class CustomerPost : Serializable {
|
||||
@SerializedName("data")
|
||||
lateinit var datas: ArrayList<Data>
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class Data {
|
||||
lateinit var customer: Customer
|
||||
}
|
||||
@ -1,25 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
/**
|
||||
* Created by gilo on 1/19/16.
|
||||
*/
|
||||
class Meta {
|
||||
|
||||
var thousand_separator: String? = null
|
||||
var decimal_separator: String? = null
|
||||
var currency_position: String? = null
|
||||
var weight_unit: String? = null
|
||||
var currency: String? = null
|
||||
var timezone: String? = null
|
||||
var isGenerate_password: Boolean = false
|
||||
var price_num_decimals: Int = 0
|
||||
var isTax_included: Boolean = false
|
||||
var isSsl_enabled: Boolean = false
|
||||
var isPermalinks_enabled: Boolean = false
|
||||
var dimension_unit: String? = null
|
||||
var currency_format: String? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "ClassPojo [thousand_separator = $thousand_separator, decimal_separator = $decimal_separator, currency_position = $currency_position, weight_unit = $weight_unit, currency = $currency, timezone = $timezone, generate_password = $isGenerate_password, price_num_decimals = $price_num_decimals, tax_included = $isTax_included, ssl_enabled = $isSsl_enabled, permalinks_enabled = $isPermalinks_enabled, dimension_unit = $dimension_unit, currency_format = $currency_format]"
|
||||
}
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
class Metadata : Serializable {
|
||||
var id: Int = 0
|
||||
lateinit var key: String
|
||||
|
||||
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
|
||||
class Metum {
|
||||
var key: String? = null
|
||||
var label: String? = null
|
||||
var value: String? = null
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class OrderData {
|
||||
lateinit var order: Order
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class PaymentGateway {
|
||||
|
||||
lateinit var id: String
|
||||
lateinit var title: String
|
||||
lateinit var description: String
|
||||
var order: Int = 0
|
||||
var isEnabled: Boolean = false
|
||||
lateinit var method_title: String
|
||||
lateinit var method_description: String
|
||||
lateinit var method_supports: Array<String>
|
||||
lateinit var settings: Map<String, PaymentGatewaySetting>
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
|
||||
class PaymentGatewaySetting {
|
||||
|
||||
lateinit var id: String
|
||||
lateinit var label: String
|
||||
lateinit var description: String
|
||||
lateinit var type: String
|
||||
lateinit var value: String
|
||||
@JsonProperty("default")
|
||||
lateinit var default_value: String
|
||||
lateinit var tip: String
|
||||
lateinit var placeholder: String
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
class ProductAttribute : Serializable {
|
||||
var id: Int = 0
|
||||
var name: String? = null
|
||||
var slug: String? = null
|
||||
var type: String? = null
|
||||
var position: Int = 0
|
||||
var isVisible: Boolean = false
|
||||
var isVariation: Boolean = false
|
||||
var options: Array<String>? = null
|
||||
}
|
||||
@ -1,20 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import java.io.Serializable
|
||||
import java.util.Date
|
||||
|
||||
|
||||
class ProductReview : Serializable {
|
||||
var id: Int = 0
|
||||
var date_created: Date? = null
|
||||
var date_created_gmt: Date? = null
|
||||
var product_id: Int = 0
|
||||
lateinit var reviewer: String
|
||||
lateinit var reviewer_email: String
|
||||
|
||||
lateinit var reviewer_avatar_urls: Map<String, String>
|
||||
|
||||
var review: String? = null
|
||||
var rating: Int = 0
|
||||
var isVerified: Boolean = false
|
||||
}
|
||||
@ -1,17 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class Refund {
|
||||
|
||||
var refunded_by: String? = null
|
||||
var reason: String? = null
|
||||
var amount: String? = null
|
||||
var date_created: String? = null
|
||||
var meta_data: Array<Metadata>? = null
|
||||
var date_created_gmt: String? = null
|
||||
var id: String? = null
|
||||
var line_items: Array<LineItem>? = null
|
||||
var refunded_payment: String? = null
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class SettingGroup {
|
||||
|
||||
internal var id: String? = null
|
||||
internal var label: String? = null
|
||||
internal var description: String? = null
|
||||
internal var parent_id: String? = null
|
||||
internal var sub_groups: List<String>? = null
|
||||
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
|
||||
class SettingOption {
|
||||
|
||||
lateinit var id: String
|
||||
lateinit var label: String
|
||||
lateinit var description: String
|
||||
lateinit var value: String
|
||||
|
||||
@JsonProperty("default")
|
||||
lateinit var default_value: String
|
||||
lateinit var tip: String
|
||||
lateinit var placeholder: String
|
||||
lateinit var type: String
|
||||
lateinit var options: Map<String, String>
|
||||
lateinit var group_id: String
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
class ShippingClass {
|
||||
var id: Int = 0
|
||||
lateinit var name: String
|
||||
lateinit var slug: String
|
||||
lateinit var description: String
|
||||
var count: Int = 0
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
|
||||
class ShippingMethod {
|
||||
var id: String? = null
|
||||
var title: String? = null
|
||||
var descriptioon: String? = null
|
||||
}
|
||||
@ -1,9 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
class ShippingZone {
|
||||
var id: Int = 0
|
||||
var name: String? = null
|
||||
var order: Int = 0
|
||||
}
|
||||
@ -1,20 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
/**
|
||||
* Created by gilo on 1/19/16.
|
||||
*/
|
||||
class Store {
|
||||
|
||||
var wc_version: String? = null
|
||||
var description: String? = null
|
||||
var name: String? = null
|
||||
var url: String? = null
|
||||
var meta: Meta? = null
|
||||
|
||||
var version: String? = null
|
||||
|
||||
override fun toString(): String {
|
||||
return "ClassPojo [wc_version = $wc_version, description = $description, name = $name, URL = $url, meta = $meta, version = $version]"
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,6 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class TaxClass {
|
||||
lateinit var slug: String
|
||||
lateinit var name: String
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class TaxRate {
|
||||
var id: Int = 0
|
||||
var country: String? = null
|
||||
var city: String? = null
|
||||
var postcode: String? = null
|
||||
var priority: Int = 0
|
||||
var isCompound: Boolean = false
|
||||
var isShipping: Boolean = false
|
||||
var rate: String? = null
|
||||
var name: String? = null
|
||||
var state: String? = null
|
||||
var order: Int = 0
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class TopSellers {
|
||||
var title: String? = null
|
||||
var product_id: Int = 0
|
||||
var quantity: Int = 0
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import java.util.Date
|
||||
|
||||
class Webhook {
|
||||
var id: Int = 0
|
||||
lateinit var name: String
|
||||
lateinit var status: String
|
||||
lateinit var topic: String
|
||||
lateinit var resource: String
|
||||
lateinit var event: String
|
||||
lateinit var hooks: Array<String>
|
||||
lateinit var delivery_url: String
|
||||
lateinit var secret: String
|
||||
lateinit var date_created: Date
|
||||
lateinit var date_created_gmt: Date
|
||||
lateinit var date_modified: Date
|
||||
lateinit var date_modified_gmt: Date
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
import java.util.Date
|
||||
|
||||
class WebhookDelivery {
|
||||
|
||||
var id: Int = 0
|
||||
lateinit var duration: String
|
||||
lateinit var summary: String
|
||||
lateinit var request_url: String
|
||||
lateinit var request_headers: Map<String, String>
|
||||
lateinit var request_body: String
|
||||
lateinit var response_code: String
|
||||
lateinit var response_message: String
|
||||
lateinit var response_headers: Map<String, String>
|
||||
lateinit var response_body: String
|
||||
lateinit var date_created: Date
|
||||
lateinit var date_created_gmt: Date
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class CouponFilter : ListFilter() {
|
||||
|
||||
internal lateinit var code: String
|
||||
|
||||
fun getCode(): String {
|
||||
return code
|
||||
}
|
||||
|
||||
fun setCode(code: String) {
|
||||
this.code = code
|
||||
addFilter("code", code)
|
||||
}
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class CustomerFilter : ListFilter() {
|
||||
|
||||
private lateinit var email: String
|
||||
private lateinit var role: String
|
||||
|
||||
//all, administrator, editor, author, contributor, subscriber, customer and shop_manager
|
||||
|
||||
fun getEmail(): String {
|
||||
return email
|
||||
}
|
||||
|
||||
fun setEmail(email: String) {
|
||||
this.email = email
|
||||
addFilter("email", email)
|
||||
}
|
||||
|
||||
fun getRole(): String {
|
||||
return role
|
||||
}
|
||||
|
||||
fun setRole(role: String) {
|
||||
this.role = role
|
||||
addFilter("role", role)
|
||||
}
|
||||
|
||||
fun setRole(role: Role) {
|
||||
this.role = role.toString()
|
||||
addFilter("role", role.toString())
|
||||
}
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
import java.util.HashMap
|
||||
|
||||
open class Filter {
|
||||
|
||||
internal lateinit var context: String
|
||||
|
||||
internal var filters: MutableMap<String, String> = HashMap()
|
||||
|
||||
fun getContext(): String {
|
||||
return context
|
||||
}
|
||||
|
||||
fun setContext(context: String) {
|
||||
this.context = context
|
||||
|
||||
addFilter("context", context)
|
||||
}
|
||||
|
||||
fun addFilter(filter: String, value: Any) {
|
||||
filters[filter] = value.toString()
|
||||
}
|
||||
|
||||
fun getFilters(): Map<String, String> {
|
||||
return filters
|
||||
}
|
||||
}
|
||||
@ -1,171 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
import me.gilo.woodroid.utils.Converter
|
||||
|
||||
import java.util.*
|
||||
|
||||
open class ListFilter {
|
||||
|
||||
internal lateinit var context: String
|
||||
internal var page: Int = 0
|
||||
internal var per_page: Int = 0
|
||||
internal lateinit var search: String
|
||||
internal lateinit var after: String
|
||||
internal lateinit var before: String
|
||||
internal lateinit var exclude: IntArray
|
||||
internal lateinit var include: IntArray
|
||||
internal var offset: Int = 0
|
||||
internal lateinit var order: String
|
||||
internal lateinit var orderby: String
|
||||
|
||||
|
||||
internal var filters: MutableMap<String, String> = HashMap()
|
||||
|
||||
fun getContext(): String {
|
||||
return context
|
||||
}
|
||||
|
||||
fun setContext(context: String) {
|
||||
this.context = context
|
||||
|
||||
addFilter("context", context)
|
||||
}
|
||||
|
||||
fun getPage(): Int {
|
||||
return page
|
||||
}
|
||||
|
||||
fun setPage(page: Int) {
|
||||
this.page = page
|
||||
|
||||
addFilter("page", page)
|
||||
}
|
||||
|
||||
fun getPer_page(): Int {
|
||||
return per_page
|
||||
}
|
||||
|
||||
fun setPer_page(per_page: Int) {
|
||||
this.per_page = per_page
|
||||
|
||||
addFilter("per_page", per_page)
|
||||
}
|
||||
|
||||
fun getSearch(): String {
|
||||
return search
|
||||
}
|
||||
|
||||
fun setSearch(search: String) {
|
||||
this.search = search
|
||||
|
||||
addFilter("search", search)
|
||||
}
|
||||
|
||||
fun getAfter(): String {
|
||||
return after
|
||||
}
|
||||
|
||||
fun setAfter(after: String) {
|
||||
this.after = after
|
||||
|
||||
addFilter("after", after)
|
||||
}
|
||||
|
||||
fun getBefore(): String {
|
||||
return before
|
||||
}
|
||||
|
||||
fun setAfter(date: Date) {
|
||||
setAfter(Converter.getDateString(date))
|
||||
}
|
||||
|
||||
fun setBefore(date: Date) {
|
||||
setBefore(Converter.getDateString(date))
|
||||
}
|
||||
|
||||
fun setBefore(before: String) {
|
||||
this.before = before
|
||||
|
||||
addFilter("before", before)
|
||||
}
|
||||
|
||||
fun getExclude(): IntArray {
|
||||
return exclude
|
||||
}
|
||||
|
||||
fun setExclude(exclude: IntArray) {
|
||||
this.exclude = exclude
|
||||
|
||||
addFilter("exclude", exclude)
|
||||
}
|
||||
|
||||
fun getInclude(): IntArray {
|
||||
return include
|
||||
}
|
||||
|
||||
fun setInclude(include: IntArray) {
|
||||
this.include = include
|
||||
|
||||
addFilter("include", include)
|
||||
}
|
||||
|
||||
fun getOffset(): Int {
|
||||
return offset
|
||||
}
|
||||
|
||||
fun setOffset(offset: Int) {
|
||||
this.offset = offset
|
||||
|
||||
addFilter("offset", offset)
|
||||
}
|
||||
|
||||
fun getOrder(): String {
|
||||
return order
|
||||
}
|
||||
|
||||
fun setOrder(order: String) {
|
||||
this.order = order
|
||||
|
||||
addFilter("order", order)
|
||||
}
|
||||
|
||||
fun setOrder(order: Sort) {
|
||||
setOrder(order.toString())
|
||||
}
|
||||
|
||||
fun getOrderby(): String {
|
||||
return orderby
|
||||
}
|
||||
|
||||
fun setOrderby(orderby: String) {
|
||||
this.orderby = orderby
|
||||
|
||||
addFilter("orderby", orderby)
|
||||
}
|
||||
|
||||
fun addFilter(filter: String, value: Any) {
|
||||
if (value.javaClass.isArray) {
|
||||
if (value is IntArray) {
|
||||
var values = ""
|
||||
for (item in value) {
|
||||
values += "$item,"
|
||||
}
|
||||
|
||||
filters[filter] = "" + values.substring(0, values.length - 1)
|
||||
|
||||
} else {
|
||||
val list = Arrays.asList(value)
|
||||
for (item in list) {
|
||||
filters[filter] = item.toString()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
filters[filter] = value.toString()
|
||||
}
|
||||
}
|
||||
|
||||
fun getFilters(): Map<String, String> {
|
||||
return filters
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,66 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class OrderFilter : ListFilter() {
|
||||
|
||||
var parent: IntArray? = null
|
||||
set(parent) {
|
||||
field = parent
|
||||
if (parent != null) {
|
||||
addFilter("parent", parent)
|
||||
}
|
||||
}
|
||||
var parent_exclude: IntArray? = null
|
||||
set(parent_exclude) {
|
||||
field = parent_exclude
|
||||
|
||||
if (parent_exclude != null) {
|
||||
addFilter("parent_exclude", parent_exclude)
|
||||
}
|
||||
}
|
||||
|
||||
internal lateinit var status: String
|
||||
|
||||
internal var customer: Int = 0
|
||||
internal var product: Int = 0
|
||||
internal var dp: Int = 0
|
||||
|
||||
fun getStatus(): String {
|
||||
return status
|
||||
}
|
||||
|
||||
fun setStatus(status: String) {
|
||||
this.status = status
|
||||
|
||||
addFilter("status", status)
|
||||
}
|
||||
|
||||
fun getCustomer(): Int {
|
||||
return customer
|
||||
}
|
||||
|
||||
fun setCustomer(customer: Int) {
|
||||
this.customer = customer
|
||||
|
||||
addFilter("customer", customer)
|
||||
}
|
||||
|
||||
fun getProduct(): Int {
|
||||
return product
|
||||
}
|
||||
|
||||
fun setProduct(product: Int) {
|
||||
this.product = product
|
||||
|
||||
addFilter("product", product)
|
||||
}
|
||||
|
||||
fun getDp(): Int {
|
||||
return dp
|
||||
}
|
||||
|
||||
fun setDp(dp: Int) {
|
||||
this.dp = dp
|
||||
addFilter("dp", dp)
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,18 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
import java.util.HashMap
|
||||
|
||||
class OrderNoteFilter : Filter() {
|
||||
|
||||
internal lateinit var type: String
|
||||
|
||||
fun getType(): String {
|
||||
return type
|
||||
}
|
||||
|
||||
fun setType(type: String) {
|
||||
this.type = type
|
||||
|
||||
addFilter("type", type)
|
||||
}
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
import java.util.HashMap
|
||||
|
||||
class ProductAttributeFilter {
|
||||
|
||||
internal lateinit var context: String
|
||||
|
||||
internal var filters: MutableMap<String, String> = HashMap()
|
||||
|
||||
fun getContext(): String {
|
||||
return context
|
||||
}
|
||||
|
||||
fun setContext(context: String) {
|
||||
this.context = context
|
||||
|
||||
addFilter("context", context)
|
||||
}
|
||||
|
||||
fun addFilter(filter: String, value: Any) {
|
||||
filters[filter] = value.toString()
|
||||
}
|
||||
|
||||
fun getFilters(): Map<String, String> {
|
||||
return filters
|
||||
}
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ProductAttributeTermFilter : ListFilter() {
|
||||
internal var product: Int = 0
|
||||
internal var hide_empty: Boolean = false
|
||||
internal lateinit var slug: String
|
||||
|
||||
var isHide_empty: Boolean
|
||||
get() = hide_empty
|
||||
set(hide_empty) {
|
||||
this.hide_empty = hide_empty
|
||||
addFilter("hide_empty", hide_empty)
|
||||
}
|
||||
|
||||
fun getProduct(): Int {
|
||||
return product
|
||||
}
|
||||
|
||||
fun setProduct(product: Int) {
|
||||
this.product = product
|
||||
addFilter("product", product)
|
||||
}
|
||||
|
||||
fun getSlug(): String {
|
||||
return slug
|
||||
}
|
||||
|
||||
fun setSlug(slug: String) {
|
||||
this.slug = slug
|
||||
addFilter("slug", slug)
|
||||
}
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ProductCategoryFilter : ListFilter() {
|
||||
var parent: IntArray? = null
|
||||
set(parent) {
|
||||
field = parent
|
||||
if (parent != null) {
|
||||
addFilter("parent", parent)
|
||||
}
|
||||
}
|
||||
internal var product: Int = 0
|
||||
internal var hide_empty: Boolean = false
|
||||
internal lateinit var slug: String
|
||||
|
||||
var isHide_empty: Boolean
|
||||
get() = hide_empty
|
||||
set(hide_empty) {
|
||||
this.hide_empty = hide_empty
|
||||
addFilter("hide_empty", hide_empty)
|
||||
}
|
||||
|
||||
fun getProduct(): Int {
|
||||
return product
|
||||
}
|
||||
|
||||
fun setProduct(product: Int) {
|
||||
this.product = product
|
||||
addFilter("product", product)
|
||||
}
|
||||
|
||||
fun getSlug(): String {
|
||||
return slug
|
||||
}
|
||||
|
||||
fun setSlug(slug: String) {
|
||||
this.slug = slug
|
||||
addFilter("slug", slug)
|
||||
}
|
||||
}
|
||||
@ -1,138 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ProductFilter : ListFilter() {
|
||||
var parent: IntArray? = null
|
||||
set(parent) {
|
||||
field = parent
|
||||
|
||||
if (parent != null) {
|
||||
addFilter("parent", parent)
|
||||
}
|
||||
|
||||
}
|
||||
var parent_exclude: IntArray? = null
|
||||
set(parent_exclude) {
|
||||
field = parent_exclude
|
||||
|
||||
if (parent_exclude != null) {
|
||||
addFilter("parent_exclude", parent_exclude)
|
||||
}
|
||||
|
||||
}
|
||||
var slug: String? = null
|
||||
set(slug) {
|
||||
field = slug
|
||||
|
||||
if (slug != null) {
|
||||
addFilter("slug", slug)
|
||||
}
|
||||
|
||||
}
|
||||
var status: String? = null
|
||||
set(status) {
|
||||
field = status
|
||||
|
||||
if (status != null) {
|
||||
addFilter("status", status)
|
||||
}
|
||||
|
||||
}
|
||||
var type: String? = null
|
||||
set(type) {
|
||||
field = type
|
||||
|
||||
if (type != null) {
|
||||
addFilter("type", type)
|
||||
}
|
||||
}
|
||||
var sku: String? = null
|
||||
set(sku) {
|
||||
field = sku
|
||||
|
||||
if (sku != null) {
|
||||
addFilter("sku", sku)
|
||||
}
|
||||
}
|
||||
var isFeatured: Boolean = false
|
||||
set(featured) {
|
||||
field = featured
|
||||
|
||||
addFilter("featured", featured)
|
||||
}
|
||||
var category: Int = 0
|
||||
set(category) {
|
||||
field = category
|
||||
|
||||
addFilter("category", category)
|
||||
}
|
||||
var tag: String? = null
|
||||
set(tag) {
|
||||
field = tag
|
||||
|
||||
if (tag != null) {
|
||||
addFilter("tag", tag)
|
||||
}
|
||||
}
|
||||
var shipping_class: String? = null
|
||||
set(shipping_class) {
|
||||
field = shipping_class
|
||||
|
||||
if (shipping_class != null) {
|
||||
addFilter("shipping_class", shipping_class)
|
||||
}
|
||||
}
|
||||
var attribute: String? = null
|
||||
set(attribute) {
|
||||
field = attribute
|
||||
|
||||
if (attribute != null) {
|
||||
addFilter("attribute", attribute)
|
||||
}
|
||||
}
|
||||
var attribute_term: String? = null
|
||||
set(attribute_term) {
|
||||
field = attribute_term
|
||||
|
||||
if (attribute_term != null) {
|
||||
addFilter("attribute_term", attribute_term)
|
||||
}
|
||||
}
|
||||
var tax_class: String? = null
|
||||
set(tax_class) {
|
||||
field = tax_class
|
||||
|
||||
if (tax_class != null) {
|
||||
addFilter("tax_class", tax_class)
|
||||
}
|
||||
}
|
||||
var isOn_sale: Boolean = false
|
||||
set(on_sale) {
|
||||
field = on_sale
|
||||
|
||||
addFilter("on_sale", on_sale)
|
||||
}
|
||||
var min_price: String? = null
|
||||
set(min_price) {
|
||||
field = min_price
|
||||
|
||||
if (min_price != null) {
|
||||
addFilter("min_price", min_price)
|
||||
}
|
||||
}
|
||||
var max_price: String? = null
|
||||
set(max_price) {
|
||||
field = max_price
|
||||
|
||||
if (max_price != null) {
|
||||
addFilter("max_price", max_price)
|
||||
}
|
||||
}
|
||||
var stock_status: String? = null
|
||||
set(stock_status) {
|
||||
field = stock_status
|
||||
|
||||
if (stock_status != null) {
|
||||
addFilter("stock_status", stock_status)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,61 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ProductReviewFilter : ListFilter() {
|
||||
|
||||
internal lateinit var reviewer: IntArray
|
||||
internal lateinit var reviewer_exclude: IntArray
|
||||
internal lateinit var reviewer_email: Array<String>
|
||||
|
||||
internal lateinit var product: IntArray
|
||||
internal lateinit var status: String
|
||||
|
||||
fun getReviewer(): IntArray {
|
||||
return reviewer
|
||||
}
|
||||
|
||||
fun setReviewer(reviewer: IntArray) {
|
||||
this.reviewer = reviewer
|
||||
|
||||
addFilter("reviewer", reviewer)
|
||||
}
|
||||
|
||||
fun getReviewer_exclude(): IntArray {
|
||||
return reviewer_exclude
|
||||
}
|
||||
|
||||
fun setReviewer_exclude(reviewer_exclude: IntArray) {
|
||||
this.reviewer_exclude = reviewer_exclude
|
||||
|
||||
addFilter("reviewer_exclude", reviewer_exclude)
|
||||
}
|
||||
|
||||
fun getReviewer_email(): Array<String> {
|
||||
return reviewer_email
|
||||
}
|
||||
|
||||
fun setReviewer_email(reviewer_email: Array<String>) {
|
||||
this.reviewer_email = reviewer_email
|
||||
|
||||
addFilter("reviewer_email", reviewer_email)
|
||||
}
|
||||
|
||||
fun getProduct(): IntArray {
|
||||
return product
|
||||
}
|
||||
|
||||
fun setProduct(product: IntArray) {
|
||||
this.product = product
|
||||
|
||||
addFilter("product", product)
|
||||
}
|
||||
|
||||
fun getStatus(): String {
|
||||
return status
|
||||
}
|
||||
|
||||
fun setStatus(status: String) {
|
||||
this.status = status
|
||||
|
||||
addFilter("status", status)
|
||||
}
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ProductTagFilter : ListFilter() {
|
||||
|
||||
internal var product: Int = 0
|
||||
internal var hide_empty: Boolean = false
|
||||
internal lateinit var slug: String
|
||||
|
||||
var isHide_empty: Boolean
|
||||
get() = hide_empty
|
||||
set(hide_empty) {
|
||||
this.hide_empty = hide_empty
|
||||
addFilter("hide_empty", hide_empty)
|
||||
}
|
||||
|
||||
|
||||
fun getProduct(): Int {
|
||||
return product
|
||||
}
|
||||
|
||||
fun setProduct(product: Int) {
|
||||
this.product = product
|
||||
addFilter("product", product)
|
||||
}
|
||||
|
||||
fun getSlug(): String {
|
||||
return slug
|
||||
}
|
||||
|
||||
fun setSlug(slug: String) {
|
||||
this.slug = slug
|
||||
addFilter("slug", slug)
|
||||
}
|
||||
}
|
||||
@ -1,140 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ProductVariationFilter : ListFilter() {
|
||||
var parent: IntArray? = null
|
||||
set(parent) {
|
||||
field = parent
|
||||
|
||||
if (parent != null) {
|
||||
addFilter("parent", parent)
|
||||
}
|
||||
|
||||
}
|
||||
var parent_exclude: IntArray? = null
|
||||
set(parent_exclude) {
|
||||
field = parent_exclude
|
||||
|
||||
if (parent_exclude != null) {
|
||||
addFilter("parent_exclude", parent_exclude)
|
||||
}
|
||||
|
||||
}
|
||||
var slug: String? = null
|
||||
set(slug) {
|
||||
field = slug
|
||||
|
||||
if (slug != null) {
|
||||
addFilter("slug", slug)
|
||||
}
|
||||
|
||||
}
|
||||
var status: String? = null
|
||||
set(status) {
|
||||
field = status
|
||||
|
||||
if (status != null) {
|
||||
addFilter("status", status)
|
||||
}
|
||||
|
||||
}
|
||||
var type: String? = null
|
||||
set(type) {
|
||||
field = type
|
||||
|
||||
if (type != null) {
|
||||
addFilter("type", type)
|
||||
}
|
||||
}
|
||||
var sku: String? = null
|
||||
set(sku) {
|
||||
field = sku
|
||||
|
||||
if (sku != null) {
|
||||
addFilter("sku", sku)
|
||||
}
|
||||
}
|
||||
var isFeatured: Boolean = false
|
||||
set(featured) {
|
||||
field = featured
|
||||
|
||||
addFilter("featured", featured)
|
||||
}
|
||||
var category: String? = null
|
||||
set(category) {
|
||||
field = category
|
||||
|
||||
if (category != null) {
|
||||
addFilter("category", category)
|
||||
}
|
||||
}
|
||||
var tag: String? = null
|
||||
set(tag) {
|
||||
field = tag
|
||||
|
||||
if (tag != null) {
|
||||
addFilter("tag", tag)
|
||||
}
|
||||
}
|
||||
var shipping_class: String? = null
|
||||
set(shipping_class) {
|
||||
field = shipping_class
|
||||
|
||||
if (shipping_class != null) {
|
||||
addFilter("shipping_class", shipping_class)
|
||||
}
|
||||
}
|
||||
var attribute: String? = null
|
||||
set(attribute) {
|
||||
field = attribute
|
||||
|
||||
if (attribute != null) {
|
||||
addFilter("attribute", attribute)
|
||||
}
|
||||
}
|
||||
var attribute_term: String? = null
|
||||
set(attribute_term) {
|
||||
field = attribute_term
|
||||
|
||||
if (attribute_term != null) {
|
||||
addFilter("attribute_term", attribute_term)
|
||||
}
|
||||
}
|
||||
var tax_class: String? = null
|
||||
set(tax_class) {
|
||||
field = tax_class
|
||||
|
||||
if (tax_class != null) {
|
||||
addFilter("tax_class", tax_class)
|
||||
}
|
||||
}
|
||||
var isOn_sale: Boolean = false
|
||||
set(on_sale) {
|
||||
field = on_sale
|
||||
|
||||
addFilter("on_sale", on_sale)
|
||||
}
|
||||
var min_price: String? = null
|
||||
set(min_price) {
|
||||
field = min_price
|
||||
|
||||
if (min_price != null) {
|
||||
addFilter("min_price", min_price)
|
||||
}
|
||||
}
|
||||
var max_price: String? = null
|
||||
set(max_price) {
|
||||
field = max_price
|
||||
|
||||
if (max_price != null) {
|
||||
addFilter("max_price", max_price)
|
||||
}
|
||||
}
|
||||
var stock_status: String? = null
|
||||
set(stock_status) {
|
||||
field = stock_status
|
||||
|
||||
if (stock_status != null) {
|
||||
addFilter("stock_status", stock_status)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class RefundFilter : ListFilter() {
|
||||
|
||||
var parent: IntArray? = null
|
||||
set(parent) {
|
||||
field = parent
|
||||
if (parent != null) {
|
||||
addFilter("parent", parent)
|
||||
}
|
||||
}
|
||||
var parent_exclude: IntArray? = null
|
||||
set(parent_exclude) {
|
||||
field = parent_exclude
|
||||
|
||||
if (parent_exclude != null) {
|
||||
addFilter("parent_exclude", parent_exclude)
|
||||
}
|
||||
}
|
||||
|
||||
internal var dp: Int = 0
|
||||
|
||||
fun getDp(): Int {
|
||||
return dp
|
||||
}
|
||||
|
||||
fun setDp(dp: Int) {
|
||||
this.dp = dp
|
||||
addFilter("dp", dp)
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,38 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ReportsDateFilter : Filter() {
|
||||
|
||||
internal lateinit var period: String
|
||||
internal lateinit var date_min: String
|
||||
internal lateinit var date_max: String
|
||||
|
||||
fun getPeriod(): String {
|
||||
return period
|
||||
}
|
||||
|
||||
fun setPeriod(period: String) {
|
||||
this.period = period
|
||||
|
||||
addFilter("period", period)
|
||||
}
|
||||
|
||||
fun getDate_min(): String {
|
||||
return date_min
|
||||
}
|
||||
|
||||
fun setDate_min(date_min: String) {
|
||||
this.date_min = date_min
|
||||
|
||||
addFilter("date_min", date_min)
|
||||
}
|
||||
|
||||
fun getDate_max(): String {
|
||||
return date_max
|
||||
}
|
||||
|
||||
fun setDate_max(date_max: String) {
|
||||
this.date_max = date_max
|
||||
|
||||
addFilter("date_max", date_max)
|
||||
}
|
||||
}
|
||||
@ -1,49 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
enum class Role {
|
||||
ALL {
|
||||
override fun toString(): String {
|
||||
return "all"
|
||||
}
|
||||
},
|
||||
ADMINISTRATOR {
|
||||
override fun toString(): String {
|
||||
return "administrator"
|
||||
}
|
||||
},
|
||||
EDITOR {
|
||||
override fun toString(): String {
|
||||
return "editor"
|
||||
}
|
||||
},
|
||||
|
||||
AUTHOR {
|
||||
override fun toString(): String {
|
||||
return "author"
|
||||
}
|
||||
},
|
||||
|
||||
CONTRIBUTOR {
|
||||
override fun toString(): String {
|
||||
return "contributor"
|
||||
}
|
||||
},
|
||||
|
||||
SUBSCRIBER {
|
||||
override fun toString(): String {
|
||||
return "subscriber"
|
||||
}
|
||||
},
|
||||
|
||||
CUSTOMER {
|
||||
override fun toString(): String {
|
||||
return "customer"
|
||||
}
|
||||
},
|
||||
|
||||
SHOP_MANAGER {
|
||||
override fun toString(): String {
|
||||
return "shop_manager"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class ShippingClassesFilter : ListFilter() {
|
||||
|
||||
internal var product: Int = 0
|
||||
internal var hide_empty: Boolean = false
|
||||
internal lateinit var slug: String
|
||||
|
||||
var isHide_empty: Boolean
|
||||
get() = hide_empty
|
||||
set(hide_empty) {
|
||||
this.hide_empty = hide_empty
|
||||
addFilter("hide_empty", hide_empty)
|
||||
}
|
||||
|
||||
|
||||
fun getProduct(): Int {
|
||||
return product
|
||||
}
|
||||
|
||||
fun setProduct(product: Int) {
|
||||
this.product = product
|
||||
addFilter("product", product)
|
||||
}
|
||||
|
||||
fun getSlug(): String {
|
||||
return slug
|
||||
}
|
||||
|
||||
fun setSlug(slug: String) {
|
||||
this.slug = slug
|
||||
addFilter("slug", slug)
|
||||
}
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
enum class Sort {
|
||||
|
||||
ASCENDING {
|
||||
override fun toString(): String {
|
||||
return "asc"
|
||||
}
|
||||
},
|
||||
DESCENDING {
|
||||
override fun toString(): String {
|
||||
return "desc"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
package me.gilo.woodroid.models.filters
|
||||
|
||||
class WebhookFilter : ListFilter() {
|
||||
|
||||
internal lateinit var status: String
|
||||
|
||||
fun getStatus(): String {
|
||||
return status
|
||||
}
|
||||
|
||||
fun setStatus(status: String) {
|
||||
this.status = status
|
||||
addFilter("status", status)
|
||||
}
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class CouponsTotal {
|
||||
|
||||
lateinit var slug: String
|
||||
lateinit var name: String
|
||||
lateinit var total: String
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class CustomersTotal {
|
||||
|
||||
lateinit var slug: String
|
||||
lateinit var name: String
|
||||
lateinit var total: String
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class OrdersTotal {
|
||||
|
||||
lateinit var slug: String
|
||||
lateinit var name: String
|
||||
lateinit var total: String
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class ProductsTotal {
|
||||
|
||||
lateinit var slug: String
|
||||
lateinit var name: String
|
||||
lateinit var total: String
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class ReviewsTotal {
|
||||
|
||||
lateinit var slug: String
|
||||
lateinit var name: String
|
||||
lateinit var total: String
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class SalesPeriodTotal {
|
||||
|
||||
private val shipping: String? = null
|
||||
private val discount: String? = null
|
||||
private val orders: Int = 0
|
||||
private val tax: String? = null
|
||||
private val customers: Int = 0
|
||||
private val items: Int = 0
|
||||
private val sales: String? = null
|
||||
|
||||
}
|
||||
@ -1,17 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class SalesTotal {
|
||||
|
||||
var total_discount: Int = 0
|
||||
var net_sales: String? = null
|
||||
var total_customers: String? = null
|
||||
var totals: Map<String, SalesPeriodTotal>? = null
|
||||
var total_orders: Int = 0
|
||||
var total_tax: String? = null
|
||||
var total_items: Int = 0
|
||||
var totals_grouped_by: String? = null
|
||||
var total_shipping: String? = null
|
||||
var average_sales: String? = null
|
||||
var total_sales: String? = null
|
||||
var total_refunds: Int = 0
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
package me.gilo.woodroid.models.report
|
||||
|
||||
class TopSellerProducts {
|
||||
|
||||
lateinit var title: String
|
||||
var product_id: Int = 0
|
||||
var quantity: Int = 0
|
||||
}
|
||||
@ -6,10 +6,17 @@ import com.google.firebase.auth.FirebaseAuth
|
||||
import com.google.firebase.firestore.CollectionReference
|
||||
import com.google.firebase.firestore.FirebaseFirestore
|
||||
import me.gilo.woodroid.core.cart.CartRepository
|
||||
import me.gilo.woodroid.models.LineItem
|
||||
import me.gilo.woodroid.core.cart.lines.LineItem
|
||||
|
||||
|
||||
open class FirebaseCartRepository(userId : String) : CartRepository() {
|
||||
|
||||
private val cart: CollectionReference = FirebaseFirestore.getInstance()
|
||||
.collection("users")
|
||||
.document(userId)
|
||||
.collection("cart")
|
||||
|
||||
|
||||
open class FirebaseCartRepository : CartRepository() {
|
||||
override fun cart(): LiveData<List<LineItem>> {
|
||||
TODO("not implemented")
|
||||
}
|
||||
@ -39,9 +46,6 @@ open class FirebaseCartRepository : CartRepository() {
|
||||
}
|
||||
|
||||
|
||||
private val cart: CollectionReference = FirebaseFirestore.getInstance()
|
||||
.collection("users")
|
||||
.document(FirebaseAuth.getInstance().currentUser?.uid ?: "0")
|
||||
.collection("cart")
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
package me.gilo.woodroid.firebasecart.common;
|
||||
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.support.annotation.NonNull;
|
||||
import com.google.android.gms.tasks.OnCompleteListener;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.firebase.firestore.DocumentReference;
|
||||
|
||||
|
||||
public final class CompletionDocLiveData extends LiveData<Resource<Boolean>> implements OnCompleteListener<DocumentReference> {
|
||||
|
||||
|
||||
public CompletionDocLiveData() {
|
||||
setValue(new Resource<>(Status.LOADING));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void onComplete(@NonNull Task<DocumentReference> task) {
|
||||
if (task.isSuccessful()) {
|
||||
setValue(new Resource<>(true));
|
||||
} else {
|
||||
setValue(new Resource<>(task.getException()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
package me.gilo.woodroid.app.common
|
||||
|
||||
import android.arch.lifecycle.LiveData
|
||||
import com.google.android.gms.tasks.OnCompleteListener
|
||||
import com.google.android.gms.tasks.Task
|
||||
|
||||
|
||||
class CompletionGenericLiveData<T> : LiveData<Resource<T>>(), OnCompleteListener<T> {
|
||||
init {
|
||||
value = Resource(Status.LOADING)
|
||||
}
|
||||
|
||||
override fun onComplete(task: Task<T>) {
|
||||
if (task.isSuccessful) {
|
||||
setValue(Resource(task.result!!))
|
||||
} else {
|
||||
setValue(Resource(task.exception!!))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,24 +0,0 @@
|
||||
package me.gilo.woodroid.firebasecart.common;
|
||||
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.support.annotation.NonNull;
|
||||
import com.google.android.gms.tasks.OnCompleteListener;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
|
||||
|
||||
public final class CompletionLiveData extends LiveData<Resource<Boolean>> implements OnCompleteListener<Void> {
|
||||
|
||||
|
||||
public CompletionLiveData() {
|
||||
setValue(new Resource<>(Status.LOADING));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void onComplete(@NonNull Task<Void> task) {
|
||||
if (task.isSuccessful()) {
|
||||
setValue(new Resource<>(true));
|
||||
} else {
|
||||
setValue(new Resource<>(task.getException()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,41 +0,0 @@
|
||||
package me.gilo.woodroid.firebasecart.common;
|
||||
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import com.google.firebase.firestore.*;
|
||||
|
||||
|
||||
public class DocumentLiveData<T> extends LiveData<Resource<T>>
|
||||
implements EventListener<DocumentSnapshot> {
|
||||
private final Class<T> type;
|
||||
private ListenerRegistration registration;
|
||||
private final DocumentReference ref;
|
||||
|
||||
public DocumentLiveData(DocumentReference ref, Class<T> type) {
|
||||
this.ref = ref;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEvent(DocumentSnapshot snapshot, FirebaseFirestoreException e) {
|
||||
if (e != null) {
|
||||
setValue(new Resource<>(e));
|
||||
return;
|
||||
}
|
||||
setValue(new Resource<>(snapshot.toObject(type)));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActive() {
|
||||
super.onActive();
|
||||
registration = ref.addSnapshotListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInactive() {
|
||||
super.onInactive();
|
||||
if (registration != null) {
|
||||
registration.remove();
|
||||
registration = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,15 +1,21 @@
|
||||
package me.gilo.woodroid.models
|
||||
package me.gilo.woodroid.firebasecart.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import me.gilo.woodroid.core.cart.lines.FeeLine
|
||||
import me.gilo.woodroid.core.cart.lines.LineItem
|
||||
import me.gilo.woodroid.core.cart.lines.ShippingLine
|
||||
import me.gilo.woodroid.models.*
|
||||
|
||||
import java.util.ArrayList
|
||||
import java.util.Date
|
||||
|
||||
|
||||
class Order {
|
||||
class Cart {
|
||||
var id: Int = 0
|
||||
|
||||
@SerializedName("number")
|
||||
lateinit var orderNumber: String
|
||||
|
||||
@SerializedName("created_at")
|
||||
lateinit var createdAt: String
|
||||
|
||||
@ -18,51 +24,77 @@ class Order {
|
||||
|
||||
@SerializedName("updated_at")
|
||||
lateinit var updatedAt: String
|
||||
|
||||
@SerializedName("completed_at")
|
||||
lateinit var completedAt: String
|
||||
|
||||
lateinit var status: String
|
||||
|
||||
lateinit var currency: String
|
||||
|
||||
lateinit var total: String
|
||||
|
||||
lateinit var subtotal: String
|
||||
|
||||
@SerializedName("total_line_items_quantity")
|
||||
var totalLineItemsQuantity: Int = 0
|
||||
|
||||
@SerializedName("total_tax")
|
||||
lateinit var totalTax: String
|
||||
|
||||
@SerializedName("total_shipping")
|
||||
lateinit var totalShipping: String
|
||||
|
||||
@SerializedName("cart_tax")
|
||||
lateinit var cartTax: String
|
||||
|
||||
@SerializedName("shipping_tax")
|
||||
lateinit var shippingTax: String
|
||||
|
||||
@SerializedName("total_discount")
|
||||
lateinit var totalDiscount: String
|
||||
|
||||
@SerializedName("shipping_methods")
|
||||
lateinit var shippingMethods: String
|
||||
|
||||
@SerializedName("payment_details")
|
||||
lateinit var paymentDetails: PaymentDetails
|
||||
|
||||
@SerializedName("billing")
|
||||
lateinit var billingAddress: BillingAddress
|
||||
|
||||
@SerializedName("shipping")
|
||||
lateinit var shippingAddress: ShippingAddress
|
||||
|
||||
lateinit var note: String
|
||||
|
||||
@SerializedName("customer_ip")
|
||||
lateinit var customerIp: String
|
||||
|
||||
@SerializedName("customer_user_agent")
|
||||
lateinit var customerUserAgent: String
|
||||
|
||||
@SerializedName("customer_id")
|
||||
var customerId: Int? = null
|
||||
|
||||
@SerializedName("view_order_url")
|
||||
lateinit var viewOrderUrl: String
|
||||
|
||||
@SerializedName("line_items")
|
||||
var lineItems: MutableList<LineItem> = ArrayList()
|
||||
|
||||
@SerializedName("shipping_lines")
|
||||
var shippingLines: List<ShippingLine> = ArrayList()
|
||||
|
||||
@SerializedName("tax_lines")
|
||||
var taxLines: List<TaxLine> = ArrayList()
|
||||
|
||||
@SerializedName("fee_lines")
|
||||
var feeLines: List<FeeLine> = ArrayList()
|
||||
|
||||
@SerializedName("coupon_lines")
|
||||
var couponLines: List<Any> = ArrayList()
|
||||
|
||||
lateinit var customer: Customer
|
||||
|
||||
|
||||
@ -1,73 +0,0 @@
|
||||
package me.gilo.woodroid.firebasecart.models;
|
||||
|
||||
import me.gilo.woodroid.models.Product;
|
||||
|
||||
|
||||
public class CartLineItem extends Model{
|
||||
|
||||
public float price;
|
||||
public int quantity;
|
||||
public int productId;
|
||||
|
||||
Product product;
|
||||
|
||||
String name;
|
||||
String imageUrl;
|
||||
String priceString;
|
||||
|
||||
public float getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(float price) {
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public int getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(int quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public int getProductId() {
|
||||
return productId;
|
||||
}
|
||||
|
||||
public void setProductId(int productId) {
|
||||
this.productId = productId;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getImageUrl() {
|
||||
return imageUrl;
|
||||
}
|
||||
|
||||
public void setImageUrl(String imageUrl) {
|
||||
this.imageUrl = imageUrl;
|
||||
}
|
||||
|
||||
public String getPriceString() {
|
||||
return priceString;
|
||||
}
|
||||
|
||||
public void setPriceString(String priceString) {
|
||||
this.priceString = priceString;
|
||||
}
|
||||
|
||||
public void setProduct(Product product) {
|
||||
this.product = product;
|
||||
}
|
||||
|
||||
public Product getProduct() {
|
||||
return product;
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,8 @@
|
||||
package me.gilo.woodroid.models
|
||||
package me.gilo.woodroid.firebasecart.models
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import me.gilo.woodroid.models.BillingAddress
|
||||
import me.gilo.woodroid.models.ShippingAddress
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package me.gilo.woodroid.core.cart
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
class Option {
|
||||
var size: Array<String>? = null
|
||||
@ -0,0 +1,11 @@
|
||||
package me.gilo.woodroid.models
|
||||
|
||||
|
||||
class TaxLine {
|
||||
var id: Int = 0
|
||||
var rate_id: Int = 0
|
||||
var code: String? = null
|
||||
var title: String? = null
|
||||
var total: Double = 0.toDouble()
|
||||
var isCompound: Boolean = false
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user