Address list query #122

Merged
jsegarra merged 5 commits from wbuezas/hedera-web-mindshore:feature/address-list-query into beta 2025-03-21 14:06:02 +00:00
1 changed files with 31 additions and 9 deletions
Showing only changes of commit 1f39c5ef5d - Show all commits

View File

@ -1,6 +1,6 @@
<script setup>
import { useI18n } from 'vue-i18n';
import { ref, onMounted, inject } from 'vue';
import { ref, onMounted, inject, watch } from 'vue';
import { useRouter } from 'vue-router';
import CardList from 'src/components/ui/CardList.vue';
@ -10,13 +10,15 @@ import useNotify from 'src/composables/useNotify.js';
import { useVnConfirm } from 'src/composables/useVnConfirm.js';
import { useAppStore } from 'stores/app';
import { storeToRefs } from 'pinia';
import { useUserStore } from 'stores/user';
const router = useRouter();
const jApi = inject('jApi');
const api = inject('api');
const { notify } = useNotify();
const { t } = useI18n();
const { openConfirmationModal } = useVnConfirm();
const appStore = useAppStore();
const userStore = useUserStore();
const { isHeaderMounted } = storeToRefs(appStore);
const addresses = ref([]);
@ -40,12 +42,23 @@ const getDefaultAddress = async () => {
const getActiveAddresses = async () => {
try {
addresses.value = await jApi.query(
`SELECT a.id, a.nickname, p.name province, a.postalCode, a.city, a.street, a.isActive
FROM myAddress a
LEFT JOIN vn.province p ON p.id = a.provinceFk
WHERE a.isActive`
);
const filter = {
where: { clientFk: userStore.user.id },
fields: [
'id',
'nickname',
'postalCode',
'city',
'street',
'isActive'
]
};
const { data } = await api.get('Addresses', {
params: {
filter: JSON.stringify(filter)
}
});
addresses.value = data;
} catch (error) {
console.error('Error getting active addresses:', error);
Review

Este cacho sigue siendo necesario?

Este cacho sigue siendo necesario?
Review

realmente el catch es medio irrelevante en este caso

realmente el catch es medio irrelevante en este caso
}
@ -86,8 +99,17 @@ const removeAddress = async id => {
onMounted(async () => {
getDefaultAddress();
getActiveAddresses();
});
watch(
() => userStore?.user?.id,

Porque hacemos el Watch si siempre va a ser el mismo?

Porque hacemos el Watch si siempre va a ser el mismo?

Porque al momento que se monta el componente todavia no esta disponible la informacion sobre el usuario, por eso use un watch para cuando este disponible fetchearla inmediatamente

Porque al momento que se monta el componente todavia no esta disponible la informacion sobre el usuario, por eso use un watch para cuando este disponible fetchearla inmediatamente

Y la prop de autoload no serviria?
En lilium, para fetchdata lo tenemos asi

Y la prop de autoload no serviria? En lilium, para fetchdata lo tenemos asi

No veo en que parte seria viable poner un autoload, no es un componente generico.

En todo caso se puede traer el componente FetchData que esta en lilium y aplicarlo aca, como lo ves?

No veo en que parte seria viable poner un autoload, no es un componente generico. En todo caso se puede traer el componente `FetchData` que esta en lilium y aplicarlo aca, como lo ves?
async userId => {
if (userId) {
getActiveAddresses();
}
},
{ immediate: true }
);
</script>
<template>