From ea671474106d6416fb4d90da05c34d916b6ca5a2 Mon Sep 17 00:00:00 2001
From: Mateja <mail@matejamaric.com>
Date: Tue, 27 Jul 2021 14:34:41 +0200
Subject: Move transaction requests to Vuex.

---
 client/src/views/Checkout.vue | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

(limited to 'client/src/views/Checkout.vue')

diff --git a/client/src/views/Checkout.vue b/client/src/views/Checkout.vue
index a62f83c..a009b94 100644
--- a/client/src/views/Checkout.vue
+++ b/client/src/views/Checkout.vue
@@ -23,8 +23,6 @@
 </template>
 
 <script>
-import axios from 'axios';
-
 export default {
   name: 'Checkout',
   mounted() {
@@ -49,22 +47,18 @@ export default {
       this.$store.commit('removeFromCart', id);
     },
     paypalLoaded() {
-      const checkoutRequest = {items: this.$store.getters.getCart};
+      const dispatch = this.$store.dispatch;
 
       window.paypal.Buttons({
         async createOrder() {
-          const orderId = await axios
-            .post(`${process.env.VUE_APP_ROOT_API}/transaction/setup`, checkoutRequest)
-            .then(response => response.data.orderId)
-            .catch(err => console.error(err));
-
-          return orderId;
+          return await dispatch('createOrder');
         },
         async onApprove(data) {
-          await axios
-            .post(`${process.env.VUE_APP_ROOT_API}/transaction/capture`, {orderId: data.orderID})
-            .then(() => console.log('Paid successfully!'))
-            .catch(err => console.error(err));
+          const success = await dispatch('captureOrder', data.orderID);
+          if (success === true)
+            console.log('Successfully paid!');
+          else
+            console.log('Capturing order failed!');
         },
         onError(err) {
           console.error(err);
-- 
cgit v1.2.3

