diff --git a/api/src/main/java/ca/bc/gov/educ/api/trax/controller/TraxCommonController.java b/api/src/main/java/ca/bc/gov/educ/api/trax/controller/TraxCommonController.java index df2d8823..12132a00 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/trax/controller/TraxCommonController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/trax/controller/TraxCommonController.java @@ -112,4 +112,12 @@ public ResponseEntity saveTraxStudentNo(@RequestBody TraxStudentN logger.debug("saveTraxStudentNo : "); return response.GET(traxCommonService.saveTraxStudentNo(traxStudentNo)); } + + @PutMapping(EducGradTraxApiConstants.POST_SAVE_TRAX_STUDENT_NO_MAPPING) + @PreAuthorize(PermissionsConstants.UPDATE_GRAD_TRAX_STUDENT_DATA) + @Operation(summary = "Update TraxStudentNo status", description = "Update TraxStudentNo status", tags = {"Student"}) + public ResponseEntity updateTraxStudentNo(@PathVariable String pen) { + logger.debug("updateTraxStudentNo : "); + return response.GET(traxCommonService.updateTraxStudentNo(pen)); + } } diff --git a/api/src/main/java/ca/bc/gov/educ/api/trax/service/TraxCommonService.java b/api/src/main/java/ca/bc/gov/educ/api/trax/service/TraxCommonService.java index 7ac0cfa9..76c479ff 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/trax/service/TraxCommonService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/trax/service/TraxCommonService.java @@ -173,6 +173,17 @@ public TraxStudentNo saveTraxStudentNo(TraxStudentNo traxStudentNo) { return traxStudentNo; } + @Transactional + public TraxStudentNo updateTraxStudentNo(String pen) { + Optional optional = traxStudentNoRepository.findById(pen); + if (optional.isPresent()) { + TraxStudentNoEntity entity = optional.get(); + entity.setStatus(null); + return traxStudentNoTransformer.transformToDTO(traxStudentNoRepository.save(entity)); + } + return null; + } + private List buildConversionGradStudents(List traxStudents) { List students = new ArrayList<>(); traxStudents.forEach(result -> { diff --git a/api/src/main/java/ca/bc/gov/educ/api/trax/util/EducGradTraxApiConstants.java b/api/src/main/java/ca/bc/gov/educ/api/trax/util/EducGradTraxApiConstants.java index 5b54f029..359b7300 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/trax/util/EducGradTraxApiConstants.java +++ b/api/src/main/java/ca/bc/gov/educ/api/trax/util/EducGradTraxApiConstants.java @@ -71,6 +71,7 @@ public class EducGradTraxApiConstants { public static final String GET_COURSE_RESTRICTION_LIST_MAPPING = "/course-restrictions"; public static final String GET_COURSE_REQUIREMENT_LIST_MAPPING = "/course-requirements"; public static final String POST_SAVE_TRAX_STUDENT_NO_MAPPING = "/trax-student-no"; + public static final String PUT_SAVE_TRAX_STUDENT_NO_MAPPING = "/trax-student-no/{pen}"; //Default Attribute value constants public static final String DEFAULT_CREATED_BY = "API_GRAD_TRAX"; diff --git a/api/src/test/java/ca/bc/gov/educ/api/trax/controller/TraxCommonControllerTest.java b/api/src/test/java/ca/bc/gov/educ/api/trax/controller/TraxCommonControllerTest.java index 5a361d0f..8d1fed18 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/trax/controller/TraxCommonControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/trax/controller/TraxCommonControllerTest.java @@ -145,6 +145,17 @@ public void testSaveTraxStudentNo() { Mockito.verify(traxCommonService).saveTraxStudentNo(obj); } + @Test + public void testUpdateTraxStudentNo() { + final String pen = "123456789"; + TraxStudentNo obj = new TraxStudentNo(); + obj.setStudNo(pen); + + Mockito.when(traxCommonService.updateTraxStudentNo(pen)).thenReturn(obj); + traxCommonController.updateTraxStudentNo(pen); + Mockito.verify(traxCommonService).updateTraxStudentNo(pen); + } + // @Test // public void testGetStudentIsGraduatedByPen() { // Mockito.when(traxCommonService.isGraduatedStudent("123456789")).thenReturn(true);