summaryrefslogtreecommitdiff
path: root/driver/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'driver/src/utils')
-rw-r--r--driver/src/utils/fetchRideRequests.ts38
-rw-r--r--driver/src/utils/fetchUserDetails.ts8
2 files changed, 41 insertions, 5 deletions
diff --git a/driver/src/utils/fetchRideRequests.ts b/driver/src/utils/fetchRideRequests.ts
new file mode 100644
index 0000000..ec28471
--- /dev/null
+++ b/driver/src/utils/fetchRideRequests.ts
@@ -0,0 +1,38 @@
+import { auth, db } from "@/firebase/firebase_config";
+import { DocumentData, collection, getDocs, query, where } from "firebase/firestore";
+import { fetchUserDetails } from "./fetchUserDetails";
+
+
+export const fetchRideRequests = async () => {
+ const user = auth.currentUser;
+ console.log(user)
+ try {
+ let data: any[] = []
+ if (user) {
+ const usersRef = collection(db, "RideRequest")
+ const q = query(usersRef, where("status", "==", "Pending"))
+ const querySnapshot = await getDocs(q);
+ querySnapshot.forEach((doc: DocumentData) => {
+ data.push(doc.data())
+ console.log(doc.id, " => ", doc.data());
+ });
+ const rideReqs = data?.map(async (rideReq) => {
+ const passengerData: any = await fetchUserDetails(rideReq.passengerID);
+ return {
+ name: passengerData?.name,
+ phoneNumber: passengerData?.phoneNumber,
+ status: rideReq.status,
+ pickUp: rideReq.pickUp,
+ dropOff: rideReq.dropOff
+ }
+ })
+ const rides = await Promise.all(rideReqs)
+ return rides;
+ } else {
+ console.log("There is no user");
+ return [];
+ }
+ } catch (error) {
+ console.error('Error fetching ride requests', error);
+ }
+};
diff --git a/driver/src/utils/fetchUserDetails.ts b/driver/src/utils/fetchUserDetails.ts
index 949a4ab..a2d5cb6 100644
--- a/driver/src/utils/fetchUserDetails.ts
+++ b/driver/src/utils/fetchUserDetails.ts
@@ -2,18 +2,16 @@ import { auth, db } from "@/firebase/firebase_config";
import { DocumentData, collection, getDocs, query, where } from "firebase/firestore";
-export const fetchUserDetails = async () => {
- const user = auth.currentUser;
- console.log(user)
+export const fetchUserDetails = async (uid) => {
try {
+ const user = auth.currentUser;
let data = null
if (user) {
const usersRef = collection(db, "users")
- const q = query(usersRef, where("uid", "==", user.uid))
+ const q = query(usersRef, where("uid", "==", uid))
const querySnapshot = await getDocs(q);
querySnapshot.forEach((doc: DocumentData) => {
data = doc.data()
- // setDriverData(doc.data())
console.log(doc.id, " => ", doc.data());
});
return data;