Added Frontend
This commit is contained in:
138
frontend/composables/useFunctions.js
Normal file
138
frontend/composables/useFunctions.js
Normal file
@@ -0,0 +1,138 @@
|
||||
import axios from "axios";
|
||||
import dayjs from "dayjs";
|
||||
|
||||
const baseURL = /*"http://192.168.1.129:3333"*/ /*"http://localhost:3333"*/ "https://functions.fedeo.io"
|
||||
|
||||
export const useFunctions = () => {
|
||||
const supabase = useSupabaseClient()
|
||||
|
||||
const getWorkingTimesEvaluationData = async (user_id, startDate, endDate) => {
|
||||
// Der neue Endpunkt ist /staff/time/evaluation und erwartet die Benutzer-ID als targetUserId Query-Parameter.
|
||||
|
||||
// Wir bauen den Query-String zusammen.
|
||||
const queryParams = new URLSearchParams({
|
||||
from: startDate,
|
||||
to: endDate,
|
||||
targetUserId: user_id, // Die ID wird als targetUserId übergeben
|
||||
});
|
||||
|
||||
// Der neue API-Pfad verwendet nur noch den Basis-Endpunkt.
|
||||
const url = `/api/staff/time/evaluation?${queryParams.toString()}`;
|
||||
|
||||
// Annahme: useNuxtApp().$api führt den GET-Request aus und liefert die Daten zurück.
|
||||
return (await useNuxtApp().$api(url));
|
||||
}
|
||||
|
||||
const useNextNumber = async (numberRange) => {
|
||||
|
||||
return (await useNuxtApp().$api(`/api/functions/usenextnumber/${numberRange}`,)).usedNumber
|
||||
|
||||
|
||||
}
|
||||
|
||||
const useCreateTicket = async (subject,message,url,source) => {
|
||||
const {data:{session:{access_token}}} = await supabase.auth.getSession()
|
||||
|
||||
const {data} = await axios({
|
||||
method: "POST",
|
||||
url: `${baseURL}/functions/createticket`,
|
||||
data: {
|
||||
subject,
|
||||
message,
|
||||
source,
|
||||
url
|
||||
},
|
||||
headers: {
|
||||
Authorization: `Bearer ${access_token}`
|
||||
}
|
||||
})
|
||||
|
||||
return !!data.ticket_created;
|
||||
|
||||
}
|
||||
|
||||
const useBankingGenerateLink = async (institutionId) => {
|
||||
return (await useNuxtApp().$api(`/api/banking/link/${institutionId}`)).link
|
||||
}
|
||||
|
||||
const useCreatePDF = async (data,path,type) => {
|
||||
const returnData = await useNuxtApp().$api(`/api/functions/pdf/${type}`, {
|
||||
method: "POST",
|
||||
body: {
|
||||
data: data,
|
||||
backgroundPath: path,
|
||||
}
|
||||
})
|
||||
|
||||
console.log(returnData)
|
||||
|
||||
return `data:${returnData.mimeType};base64,${returnData.base64}`
|
||||
|
||||
}
|
||||
|
||||
const useZipCheck = async (zip) => {
|
||||
const returnData = await useNuxtApp().$api(`/api/functions/check-zip/${zip}`, {
|
||||
method: "GET",
|
||||
})
|
||||
|
||||
return returnData
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
const useGetInvoiceData = async (file) => {
|
||||
const {data:{session:{access_token}}} = await supabase.auth.getSession()
|
||||
|
||||
const {data} = await axios({
|
||||
method: "POST",
|
||||
url: `${baseURL}/functions/getinvoicedatafromgpt`,
|
||||
data: {
|
||||
file
|
||||
},
|
||||
headers: {
|
||||
Authorization: `Bearer ${access_token}`
|
||||
}
|
||||
})
|
||||
|
||||
console.log(data)
|
||||
|
||||
return data
|
||||
|
||||
}
|
||||
|
||||
const useSendTelegramNotification = async (message) => {
|
||||
const {data:{session:{access_token}}} = await supabase.auth.getSession()
|
||||
|
||||
const {data,error} = await axios({
|
||||
method: "POST",
|
||||
url: `${baseURL}/functions/sendtelegramnotification`,
|
||||
data: {
|
||||
message: message
|
||||
},
|
||||
headers: {
|
||||
Authorization: `Bearer ${access_token}`
|
||||
}
|
||||
})
|
||||
|
||||
if(error){
|
||||
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
const useBankingCheckInstitutions = async (bic) => {
|
||||
|
||||
return await useNuxtApp().$api(`/api/banking/institutions/${bic}`)
|
||||
|
||||
}
|
||||
|
||||
const useBankingListRequisitions = async (reqId) => {
|
||||
|
||||
return await useNuxtApp().$api(`/api/banking/requisitions/${reqId}`)
|
||||
|
||||
}
|
||||
|
||||
return {getWorkingTimesEvaluationData, useNextNumber, useCreateTicket, useBankingGenerateLink, useZipCheck, useBankingCheckInstitutions, useBankingListRequisitions, useCreatePDF,useGetInvoiceData, useSendTelegramNotification}
|
||||
}
|
||||
Reference in New Issue
Block a user