diff --git a/api/pom.xml b/api/pom.xml index 58874b43..08ad3ee6 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -6,7 +6,7 @@ ca.bc.gov.educ educ-grad-trax-api - 1.8.52 + 1.8.53 educ-grad-trax-api Ministry of Education GRAD TRAX API 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..51103c07 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)); } + + @DeleteMapping(EducGradTraxApiConstants.DELETE_TRAX_STUDENT_NO_MAPPING) + @PreAuthorize(PermissionsConstants.UPDATE_GRAD_TRAX_STUDENT_DATA) + @Operation(summary = "Delete TraxStudentNo", description = "Delete TraxStudentNo ", tags = {"Student"}) + public ResponseEntity deleteTraxStudentNo(@PathVariable String pen) { + logger.debug("deleteTraxStudentNo : "); + return response.GET(traxCommonService.deleteTraxStudentNo(pen)); + } } diff --git a/api/src/main/java/ca/bc/gov/educ/api/trax/repository/TraxStudentNoRepository.java b/api/src/main/java/ca/bc/gov/educ/api/trax/repository/TraxStudentNoRepository.java index 2cd30ee7..b8a1c15e 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/trax/repository/TraxStudentNoRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/api/trax/repository/TraxStudentNoRepository.java @@ -16,4 +16,6 @@ public interface TraxStudentNoRepository extends PagingAndSortingRepository findById(String studNo); TraxStudentNoEntity save(TraxStudentNoEntity entity); + + Optional deleteById(String studNo); } 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..bf39e8d3 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,15 @@ public TraxStudentNo saveTraxStudentNo(TraxStudentNo traxStudentNo) { return traxStudentNo; } + @Transactional + public TraxStudentNo deleteTraxStudentNo(String pen) { + Optional optional = traxStudentNoRepository.findById(pen); + if (optional.isPresent()) { + return traxStudentNoTransformer.transformToDTO(traxStudentNoRepository.deleteById(pen)); + } + 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..5502ff2b 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 DELETE_TRAX_STUDENT_NO_MAPPING = "/trax-student-no/{pen}"; //Default Attribute value constants public static final String DEFAULT_CREATED_BY = "API_GRAD_TRAX";