Эх сурвалжийг харах

Add functionality to delete a transction.

Lee Morgan 11 сар өмнө
parent
commit
e8de6576c8

+ 1 - 5
bruno/Suma/Transaction/Delete.bru

@@ -5,15 +5,11 @@ meta {
 }
 
 delete {
-  url: http://localhost:8000/api/transaction/:id
+  url: http://localhost:8000/api/transaction/688b89c6b3b35462d0abaa9a
   body: none
   auth: inherit
 }
 
-params:path {
-  id: 
-}
-
 settings {
   encodeUrl: true
 }

+ 8 - 2
src/views/js/data/Transaction.js

@@ -116,8 +116,14 @@ export default class Transaction{
         };
     }
 
-    delete(){
-       console.log("deleting");
+    async delete(){
+        let response = await fetch(`/api/transactions/${this._id}`, {
+            method: "DELETE",
+            headers: {"Content-Type": "application/json"}
+        });
+        response = await response.json(); 
+
+        if(response.error) throw response.error;
     }
 
     async save(isNew = false){

+ 0 - 1
src/views/js/index.js

@@ -68,6 +68,5 @@ fetch("/api/user", {
         currentPage = new Home();
     })
     .catch((err)=>{
-        console.log(err);
         currentPage = new Login();
     });

+ 16 - 1
src/views/js/pages/TransactionDetails.js

@@ -35,6 +35,21 @@ export default class TransactionDetails extends Page{
         modal.parentElement.removeChild(modal);
     }
 
+    async delete(transaction){
+        try{
+            const response = await transaction.delete();
+            if(response.error) throw response.error;
+        }catch(e){
+            if(e.error){
+                new Notifier("error", e.error.message);
+            }else{
+                new Notifier("error", "Something went wrong, try refreshing the page");
+            }
+        }
+
+        changePage("viewTransactions");
+    }
+
     confirmDelete(transaction){
         new Elem("div")
             .addClass("deleteModal")
@@ -44,7 +59,7 @@ export default class TransactionDetails extends Page{
             .append(new Elem("button")
                 .text("Delete")
                 .addClass("button")
-                .onclick(()=>{console.log("deleting")})
+                .onclick(()=>{this.delete(transaction)})
             )
             .append(new Elem("button")
                 .text("Cancel")