diff --git a/src/main/java/api/MongoGradeDB.java b/src/main/java/api/MongoGradeDB.java index 7c6ff3a..91fc0fa 100644 --- a/src/main/java/api/MongoGradeDB.java +++ b/src/main/java/api/MongoGradeDB.java @@ -190,6 +190,43 @@ public void leaveTeam() throws JSONException { // Hint: Read apiDocuments/getMyTeam.md and refer to the above // methods to help you write this code (copy-and-paste + edit as needed). public Team getMyTeam() { - return null; + OkHttpClient client = new OkHttpClient().newBuilder() + .build(); + MediaType mediaType = MediaType.parse("application/json"); + + Request request = new Request.Builder() + .url("https://grade-logging-api.chenpan.ca/team") + .addHeader("Authorization", API_TOKEN) + .addHeader("Content-Type", "application/json") + .build(); + + try { + Response response = client.newCall(request).execute(); + System.out.println(response); + JSONObject responseBody = new JSONObject(response.body().string()); + + System.out.println(responseBody); + + if (responseBody.getInt("status_code") == 200) { + JSONObject team = responseBody.getJSONObject("team"); + JSONArray membersArray = team.getJSONArray("members"); + String[] members = new String[membersArray.length()]; + for (int i = 0; i < membersArray.length(); i++) { + members[i] = membersArray.getString(i); + } + System.out.println(Arrays.toString(members)); + + return Team.builder() + .name(team.getString("name")) + .members(members) + .build(); + + } else { + throw new RuntimeException(responseBody.getString("message")); + } + } + catch (IOException | JSONException e) { + throw new RuntimeException(e); + } } } diff --git a/src/main/java/use_case/GetAverageGradeUseCase.java b/src/main/java/use_case/GetAverageGradeUseCase.java index 8d3ed47..229b70d 100644 --- a/src/main/java/use_case/GetAverageGradeUseCase.java +++ b/src/main/java/use_case/GetAverageGradeUseCase.java @@ -12,6 +12,19 @@ public GetAverageGradeUseCase(GradeDB gradeDB) { public float getAverageGrade(String course) { // TODO: Get average grade for all students in your team. - return 0.0f; + Team myteam = gradeDB.getMyTeam(); + + String[] members = myteam.getMembers(); + float total=0; + + + for(int i =0;i < members.length; i++){ + System.out.println(members[i]); + System.out.println(total); + total = total + gradeDB.getGrade(members[i], course).getGrade(); + + } + + return total/ members.length; } }