Rebuild Banking Integration to Function Server

This commit is contained in:
2025-01-23 16:03:17 +01:00
parent 06c775f563
commit 00e7e7e01e
3 changed files with 76 additions and 10 deletions

View File

@@ -105,14 +105,12 @@ const contactRequestData = ref({
title: "",
})
const loadingContactRequest = ref(false)
const addContactRequest = async () => {
console.log("ADD")
const retVal = await useFunctions().useCreateTicket({
subject: contactRequestData.value.title,
message: contactRequestData.value.message,
url: router.currentRoute.value.fullPath,
source: "helpSlideover",
})
loadingContactRequest.value = true
const retVal = await useFunctions().useCreateTicket(contactRequestData.value.title,contactRequestData.value.message,router.currentRoute.value.fullPath,"helpSlideover",)
if(retVal) {
toast.add({title: "Anfrage erfolgreich erstellt"})
@@ -120,6 +118,7 @@ const addContactRequest = async () => {
} else {
toast.add({title: "Anfrage konnte nicht erstellt werden",color:"rose"})
}
loadingContactRequest.value = false
}
const resetContactRequest = () => {
@@ -169,7 +168,7 @@ const resetContactRequest = () => {
<div v-else class="flex flex-col gap-y-3">
<UButton v-for="(link, index) in links" :key="index" color="white" v-bind="link" />
</div>
<div class="mt-5">
<div class="mt-5" v-if="!loadingContactRequest">
<h1 class="font-semibold">Kontaktanfrage:</h1>
<UForm
class="p-3"
@@ -216,5 +215,6 @@ const resetContactRequest = () => {
</UForm>
</div>
<UProgress class="mt-5" animation="carousel" v-else/>
</UDashboardSlideover>
</template>

View File

@@ -1,7 +1,7 @@
import axios from "axios";
import dayjs from "dayjs";
const baseURL = "https://functions.fedeo.io"
const baseURL = "http://localhost:3333" /*"https://functions.fedeo.io"*/
export const useFunctions = () => {
const supabase = useSupabaseClient()
@@ -59,5 +59,55 @@ export const useFunctions = () => {
}
return {getWorkingTimesEvaluationData, useNextNumber, useCreateTicket}
const useBankingGenerateLink = async (institutionId) => {
const {data:{session:{access_token}}} = await supabase.auth.getSession()
const {data} = await axios({
method: "POST",
url: `${baseURL}/functions/bankstatements/generatelink`,
data: {
institutionId
},
headers: {
Authorization: `Bearer ${access_token}`
}
})
console.log(data)
return data.link
}
const useBankingCheckInstitutions = async (bic) => {
const {data:{session:{access_token}}} = await supabase.auth.getSession()
const {data} = await axios({
method: "GET",
url: `${baseURL}/functions/bankstatements/checkinstitutions/${bic}`,
headers: {
Authorization: `Bearer ${access_token}`
}
})
return data
}
const useBankingListRequisitions = async (reqId) => {
const {data:{session:{access_token}}} = await supabase.auth.getSession()
const {data} = await axios({
method: "GET",
url: `${baseURL}/functions/bankstatements/listrequisitions/${reqId}`,
headers: {
Authorization: `Bearer ${access_token}`
}
})
return data
}
return {getWorkingTimesEvaluationData, useNextNumber, useCreateTicket, useBankingGenerateLink, useBankingCheckInstitutions, useBankingListRequisitions}
}

View File

@@ -27,6 +27,8 @@ const openDocuments = ref([])
const allocatedDocuments = ref([])
const openIncomingInvoices = ref([])
const accounts = ref([])
const setup = async () => {
if(route.params.id) {
itemInfo.value = (await supabase.from("bankstatements").select("*, statementallocations(*)").eq("id",route.params.id).single()).data //dataStore.bankstatements.find(i => i.id === Number(route.params.id))
@@ -35,6 +37,8 @@ const setup = async () => {
const documents = (await useSupabaseSelect("createddocuments","*, statementallocations(*), customer(id,name)")).filter(i => i.type === "invoices" ||i.type === "advanceInvoices")
accounts.value = (await supabase.from("accounts").select()).data
openDocuments.value = documents.filter(i => i.statementallocations.reduce((n,{amount}) => n + amount, 0).toFixed(2) !== getDocumentSum(i).toFixed(2))
openDocuments.value = openDocuments.value.map(i => {
@@ -99,6 +103,8 @@ const calculateOpenSum = computed(() => {
startingAmount = startingAmount - item.amount
} else if(item.ii_id) {
startingAmount = Number(startingAmount) + item.amount
}else if(item.account) {
startingAmount = Number(startingAmount) - item.amount
}
})
@@ -298,7 +304,7 @@ setup()
</tr>
<tr class="flex-row flex justify-between">
<td colspan="2">
<span class="font-semibold">Verknüpfte Dokumente:</span>
<span class="font-semibold">Buchungen:</span>
</td>
</tr>
<tr
@@ -315,6 +321,9 @@ setup()
<span v-else-if="item.ii_id">
{{dataStore.getVendorById(dataStore.getIncomingInvoiceById(item.ii_id).vendor).name}} - {{dataStore.getIncomingInvoiceById(item.ii_id).reference}}
</span>
<span v-else-if="item.account">
Buchungskonto: {{accounts.find(i => i.id === item.account).number}} {{accounts.find(i => i.id === item.account).label}}
</span>
</td>
<td>
<UButton
@@ -409,6 +418,13 @@ setup()
<UKbd value="/" />
</template>
</UInput>
<UButton
@click="saveAllocation({bs_id: itemInfo.id, amount: Number(itemInfo.amount), account: 20 })"
>
Als DP markieren
</UButton>
<UCard
class="mt-5"
:ui="{ring: itemInfo.statementallocations.find(i => i.cd_id === document.id) ? 'ring-primary-500' : 'ring-gray-200 dark:ring-gray-800'}"