135 lines
3.8 KiB
JavaScript
135 lines
3.8 KiB
JavaScript
import axios from "axios";
|
|
import dayjs from "dayjs";
|
|
|
|
const baseURL = /*"http://localhost:3333"*/ "https://functions.fedeo.io"
|
|
|
|
export const useFunctions = () => {
|
|
const supabase = useSupabaseClient()
|
|
|
|
const getWorkingTimesEvaluationData = async (profileId, startDate, endDate) => {
|
|
const {data:{session:{access_token}}} = await supabase.auth.getSession()
|
|
|
|
return (await axios({
|
|
method: "POST",
|
|
url: `${baseURL}/functions/workingtimeevaluation`,
|
|
data: {
|
|
profile: profileId,
|
|
startDate: dayjs(startDate).format("YYYY-MM-DD"),
|
|
endDate: dayjs(endDate).format("YYYY-MM-DD"),
|
|
},
|
|
headers: {
|
|
Authorization: `Bearer ${access_token}`
|
|
}
|
|
})).data
|
|
}
|
|
|
|
const useNextNumber = async (numberRange) => {
|
|
const {data:{session:{access_token}}} = await supabase.auth.getSession()
|
|
|
|
return (await axios({
|
|
method: "POST",
|
|
url: `${baseURL}/functions/usenextnumber`,
|
|
data: {
|
|
numberRange: numberRange,
|
|
},
|
|
headers: {
|
|
Authorization: `Bearer ${access_token}`
|
|
}
|
|
})).data.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) => {
|
|
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 useCreatePDF = async (invoiceData,path) => {
|
|
const {data:{session:{access_token}}} = await supabase.auth.getSession()
|
|
|
|
const {data} = await axios({
|
|
method: "POST",
|
|
url: `${baseURL}/functions/createpdf`,
|
|
data: {
|
|
invoiceData: invoiceData,
|
|
backgroundPath: path,
|
|
returnMode: "base64"
|
|
},
|
|
headers: {
|
|
Authorization: `Bearer ${access_token}`
|
|
}
|
|
})
|
|
|
|
console.log(data)
|
|
|
|
return `data:${data.mimeType};base64,${data.base64}`
|
|
|
|
}
|
|
|
|
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, useCreatePDF}
|
|
} |