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} }