Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@
<activity
android:name=".view.general.Homepage4doctor"
android:exported="false" />
<activity
android:name="deakin.gopher.guardian.MainActivity"
android:exported="false" />
<activity
android:name=".view.general.TaskDetailActivity"
android:exported="false" />
Expand Down
16 changes: 16 additions & 0 deletions app/src/main/java/deakin/gopher/guardian/model/Prescription.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package deakin.gopher.guardian.model

import com.google.gson.annotations.SerializedName

data class Prescription(
@SerializedName("_id") val id: String,
@SerializedName("medicineName") val medicineName: String? = null,
@SerializedName("dosage") val dosage: String? = null,
@SerializedName("frequency") val frequency: String? = null,
@SerializedName("status") val status: String? = null,
@SerializedName("startDate") val startDate: String? = null,
@SerializedName("endDate") val endDate: String? = null,
@SerializedName("createdAt") val createdAt: String? = null,
@SerializedName("updatedAt") val updatedAt: String? = null,
@SerializedName("instructions") val instructions: String? = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ import deakin.gopher.guardian.model.AddPatientResponse
import deakin.gopher.guardian.model.BaseModel
import deakin.gopher.guardian.model.Patient
import deakin.gopher.guardian.model.PatientActivity
import deakin.gopher.guardian.model.Prescription
import deakin.gopher.guardian.model.register.AuthResponse
import deakin.gopher.guardian.model.register.RegisterRequest
import okhttp3.MultipartBody
import okhttp3.RequestBody
import okhttp3.ResponseBody
import retrofit2.Call
import retrofit2.Response
import retrofit2.http.Body
Expand Down Expand Up @@ -60,6 +62,12 @@ interface ApiService {
@Header("Authorization") token: String,
): Response<List<Patient>>

@GET("doctors/{doctorId}/patients")
suspend fun getDoctorPatients(
@Header("Authorization") token: String,
@Path("doctorId") doctorId: String,
): Response<ResponseBody>

@Multipart
@POST("patients/add")
suspend fun addPatient(
Expand Down Expand Up @@ -91,4 +99,16 @@ interface ApiService {
@Header("Authorization") token: String,
@Path("id") patientId: String,
): Response<BaseModel>

@GET("patients/{patientId}/prescriptions")
suspend fun getPatientPrescriptions(
@Header("Authorization") token: String,
@Path("patientId") patientId: String,
): Response<List<Prescription>>

@GET("prescriptions/{id}")
suspend fun getPrescriptionById(
@Header("Authorization") token: String,
@Path("id") prescriptionId: String,
): Response<Prescription>
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
package deakin.gopher.guardian

import android.net.Uri
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.navigation.NavType
import androidx.navigation.navArgument
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
Expand All @@ -17,7 +20,11 @@ class MainActivity : ComponentActivity() {
GuardianTheme {
Surface(color = MaterialTheme.colorScheme.background) {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = "welcome") {
val startRoute =
intent?.getStringExtra("startRoute")
?.takeIf { it.isNotBlank() }
?: "welcome"
NavHost(navController = navController, startDestination = startRoute) {
// 1. Welcome
composable("welcome") {
WelcomeScreen(navController)
Expand Down Expand Up @@ -68,6 +75,48 @@ class MainActivity : ComponentActivity() {
PrescriptionScreen(navController)
}

composable(
route = "patient_prescriptions/{patientId}/{patientName}",
arguments =
listOf(
navArgument("patientId") { type = NavType.StringType },
navArgument("patientName") { type = NavType.StringType },
),
) { backStackEntry ->
val patientId =
backStackEntry.arguments?.getString("patientId").orEmpty()
val patientName =
Uri.decode(
backStackEntry.arguments?.getString("patientName").orEmpty(),
)
PatientPrescriptionsScreen(
navController = navController,
patientId = patientId,
patientName = patientName,
)
}

composable(
route = "prescription_detail/{prescriptionId}/{patientName}",
arguments =
listOf(
navArgument("prescriptionId") { type = NavType.StringType },
navArgument("patientName") { type = NavType.StringType },
),
) { backStackEntry ->
val prescriptionId =
backStackEntry.arguments?.getString("prescriptionId").orEmpty()
val patientName =
Uri.decode(
backStackEntry.arguments?.getString("patientName").orEmpty(),
)
PrescriptionDetailScreen(
navController = navController,
prescriptionId = prescriptionId,
patientName = patientName,
)
}

// 11. Billing
composable("billing") {
BillingScreen(navController)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package deakin.gopher.guardian.view.general

import android.content.Intent
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import deakin.gopher.guardian.MainActivity as DoctorDashboardActivity
import deakin.gopher.guardian.R
import deakin.gopher.guardian.services.EmailPasswordAuthService

Expand All @@ -11,7 +13,15 @@ class Homepage4doctor : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_homepage4doctor)

val openPatientsButton: Button = findViewById(R.id.openPatientsButton_doctor)
val signOutButton: Button = findViewById(R.id.signOutButton_doctor)

openPatientsButton.setOnClickListener {
val intent = Intent(this, DoctorDashboardActivity::class.java)
intent.putExtra("startRoute", "patient_report")
startActivity(intent)
}

signOutButton.setOnClickListener {
EmailPasswordAuthService.signOut(this)
finish()
Expand Down
Loading
Loading