From 6d233f5bfbedd9a1e0c83b1b41650edde687a874 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Sun, 7 Sep 2025 19:29:41 +0200 Subject: [PATCH] Fixed incoming EDIT, useFiles, useFunctions, usePermission --- composables/useFiles.ts | 41 ++++++--------------- composables/useFunctions.js | 22 +++++++++--- composables/usePermission.ts | 2 +- pages/incomingInvoices/edit/[id].vue | 54 ++++++++++++++-------------- 4 files changed, 55 insertions(+), 64 deletions(-) diff --git a/composables/useFiles.ts b/composables/useFiles.ts index b6abe4f..11a02ce 100644 --- a/composables/useFiles.ts +++ b/composables/useFiles.ts @@ -69,39 +69,18 @@ export const useFiles = () => { } const selectDocument = async (id) => { - const {data,error} = await supabase - .from("files") - .select('*') - .eq("id",id) - .single() + let documentIds = [id] + if(documentIds.length === 0) return [] + const res = await useNuxtApp().$api("/api/files/presigned",{ + method: "POST", + body: { + ids: documentIds + } + }) - const {data: supabaseData,error:supabaseError} = await supabase.storage.from(bucket).createSignedUrl(data.path,3600) + console.log(res) - return { - ...data, - url: supabaseData.signedUrl - } -/* - if(data.length > 0){ - let paths = [] - data.forEach(doc => { - paths.push(doc.path) - }) - - const {data: supabaseData,error} = await supabase.storage.from(bucket).createSignedUrls(paths,3600) - - data = data.map((doc,index) => { - - return { - ...doc, - url: supabaseData[index].signedUrl - } - }) - } - - //console.log(data) - - return data[0]*/ + return res.files[0] } const downloadFile = async (id?: string, ids?: string[]) => { diff --git a/composables/useFunctions.js b/composables/useFunctions.js index 44d27ee..42e7506 100644 --- a/composables/useFunctions.js +++ b/composables/useFunctions.js @@ -24,7 +24,7 @@ export const useFunctions = () => { } const useNextNumber = async (numberRange) => { - const {data:{session:{access_token}}} = await supabase.auth.getSession() + /*const {data:{session:{access_token}}} = await supabase.auth.getSession() return (await axios({ method: "POST", @@ -35,7 +35,11 @@ export const useFunctions = () => { headers: { Authorization: `Bearer ${access_token}` } - })).data.usedNumber + })).data.usedNumber*/ + + return (await useNuxtApp().$api(`/api/functions/usenextnumber/${numberRange}`,)).usedNumber + + } const useCreateTicket = async (subject,message,url,source) => { @@ -80,9 +84,17 @@ export const useFunctions = () => { } const useCreatePDF = async (invoiceData,path) => { - const {data:{session:{access_token}}} = await supabase.auth.getSession() + //const {data:{session:{access_token}}} = await supabase.auth.getSession() - const {data} = await axios({ + const data = await useNuxtApp().$api(`/api/functions/createinvoicepdf`, { + method: "POST", + body: { + invoiceData: invoiceData, + backgroundPath: path, + } + }) + + /*const {data} = await axios({ method: "POST", url: `${baseURL}/functions/createpdf`, data: { @@ -93,7 +105,7 @@ export const useFunctions = () => { headers: { Authorization: `Bearer ${access_token}` } - }) + })*/ console.log(data) diff --git a/composables/usePermission.ts b/composables/usePermission.ts index dd826e2..54376e7 100644 --- a/composables/usePermission.ts +++ b/composables/usePermission.ts @@ -6,4 +6,4 @@ export function usePermission() { } return { has } -} \ No newline at end of file +} diff --git a/pages/incomingInvoices/edit/[id].vue b/pages/incomingInvoices/edit/[id].vue index fe8d568..b912afe 100644 --- a/pages/incomingInvoices/edit/[id].vue +++ b/pages/incomingInvoices/edit/[id].vue @@ -7,11 +7,7 @@ import {useSupabaseSelect} from "~/composables/useSupabase.js"; const dataStore = useDataStore() -const profileStore = useProfileStore() -const supabase = useSupabaseClient() const route = useRoute() -const router = useRouter() -const toast = useToast() const itemInfo = ref({ vendor: 0, @@ -34,14 +30,18 @@ const itemInfo = ref({ }) const costcentres = ref([]) +const vendors = ref([]) +const accounts = ref([]) const setup = async () => { - let filetype = (await supabase.from("filetags").select().eq("tenant",profileStore.currentTenant).eq("incomingDocumentType","invoices").single()).data.id + let filetype = (await useEntities("filetags").select()).find(i=> i.incomingDocumentType === "invoices").id console.log(filetype) - costcentres.value = await useSupabaseSelect("costcentres") + costcentres.value = await useEntities("costcentres").select() + vendors.value = await useEntities("vendors").select() + accounts.value = await useEntities("accounts").selectSpecial() - itemInfo.value = await useSupabaseSelectSingle("incominginvoices", route.params.id, "*, files(*)") + itemInfo.value = await useEntities("incominginvoices").selectSingle(route.params.id, "*, files(*)") await loadFile(itemInfo.value.files[itemInfo.value.files.length-1].id) } @@ -63,7 +63,7 @@ const loadFile = async (id) => { const changeNetMode = (mode) => { useNetMode.value = mode - itemInfo.value.accounts = [{account: null,amountNet: null,amountTax: null,taxType: '19'}] + //itemInfo.value.accounts = [{account: null,amountNet: null,amountTax: null,taxType: '19'}] } @@ -137,7 +137,7 @@ const updateIncomingInvoice = async (setBooked = false) => { } else { item.state = "Entwurf" } - const data = await dataStore.updateItem('incominginvoices',item) + const data = await useEntities('incominginvoices').update(itemInfo.value.id,item) } const findIncomingInvoiceErrors = computed(() => { @@ -232,7 +232,7 @@ const findIncomingInvoiceErrors = computed(() => { { {{option.vendorNumber}} - {{option.name}} { @return-data="(data) => itemInfo.vendor = data.id" /> @@ -321,26 +321,26 @@ const findIncomingInvoiceErrors = computed(() => { Brutto Netto - + @@ -367,7 +367,7 @@ const findIncomingInvoiceErrors = computed(() => { class="mb-3" > { :color="!item.account ? 'rose' : 'primary'" >