From 9ad8ff8706c7722b7fba07820e9c05d157546f46 Mon Sep 17 00:00:00 2001 From: Mono Mono Date: Sat, 11 Jan 2025 14:05:01 -0500 Subject: [PATCH] #84 refactor(front): moved to api create reconciliation jar. --- .../src/components/ReconciliationJar.vue | 27 +++------ .../frontend/don-confiao/src/services/api.js | 4 ++ .../don-confiao/src/services/django-api.js | 59 +++++++++++-------- 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/ReconciliationJar.vue b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/ReconciliationJar.vue index 1614d09..d866707 100644 --- a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/ReconciliationJar.vue +++ b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/ReconciliationJar.vue @@ -187,27 +187,14 @@ async submit() { this.$refs.taker.validate(); if (this.valid) { - try { - const response = await fetch('/don_confiao/reconciliate_jar', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(this.reconciliation), - }); - if (response.ok) { - const data = await response.json(); - console.log('Cuadre enviado:', data); - this.$router.push({path: "/"}); - } else { - console.error('Error al enviar el cuadre', response.statusText); - - } - } catch (error) { - console.error('Error de red:', error); - } + this.api.createReconciliationJar(this.reconciliation) + .then(data => { + console.log('Cuadre enviado:', data); + this.$router.push({path: "/"}); + }) + .catch(error => console.error('Error:', error)); } - }, + } }, } diff --git a/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/api.js b/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/api.js index 5e08f42..051535a 100644 --- a/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/api.js +++ b/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/api.js @@ -26,6 +26,10 @@ class Api { createPurchase(purchase) { return this.apiImplementation.createPurchase(purchase); } + + createReconciliationJar(reconciliation) { + return this.apiImplementation.createReconciliationJar(reconciliation); + } } export default Api; diff --git a/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/django-api.js b/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/django-api.js index 3c75f29..f2eed31 100644 --- a/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/django-api.js +++ b/tienda_ilusion/don_confiao/frontend/don-confiao/src/services/django-api.js @@ -25,28 +25,13 @@ class DjangoApi { } createPurchase(purchase) { - return new Promise((resolve, reject) => { - console.log('compra a enviar:', purchase); - fetch('/don_confiao/api/sales/', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(purchase), - }).then(response => { - if (!response.ok) { - reject(new Error(`Error ${response.status}: ${response.statusText}`)); - } else { - response.json().then(data => { - if (!data) { - reject(new Error('La respuesta no es un JSON válido')); - } else { - resolve(data); - } - }); - } - }).catch(error => reject(error)); - }); + const url = '/don_confiao/api/sales/'; + return this.postRequest(url, purchase); + } + + createReconciliationJar(reconciliation) { + const url = '/don_confiao/reconciliate_jar'; + return this.postRequest(url, reconciliation); } getRequest(url) { @@ -60,7 +45,35 @@ class DjangoApi { reject(error); }); }); + + + } + + postRequest(url, content) { + return new Promise((resolve, reject) => { + fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(content) + }) + .then(response => { + if (!response.ok) { + reject(new Error(`Error ${response.status}: ${response.statusText}`)); + } else { + response.json().then(data => { + if (!data) { + reject(new Error('La respuesta no es un JSON válido')); + } else { + resolve(data); + } + }); + } + }) + .catch(error => reject(error)); + }); } } -export default DjangoApi; + export default DjangoApi;