diff --git a/lib/patient/index.tsx b/lib/patient/index.tsx index e248834..abe2ce1 100644 --- a/lib/patient/index.tsx +++ b/lib/patient/index.tsx @@ -4,6 +4,7 @@ import getPatientMedicalHistory from "./getPatientMedicalHistory"; import getPayments from "./getPayments"; import getUpcomingAppointments from "./getUpcomingAppointments"; import pendingAppointmentsRequest from "./pendingAppointmentsReq"; +import saveAppointmentTransaction from "./saveAppointmentTransaction"; export { bookAppointment, @@ -12,4 +13,5 @@ export { getPayments, getUpcomingAppointments, pendingAppointmentsRequest, + saveAppointmentTransaction, }; diff --git a/lib/patient/saveAppointmentTransaction.tsx b/lib/patient/saveAppointmentTransaction.tsx new file mode 100644 index 0000000..c8d1d63 --- /dev/null +++ b/lib/patient/saveAppointmentTransaction.tsx @@ -0,0 +1,41 @@ +"use server"; +import { getSessionToken } from "../sessions/sessionUtils"; +import getBaseUrl from "@utils/getBaseUrl"; + +export default async function saveAppointmentTransaction( + transaction_id: string | null, + patient_id: string, + hospital_id: string, + disease: string, + description: string, + amount: string, + status: string +) { + const transactionData = { + transaction_id, + timestamp: new Date().toISOString(), + patient_id, + hospital_id, + disease, + description, + amount, + status, + }; + + const session = await getSessionToken(); + const serverUrl = getBaseUrl(); + + const headers = { + Authorization: `Bearer ${session}`, + }; + + try { + await fetch(`${serverUrl}/api/transactions`, { + method: "POST", + body: JSON.stringify(transactionData), + headers, + }); + } catch (error) { + console.error("Error recording appointment transaction :", error); + } +}