Commit 453b4aac authored by Kiridena I.T.K_IT19981840's avatar Kiridena I.T.K_IT19981840

Merge branch 'show-user-requests' into 'master'

user request show page completed

See merge request !40
parents aaffd157 61594208
const express = require("express");
const router = express.Router();
const UserRequest = require("./../../model/patient/request");
router.get("/:practitionerKey", async (req, res) => {
//get the payload
const practitionerKey = req.params.practitionerKey;
try {
const requestData = await UserRequest.find({
practitioner: practitionerKey,
status: "pending",
});
console.log(requestData);
res.status(200).json({
message: "Request data",
data: requestData,
});
console.log("/practitionerrequests - Getting all request success");
} catch (errorWhenGettingPatientRequests) {
console.log(
"Getting all practitioners requests : ERROR : ",
errorWhenGettingPatientRequests
);
console.log(
"/practitionerrequests - getting all practitioners requests failed"
);
res.status(500).json({
error: "Getting all practitioners requests failed : ",
errorWhenGettingPatientRequests,
});
}
});
module.exports = router;
......@@ -51,6 +51,9 @@ app.use("/practitioner/requestnft", practitionerNFTReq);
const practitionerAll = require("./route/practitioner-routes/get-practitioner-route");
app.use("/practitioner/allpractitioner", practitionerAll);
const practitionerUserReqs = require("./route/practitioner-routes/view-requests-route");
app.use("/practitioner/practitionerrequests", practitionerUserReqs);
app.listen(process.env.SERVER_PORT, () =>
console.log("Server started on port " + process.env.SERVER_PORT)
);
......@@ -20,6 +20,7 @@ import PatientAllPractitioners from "./components/patientscreens/allPractitioner
import PatientNFTRequests from "./components/patientscreens/nftRequests";
import PractitionerRegistration from "./components/practitionerscreens/registration";
import PractitionerMainView from "./components/practitionerscreens/mainViewWithMenu";
import PatientRequests from "./components/practitionerscreens/patientRequestsView";
const Stack = createStackNavigator();
......@@ -121,6 +122,7 @@ export default function App() {
name="PractitionerMainView"
component={PractitionerMainView}
/>
<Stack.Screen name="PatientRequests" component={PatientRequests} />
</Stack.Navigator>
) : (
<SplashScreenComponent />
......
import React from "react";
import { View, Button, StyleSheet } from "react-native";
const handleUserReq = () => {
console.log("User requests");
};
export default function PractitionerMainView({ navigation }) {
const handleUserReq = () => {
navigation.navigate("PatientRequests");
};
const handleRequesting = () => {
console.log("Request NFT");
};
const handleRequesting = () => {
console.log("Request NFT");
};
export default function PractitionerMainView() {
return (
<View style={styles.container}>
<View style={styles.buttonContainer}>
......
import { useEffect, useState } from "react";
import { LOCALBACKEND } from "../../env";
import { Button, StyleSheet, View, Text } from "react-native";
import AsyncStorage from "@react-native-async-storage/async-storage";
export default function PatientRequests() {
const [data, setData] = useState([]);
useEffect(() => {
fetchRequests();
}, []);
const fetchRequests = async () => {
//get key from async storage
try {
const practitionerKey = await AsyncStorage.getItem(
"practitionerStellarPublicKey"
);
try {
const requestUrl =
LOCALBACKEND +
`/practitioner/practitionerrequests/${practitionerKey}`;
console.log(requestUrl);
const response = await fetch(requestUrl);
const json = await response.json();
setData(json.data);
} catch (errorFetchingRequests) {
console.log(
"Error when fetching request data : ",
errorFetchingRequests
);
}
} catch (errorWhenGettingKey) {
console.log(
"Error when getting the public key from the async storage : ",
errorWhenGettingKey
);
}
};
const renderItem = (item) => {
return (
<View key={item._id}>
<Text>Key: {item.patient}</Text>
<Button title="Accept" onPress={() => handleAcceptance(item)}></Button>
<Button title="Reject" onPress={() => handleDecline(item)}></Button>
</View>
);
};
const handleAcceptance = async (item) => {
console.log("Accepted");
};
const handleDecline = async (item) => {
console.log("Rejected");
};
return (
<View style={styles.container}>{data.map((item) => renderItem(item))}</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
alignItems: "center",
},
text: {
fontSize: 24,
fontWeight: "bold",
},
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment