ali 2 anni fa
parent
commit
02f9f517ff

+ 39 - 0
src/api/models/BasketItem.js

@@ -8,6 +8,7 @@ export default class BasketItemAPI extends APIRepository {
     this.APIAdresses = {
       base: '/store/items',
       decrement: '/store/items/decrement',
+      increment: '/store/items/increment',
       byId: (id) => '/store/items/' + id
     }
     this.CacheList = {
@@ -164,6 +165,44 @@ export default class BasketItemAPI extends APIRepository {
     })
   }
 
+  incrementPackage (packageId) {
+    return this.sendRequest({
+      apiMethod: 'post',
+      api: this.api,
+      request: this.APIAdresses.increment,
+      data: this.getNormalizedSendData({
+        package: null // Number
+      }, {
+        package: packageId
+      }),
+      resolveCallback: (response) => {
+        return new BasketItem(response.data)
+      },
+      rejectCallback: (error) => {
+        return error
+      }
+    })
+  }
+
+  incrementProduct (productId) {
+    return this.sendRequest({
+      apiMethod: 'post',
+      api: this.api,
+      request: this.APIAdresses.increment,
+      data: this.getNormalizedSendData({
+        product: null // Number
+      }, {
+        product: productId
+      }),
+      resolveCallback: (response) => {
+        return new BasketItem(response.data)
+      },
+      rejectCallback: (error) => {
+        return error
+      }
+    })
+  }
+
   update (basketItemId, count) {
     return this.sendRequest({
       apiMethod: 'put',

+ 2 - 2
src/components/Widgets/Store/Cart/components/step1/step1.vue

@@ -70,8 +70,8 @@ export default {
     },
     onIncrease (basketItem) {
       basketItem.loading = true
-      const newCount = basketItem.count + 1
-      APIGateway.basketItem.update(basketItem.id, newCount)
+      const promise = basketItem.product ? APIGateway.basketItem.incrementProduct(basketItem.product) : APIGateway.basketItem.incrementPackage(basketItem.package)
+      promise
         .then(() => {
           this.checkoutReview()
         })