diff --git a/src/main/environment/common_ci.properties b/src/main/environment/common_ci.properties index 917183ad..bf1291f8 100644 --- a/src/main/environment/common_ci.properties +++ b/src/main/environment/common_ci.properties @@ -84,4 +84,6 @@ logging.path=logs logging.file.name=@env.MMU_API_LOGGING_FILE_NAME@ springdoc.api-docs.enabled=@env.SWAGGER_DOC_ENABLED@ -springdoc.swagger-ui.enabled=@env.SWAGGER_DOC_ENABLED@ \ No newline at end of file +springdoc.swagger-ui.enabled=@env.SWAGGER_DOC_ENABLED@ + +cors.allowed-origins=@env.CORS_ALLOWED_ORIGINS@ \ No newline at end of file diff --git a/src/main/environment/common_example.properties b/src/main/environment/common_example.properties index d6636354..29a3e13b 100644 --- a/src/main/environment/common_example.properties +++ b/src/main/environment/common_example.properties @@ -99,4 +99,7 @@ getServerCredentialURL=http://10.208.122.34:1040/mmuapi-v1.0/fileSyncController/ spring.redis.host=localhost jwt.secret=my-32-character-ultra-secure-and-ultra-long-secret logging.path=logs/ -logging.file.name=logs/mmu-api.log \ No newline at end of file +logging.file.name=logs/mmu-api.log + + +cors.allowed-origins=http://localhost:* \ No newline at end of file diff --git a/src/main/java/com/iemr/mmu/controller/anc/ANCController.java b/src/main/java/com/iemr/mmu/controller/anc/ANCController.java index a36d5bcb..178f080b 100644 --- a/src/main/java/com/iemr/mmu/controller/anc/ANCController.java +++ b/src/main/java/com/iemr/mmu/controller/anc/ANCController.java @@ -27,7 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.query.Param; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -42,12 +42,9 @@ import io.swagger.v3.oas.annotations.Operation; - /** * @Objective Saving ANC data for Nurse and Doctor. */ - -@CrossOrigin @RestController @RequestMapping(value = "/ANC", headers = "Authorization", consumes = "application/json", produces = "application/json") public class ANCController { @@ -55,15 +52,11 @@ public class ANCController { @Autowired private ANCService ancService; - - /** * @Objective Save ANC data for nurse. * @param JSON requestObj * @return success or failure response */ - - @CrossOrigin @Operation(summary = "Save ANC nurse data") @PostMapping(value = { "/save/nurseData" }) public String saveBenANCNurseData(@RequestBody String requestObj) { @@ -96,7 +89,6 @@ public String saveBenANCNurseData(@RequestBody String requestObj) { * @param JSON requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save ANC doctor data") @PostMapping(value = { "/save/doctorData" }) public String saveBenANCDoctorData(@RequestBody String requestObj, @@ -122,7 +114,6 @@ public String saveBenANCDoctorData(@RequestBody String requestObj, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary visit details from nurse ANC") @PostMapping(value = { "/getBenVisitDetailsFrmNurseANC" }) @Transactional(rollbackFor = Exception.class) @@ -153,7 +144,6 @@ public String getBenVisitDetailsFrmNurseANC( * @param benRegID and benVisitID * @return anc care details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary ANC care details from nurse ANC") @PostMapping(value = { "/getBenANCDetailsFrmNurseANC" }) @Transactional(rollbackFor = Exception.class) @@ -186,7 +176,6 @@ public String getBenANCDetailsFrmNurseANC( * @param benRegID and benVisitID * @return history details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary ANC history details from nurse to doctor ") @PostMapping(value = { "/getBenANCHistoryDetails" }) @@ -218,7 +207,6 @@ public String getBenANCHistoryDetails( * @param benRegID and benVisitID * @return vital details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary ANC vital details from nurse ANC") @PostMapping(value = { "/getBenANCVitalDetailsFrmNurseANC" }) public String getBenANCVitalDetailsFrmNurseANC( @@ -250,7 +238,6 @@ public String getBenANCVitalDetailsFrmNurseANC( * @param benRegID and benVisitID * @return examination details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary ANC examination details from nurse to doctor ") @PostMapping(value = { "/getBenExaminationDetailsANC" }) @@ -282,7 +269,6 @@ public String getBenExaminationDetailsANC( * @param benRegID and benVisitID * @return doctor entered details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary doctor entered details") @PostMapping(value = { "/getBenCaseRecordFromDoctorANC" }) @Transactional(rollbackFor = Exception.class) @@ -309,7 +295,6 @@ public String getBenCaseRecordFromDoctorANC( return response.toString(); } - @CrossOrigin() @Operation(summary = "Check high risk pregnancy status for ANC beneficiary") @PostMapping(value = { "/getHRPStatus" }) @Transactional(rollbackFor = Exception.class) @@ -339,7 +324,6 @@ public String getHRPStatus( return response.toString(); } - @CrossOrigin @Operation(summary = "Update ANC care data in doctor screen") @PostMapping(value = { "/update/ANCScreen" }) public String updateANCCareNurse(@RequestBody String requestObj) { @@ -370,8 +354,6 @@ public String updateANCCareNurse(@RequestBody String requestObj) { * @objective Replace ANC History Data entered by Nurse with the details entered * by Doctor */ - - @CrossOrigin @Operation(summary = "Update ANC history data in doctor screen") @PostMapping(value = { "/update/historyScreen" }) public String updateANCHistoryNurse(@RequestBody String requestObj) { @@ -401,8 +383,6 @@ public String updateANCHistoryNurse(@RequestBody String requestObj) { * @objective Replace ANC Vital Data entered by Nurse with the details entered * by Doctor */ - - @CrossOrigin @Operation(summary = "Update ANC vital data in doctor screen") @PostMapping(value = { "/update/vitalScreen" }) public String updateANCVitalNurse(@RequestBody String requestObj) { @@ -433,8 +413,6 @@ public String updateANCVitalNurse(@RequestBody String requestObj) { * @objective Replace ANC History Data entered by Nurse with the details entered * by Doctor */ - - @CrossOrigin @Operation(summary = "Update ANC examination data in doctor screen") @PostMapping(value = { "/update/examinationScreen" }) public String updateANCExaminationNurse(@RequestBody String requestObj) { @@ -465,7 +443,6 @@ public String updateANCExaminationNurse(@RequestBody String requestObj) { * @objective Replace ANC doctor data for the doctor next visit * */ - @CrossOrigin @Operation(summary = "Update ANC doctor data") @PostMapping(value = { "/update/doctorData" }) public String updateANCDoctorData(@RequestBody String requestObj, @@ -489,8 +466,9 @@ public String updateANCDoctorData(@RequestBody String requestObj, return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/cancerscreening/CancerScreeningController.java b/src/main/java/com/iemr/mmu/controller/cancerscreening/CancerScreeningController.java index 0f3f6d71..99428f89 100644 --- a/src/main/java/com/iemr/mmu/controller/cancerscreening/CancerScreeningController.java +++ b/src/main/java/com/iemr/mmu/controller/cancerscreening/CancerScreeningController.java @@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -46,11 +46,9 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - /** * @Objective Saving Cancer screening data for Nurse and Doctor both. */ -@CrossOrigin @RestController @RequestMapping(value = "/CS-cancerScreening", headers = "Authorization", consumes = "application/json", produces = "application/json") public class CancerScreeningController { @@ -67,8 +65,6 @@ public void setCancerScreeningServiceImpl(CSServiceImpl cSServiceImpl) { * @ApiParam JSON requestObj * @return success or failure response */ - - @CrossOrigin @Operation(summary = "Save cancer screening nurse data") @PostMapping(value = { "/save/nurseData" }) public String saveBenCancerScreeningNurseData(@RequestBody String requestObj, @@ -108,8 +104,6 @@ else if (nurseDataSaveSuccessFlag == 2) * @ApiParam JSON requestObj * @return success or failure response */ - - @CrossOrigin @Operation(summary = "Save cancer screening doctor data") @PostMapping(value = { "/save/doctorData" }) public String saveBenCancerScreeningDoctorData(@RequestBody String requestObj, @@ -136,7 +130,6 @@ public String saveBenCancerScreeningDoctorData(@RequestBody String requestObj, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary visit details from nurse screen") @PostMapping(value = { "/getBenDataFrmNurseToDocVisitDetailsScreen" }) public String getBenDataFrmNurseScrnToDocScrnVisitDetails( @@ -166,8 +159,6 @@ public String getBenDataFrmNurseScrnToDocScrnVisitDetails( * @ApiParam benRegID and benVisitID * @return history details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary cancer history details from nurse screen") @PostMapping(value = { "/getBenDataFrmNurseToDocHistoryScreen" }) public String getBenDataFrmNurseScrnToDocScrnHistory( @@ -196,8 +187,6 @@ public String getBenDataFrmNurseScrnToDocScrnHistory( * @ApiParam benRegID and benVisitID * @return vital details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary vital details from nurse screen") @PostMapping(value = { "/getBenDataFrmNurseToDocVitalScreen" }) public String getBenDataFrmNurseScrnToDocScrnVital( @@ -227,8 +216,6 @@ public String getBenDataFrmNurseScrnToDocScrnVital( * @ApiParam benRegID and benVisitID * @return examination details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary examination details from nurse screen") @PostMapping(value = { "/getBenDataFrmNurseToDocExaminationScreen" }) public String getBenDataFrmNurseScrnToDocScrnExamination( @@ -258,8 +245,6 @@ public String getBenDataFrmNurseScrnToDocScrnExamination( * @ApiParam benRegID * @return previous family history details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary cancer family history") @PostMapping(value = { "/getBenCancerFamilyHistory" }) public String getBenCancerFamilyHistory( @@ -291,8 +276,6 @@ public String getBenCancerFamilyHistory( * @ApiParam benRegID * @return previous personal history details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary cancer personal history") @PostMapping(value = { "/getBenCancerPersonalHistory" }) public String getBenCancerPersonalHistory( @@ -324,8 +307,6 @@ public String getBenCancerPersonalHistory( * @ApiParam benRegID * @return previous personal history details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary cancer personal diet history") @PostMapping(value = { "/getBenCancerPersonalDietHistory" }) public String getBenCancerPersonalDietHistory( @@ -357,8 +338,6 @@ public String getBenCancerPersonalDietHistory( * @ApiParam benRegID * @return previous obstetric history details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary cancer obstetric history") @PostMapping(value = { "/getBenCancerObstetricHistory" }) public String getBenCancerObstetricHistory( @@ -389,8 +368,6 @@ public String getBenCancerObstetricHistory( * @ApiParam benRegID * @return doctor details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary doctor entered details") @PostMapping(value = { "/getBenCaseRecordFromDoctorCS" }) @Transactional(rollbackFor = Exception.class) @@ -417,7 +394,6 @@ public String getBenCaseRecordFromDoctorCS( return response.toString(); } - @CrossOrigin @Operation(summary = "Update cancer screening history nurse data in doctor screen") @PostMapping(value = { "/update/historyScreen" }) public String updateCSHistoryNurse( @@ -462,8 +438,6 @@ public String updateCSHistoryNurse( * @objective Replace Cancer Screening Vital Details entered by Nurse with the * details entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update beneficiary vital detail") @PostMapping(value = { "/update/vitalScreen" }) public String upodateBenVitalDetail( @@ -500,8 +474,6 @@ public String upodateBenVitalDetail( * @objective Replace Cancer Screening examination Details entered by Nurse with * the details entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update beneficiary examination detail") @PostMapping(value = { "/update/examinationScreen" }) public String upodateBenExaminationDetail(@RequestBody String requestObj) { @@ -531,8 +503,6 @@ public String upodateBenExaminationDetail(@RequestBody String requestObj) { * @objective update Cancer Diagnosis Details By Oncologist * */ - - @CrossOrigin @Operation(summary = "Update cancer diagnosis details by oncologist") @PostMapping(value = { "/update/examinationScreen/diagnosis" }) public String updateCancerDiagnosisDetailsByOncologist( @@ -564,8 +534,6 @@ public String updateCancerDiagnosisDetailsByOncologist( * @objective Replace doctor data for the doctor next visit * */ - - @CrossOrigin @Operation(summary = "Update cancer screening doctor data") @PostMapping(value = { "/update/doctorData" }) public String updateCancerScreeningDoctorData(@RequestBody String requestObj) { @@ -587,8 +555,9 @@ public String updateCancerScreeningDoctorData(@RequestBody String requestObj) { return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/common/main/CommonController.java b/src/main/java/com/iemr/mmu/controller/common/main/CommonController.java index c3a750b3..137e4455 100644 --- a/src/main/java/com/iemr/mmu/controller/common/main/CommonController.java +++ b/src/main/java/com/iemr/mmu/controller/common/main/CommonController.java @@ -32,7 +32,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -56,8 +56,6 @@ import jakarta.servlet.ServletContext; import jakarta.servlet.http.HttpServletRequest; - -@CrossOrigin @RestController @RequestMapping(value = "/common", headers = "Authorization", consumes = "application/json", produces = "application/json") public class CommonController { @@ -87,9 +85,9 @@ public void setCommonDoctorServiceImpl(CommonDoctorServiceImpl commonDoctorServi public void setCommonNurseServiceImpl(CommonNurseServiceImpl commonNurseServiceImpl) { this.commonNurseServiceImpl = commonNurseServiceImpl; } + private static final String BENEFICIARY_REG_ID = "beneficiaryRegID"; - - @CrossOrigin() + @Operation(summary = "Provides doctor worklist") @GetMapping(value = { "/getDocWorklistNew/{providerServiceMapID}/{serviceID}/{vanID}" }) public String getDocWorkListNew(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -113,7 +111,6 @@ public String getDocWorkListNew(@PathVariable("providerServiceMapID") Integer pr return response.toString(); } - @CrossOrigin() @Operation(summary = "Provides doctor worklist future scheduled for TM") @GetMapping(value = { "/getDocWorkListNewFutureScheduledForTM/{providerServiceMapID}/{serviceID}" }) public String getDocWorkListNewFutureScheduledForTM( @@ -139,7 +136,6 @@ public String getDocWorkListNewFutureScheduledForTM( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get nurse worklist new") @GetMapping(value = { "/getNurseWorklistNew/{providerServiceMapID}/{serviceID}/{vanID}" }) public String getNurseWorkListNew(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -163,7 +159,6 @@ public String getNurseWorkListNew(@PathVariable("providerServiceMapID") Integer * @ApiParam vanID * @return */ - @CrossOrigin() @Operation(summary = "Get nurse worklist TM referred") @GetMapping(value = { "/getNurseWorklistTMreferred/{providerServiceMapID}/{serviceID}/{vanID}" }) public String getNurseWorklistTMreferred(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -182,7 +177,6 @@ public String getNurseWorklistTMreferred(@PathVariable("providerServiceMapID") I return response.toString(); } - @CrossOrigin() @Operation(summary = "Get doctor entered previous significant Ffindings") @PostMapping(value = { "/getDoctorPreviousSignificantFindings" }) public String getDoctorPreviousSignificantFindings( @@ -207,7 +201,6 @@ public String getDoctorPreviousSignificantFindings( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get lab technician worklist new") @GetMapping(value = { "/getLabWorklistNew/{providerServiceMapID}/{serviceID}/{vanID}" }) public String getLabWorkListNew(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -226,7 +219,6 @@ public String getLabWorkListNew(@PathVariable("providerServiceMapID") Integer pr return response.toString(); } - @CrossOrigin() @Operation(summary = "Get radiologist worklist new") @GetMapping(value = { "/getRadiologist-worklist-New/{providerServiceMapID}/{serviceID}/{vanID}" }) public String getRadiologistWorklistNew(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -245,7 +237,6 @@ public String getRadiologistWorklistNew(@PathVariable("providerServiceMapID") In return response.toString(); } - @CrossOrigin() @Operation(summary = "Get oncologist worklist new") @GetMapping(value = { "/getOncologist-worklist-New/{providerServiceMapID}/{serviceID}/{vanID}" }) public String getOncologistWorklistNew(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -264,7 +255,6 @@ public String getOncologistWorklistNew(@PathVariable("providerServiceMapID") Int return response.toString(); } - @CrossOrigin() @Operation(summary = "Get pharma worklist new") @GetMapping(value = { "/getPharma-worklist-New/{providerServiceMapID}/{serviceID}/{vanID}" }) public String getPharmaWorklistNew(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -283,7 +273,6 @@ public String getPharmaWorklistNew(@PathVariable("providerServiceMapID") Integer return response.toString(); } - @CrossOrigin() @Operation(summary = "Get case-sheet print data for beneficiary.") @PostMapping(value = { "/get/Case-sheet/printData" }) public String getCasesheetPrintData(@RequestBody String comingReq, @@ -303,7 +292,6 @@ public String getCasesheetPrintData(@RequestBody String comingReq, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary past history") @PostMapping(value = { "/getBenPastHistory" }) public String getBenPastHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") @RequestBody String comingRequest) { @@ -328,7 +316,6 @@ public String getBenPastHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") @Re return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary tobacco history") @PostMapping(value = { "/getBenTobaccoHistory" }) public String getBenTobaccoHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") @RequestBody String comingRequest) { @@ -353,7 +340,6 @@ public String getBenTobaccoHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary alcohol history") @PostMapping(value = { "/getBenAlcoholHistory" }) public String getBenAlcoholHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") @RequestBody String comingRequest) { @@ -378,7 +364,6 @@ public String getBenAlcoholHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary allergy history") @PostMapping(value = { "/getBenAllergyHistory" }) public String getBenANCAllergyHistory( @@ -404,7 +389,6 @@ public String getBenANCAllergyHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary medication history") @PostMapping(value = { "/getBenMedicationHistory" }) public String getBenMedicationHistory( @@ -430,7 +414,6 @@ public String getBenMedicationHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary family history") @PostMapping(value = { "/getBenFamilyHistory" }) public String getBenFamilyHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") @RequestBody String comingRequest) { @@ -455,7 +438,6 @@ public String getBenFamilyHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") @ return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary menstrual history") @PostMapping(value = { "/getBenMenstrualHistory" }) public String getBenMenstrualHistory( @@ -481,7 +463,6 @@ public String getBenMenstrualHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary past obstetric history") @PostMapping(value = { "/getBenPastObstetricHistory" }) public String getBenPastObstetricHistory( @@ -507,7 +488,6 @@ public String getBenPastObstetricHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary comorbidity condition details") @PostMapping(value = { "/getBenComorbidityConditionHistory" }) public String getBenANCComorbidityConditionHistory( @@ -533,7 +513,6 @@ public String getBenANCComorbidityConditionHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary optional vaccine details") @PostMapping(value = { "/getBenOptionalVaccineHistory" }) public String getBenOptionalVaccineHistory( @@ -559,7 +538,6 @@ public String getBenOptionalVaccineHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary child vaccine(Immunization) details") @PostMapping(value = { "/getBenChildVaccineHistory" }) public String getBenImmunizationHistory( @@ -585,7 +563,6 @@ public String getBenImmunizationHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary perinatal history details") @PostMapping(value = { "/getBenPerinatalHistory" }) public String getBenPerinatalHistory( @@ -611,7 +588,6 @@ public String getBenPerinatalHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary child feeding history details") @PostMapping(value = { "/getBenFeedingHistory" }) public String getBenFeedingHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") @RequestBody String comingRequest) { @@ -636,7 +612,6 @@ public String getBenFeedingHistory(@ApiParam(value = "{\"benRegID\":\"Long\"}") return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary child development history details") @PostMapping(value = { "/getBenDevelopmentHistory" }) public String getBenDevelopmentHistory( @@ -665,7 +640,6 @@ public String getBenDevelopmentHistory( /*** * fetch ben previous visit details for history case-record(Platform). */ - @CrossOrigin() @Operation(summary = "Get casesheet history of beneficiary") @PostMapping(value = { "/getBeneficiaryCaseSheetHistory" }) public String getBeneficiaryCaseSheetHistory( @@ -684,7 +658,6 @@ public String getBeneficiaryCaseSheetHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "TC specialist") @GetMapping(value = { "/getTCSpecialistWorklist/{providerServiceMapID}/{serviceID}/{userID}" }) public String getTCSpecialistWorkListNew(@PathVariable("providerServiceMapID") Integer providerServiceMapID, @@ -709,7 +682,6 @@ public String getTCSpecialistWorkListNew(@PathVariable("providerServiceMapID") I return response.toString(); } - @CrossOrigin() @Operation(summary = "TC specialist future scheduled") @GetMapping(value = { "/getTCSpecialistWorklistFutureScheduled/{providerServiceMapID}/{serviceID}/{userID}" }) @@ -736,7 +708,6 @@ public String getTCSpecialistWorklistFutureScheduled( return response.toString(); } - @CrossOrigin() @Operation(summary = "Download file from file system") @PostMapping(value = { "/downloadFile" }) public ResponseEntity downloadFile(@RequestBody String requestOBJ, HttpServletRequest request) @@ -767,7 +738,6 @@ public ResponseEntity downloadFile(@RequestBody String requ } - @CrossOrigin() @Operation(summary = "Get beneficiary physical history") @PostMapping(value = { "/getBenPhysicalHistory" }) public String getBenPhysicalHistory( @@ -793,7 +763,6 @@ public String getBenPhysicalHistory( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary symptomatic questionnaire answer details") @PostMapping(value = { "/getBenSymptomaticQuestionnaireDetails" }) public String getBenSymptomaticQuestionnaireDetails( @@ -819,7 +788,6 @@ public String getBenSymptomaticQuestionnaireDetails( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary previous diabetes history") @PostMapping(value = { "/getBenPreviousDiabetesHistoryDetails" }) public String getBenPreviousDiabetesHistoryDetails( @@ -850,7 +818,6 @@ public String getBenPreviousDiabetesHistoryDetails( * @ApiParam Authorization * @return */ - @CrossOrigin() @Operation(summary = "Get beneficiary TM case record") @PostMapping(value = { "/get/Case-sheet/TMReferredprintData" }) public String getTMReferredPrintData(@RequestBody String comingRequest, @@ -888,7 +855,6 @@ public String getTMReferredPrintData(@RequestBody String comingRequest, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary previous referral history") @PostMapping(value = { "/getBenPreviousReferralHistoryDetails" }) public String getBenPreviousReferralHistoryDetails( @@ -915,7 +881,6 @@ public String getBenPreviousReferralHistoryDetails( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary TM case record") @PostMapping(value = { "/get/Case-sheet/centralServerTMCaseSheet" }) public String getTMCaseSheetFromCentralServer(@RequestBody String comingRequest, @@ -953,7 +918,6 @@ public String getTMCaseSheetFromCentralServer(@RequestBody String comingRequest, * @ApiParam comingRequest * @return ProviderSpecificMasterData */ - @CrossOrigin() @Operation(summary = "Calculate beneficiary BMI status") @PostMapping(value = { "/calculateBMIStatus" }) public String calculateBMIStatus( @@ -971,7 +935,6 @@ public String calculateBMIStatus( return response.toString(); } - @CrossOrigin @Operation(summary = "Update beneficiary status flag") @PostMapping(value = { "/update/benDetailsAndSubmitToNurse" }) public String saveBeneficiaryVisitDetail( @@ -1006,7 +969,6 @@ public String saveBeneficiaryVisitDetail( return response.toString(); } - @CrossOrigin @Operation(summary = "Extend redis session for 30 minutes") @PostMapping(value = { "/extend/redisSession" }) public String extendRedisSession() { @@ -1019,7 +981,6 @@ public String extendRedisSession() { return response.toString(); } - @CrossOrigin @Operation(summary = "Soft delete prescribed medicine") @PostMapping(value = { "/doctor/delete/prescribedMedicine" }) public String deletePrescribedMedicine(@RequestBody String requestOBJ) { diff --git a/src/main/java/com/iemr/mmu/controller/common/main/InsertCommonController.java b/src/main/java/com/iemr/mmu/controller/common/main/InsertCommonController.java index 5c4544c1..cd3a7576 100644 --- a/src/main/java/com/iemr/mmu/controller/common/main/InsertCommonController.java +++ b/src/main/java/com/iemr/mmu/controller/common/main/InsertCommonController.java @@ -27,7 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -40,7 +40,6 @@ import io.swagger.v3.oas.annotations.Operation; -@CrossOrigin @RestController @RequestMapping(value = "/commonInsert", headers = "Authorization") public class InsertCommonController { @@ -48,7 +47,6 @@ public class InsertCommonController { @Autowired private CommonServiceImpl commonServiceImpl; - @CrossOrigin() @Operation(summary = "Save beneficairy documents locally") @PostMapping(value = { "/saveFiles" }, consumes = "application/json", produces = "application/json") public String saveFiles(@RequestBody String request) { diff --git a/src/main/java/com/iemr/mmu/controller/common/master/CommonMasterController.java b/src/main/java/com/iemr/mmu/controller/common/master/CommonMasterController.java index fd388f96..89e816d1 100644 --- a/src/main/java/com/iemr/mmu/controller/common/master/CommonMasterController.java +++ b/src/main/java/com/iemr/mmu/controller/common/master/CommonMasterController.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -35,8 +35,6 @@ import io.swagger.v3.oas.annotations.Operation; - -@CrossOrigin @RestController @RequestMapping(value = "/master", headers = "Authorization") /** Objective: provides master data based on given visitCategory */ diff --git a/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java b/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java index 7e769264..959c9cc7 100644 --- a/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java +++ b/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java @@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -46,7 +46,6 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - /** * * @author DU20091017 @@ -54,7 +53,6 @@ * @Date : 25/06/2020 * */ -@CrossOrigin @RestController @RequestMapping(value = "pandemic/covid", headers = "Authorization", consumes = "application/json", produces = "application/json") public class CovidController { @@ -64,7 +62,7 @@ public class CovidController { private Covid19Service covid19Service; @Autowired private Covid19ServiceImpl covid19ServiceImpl; - @CrossOrigin + @Operation(summary = "Save covid nurse data") @PostMapping(value = { "/save/nurseData" }) public String saveBenCovid19NurseData(@RequestBody String requestObj, @@ -100,7 +98,6 @@ public String saveBenCovid19NurseData(@RequestBody String requestObj, * @ApiParam Authorization * @return */ - @CrossOrigin @Operation(summary = "Save covid doctor data") @PostMapping(value = { "/save/doctorData" }) public String saveBenCovidDoctorData(@RequestBody String requestObj, @@ -126,7 +123,7 @@ public String saveBenCovidDoctorData(@RequestBody String requestObj, } return response.toString(); } - @CrossOrigin() + @Operation(summary = "Get beneficiary visit details from nurse covid 19") @PostMapping(value = { "/getBenVisitDetailsFrmNurseCovid" }) @Transactional(rollbackFor = Exception.class) @@ -159,7 +156,6 @@ public String getBenVisitDetailsFrmNurseCovid19( * @ApiParam comingRequest * @return visit details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary covid 19 history details from nurse to doctor ") @PostMapping(value = { "/getBenCovid19HistoryDetails" }) @@ -191,8 +187,6 @@ public String getBenCovid19HistoryDetails( * @ApiParam comingRequest * @return visit details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get beneficiary covid 19 vital details from nurse NCD care") @PostMapping(value = { "/getBenVitalDetailsFrmNurseCovid" }) public String getBenVitalDetailsFrmNurseNCDCare( @@ -220,7 +214,6 @@ public String getBenVitalDetailsFrmNurseNCDCare( } - @CrossOrigin() @Operation(summary = "Get beneficiary doctor entered details") @PostMapping(value = { "/getBenCaseRecordFromDoctorCovid" }) @Transactional(rollbackFor = Exception.class) @@ -247,7 +240,7 @@ public String getBenCaseRecordFromDoctorCovid19( } return response.toString(); } - @CrossOrigin + @Operation(summary = "Update history data in doctor screen") @PostMapping(value = { "/update/historyScreen" }) public String updateHistoryNurse(@RequestBody String requestObj) { @@ -280,8 +273,6 @@ public String updateHistoryNurse(@RequestBody String requestObj) { * @objective Replace NCD Care Vital Data entered by Nurse with the details * entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update covid vital data in doctor screen") @PostMapping(value = { "/update/vitalScreen" }) public String updateVitalNurse(@RequestBody String requestObj) { @@ -311,7 +302,6 @@ public String updateVitalNurse(@RequestBody String requestObj) { * @return success or failure response * @objective Replace covid 19 doctor data for the doctor next visit */ - @CrossOrigin @Operation(summary = "Update covid 19 doctor data") @PostMapping(value = { "/update/doctorData" }) public String updateCovid19DoctorData(@RequestBody String requestObj, @@ -335,8 +325,9 @@ public String updateCovid19DoctorData(@RequestBody String requestObj, return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java b/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java index e89f199e..161863c5 100644 --- a/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java +++ b/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java @@ -25,7 +25,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -44,7 +44,6 @@ /*** * @purpose Class used for data sync from van-to-server & server-to-van */ -@CrossOrigin @RestController @RequestMapping(value = "/dataSyncActivity", headers = "Authorization", consumes = "application/json", produces = "application/json") public class StartSyncActivity { @@ -59,7 +58,6 @@ public class StartSyncActivity { private static final String GROUP_ID = "groupID"; private static final String PROVIDER_SERVICE_MAP_ID = "providerServiceMapID"; - @CrossOrigin() @Operation(summary = "Start data sync from van to Server") @PostMapping(value = { "/van-to-server" }) public String dataSyncToServer(@RequestBody String requestOBJ, @@ -71,10 +69,10 @@ public String dataSyncToServer(@RequestBody String requestOBJ, if (obj.has("user") && obj.get("user") != null && obj.has("vanID") && obj.get("vanID") != null) { String s = uploadDataToServerImpl.getDataToSyncToServer(obj.getInt("vanID"), obj.getString("user"), serverAuthorization); -// if (s != null) - response.setResponse(s); -// else -// response.setError(5000, "Error in data sync"); + // if (s != null) + response.setResponse(s); + // else + // response.setError(5000, "Error in data sync"); } else { response.setError(5000, "Invalid request, Either of groupID or user is invalid or null"); } @@ -85,7 +83,6 @@ public String dataSyncToServer(@RequestBody String requestOBJ, return response.toStringWithSerialization(); } - @CrossOrigin() @Operation(summary = "Get data sync group details") @GetMapping(value = { "/getSyncGroupDetails" }) public String getSyncGroupDetails() { @@ -106,7 +103,6 @@ public String getSyncGroupDetails() { /** * @return Masters download in van from central server */ - @CrossOrigin() @Operation(summary = "Data sync master download") @PostMapping(value = { "/startMasterDownload" }) public String startMasterDownload(@RequestBody String requestOBJ, @@ -139,7 +135,6 @@ public String startMasterDownload(@RequestBody String requestOBJ, return response.toString(); } - @CrossOrigin() @Operation(summary = "Data sync master download progress check") @GetMapping(value = { "/checkMastersDownloadProgress" }) public String checkMastersDownloadProgress() { @@ -153,7 +148,6 @@ public String checkMastersDownloadProgress() { return response.toString(); } - @CrossOrigin() @Operation(summary = "Get van details for master download") @GetMapping(value = { "/getVanDetailsForMasterDownload" }) public String getVanDetailsForMasterDownload() { @@ -171,7 +165,6 @@ public String getVanDetailsForMasterDownload() { return response.toString(); } - @CrossOrigin() @Operation(summary = "Call central API to generate beneficiary id and import to local") @PostMapping(value = { "/callCentralAPIToGenerateBenIDAndimportToLocal" }) public String callCentralAPIToGenerateBenIDAndimportToLocal(@RequestBody String requestOBJ, @@ -196,7 +189,6 @@ public String callCentralAPIToGenerateBenIDAndimportToLocal(@RequestBody String return response.toString(); } - @CrossOrigin() @Operation(summary = "Call central API to download transaction data to local") @PostMapping(value = { "/downloadTransactionToLocal" }) public String downloadTransactionToLocal(@RequestBody String requestOBJ, diff --git a/src/main/java/com/iemr/mmu/controller/dataSyncLayerCentral/MMUDataSyncVanToServer.java b/src/main/java/com/iemr/mmu/controller/dataSyncLayerCentral/MMUDataSyncVanToServer.java index f98c5b85..dedad0eb 100644 --- a/src/main/java/com/iemr/mmu/controller/dataSyncLayerCentral/MMUDataSyncVanToServer.java +++ b/src/main/java/com/iemr/mmu/controller/dataSyncLayerCentral/MMUDataSyncVanToServer.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -40,11 +40,9 @@ import io.swagger.v3.oas.annotations.Operation; - /*** * @operation Class used for data sync from van-to-server & server-to-van */ -@CrossOrigin @RestController @RequestMapping(value = "/dataSync", headers = "Authorization") public class MMUDataSyncVanToServer { @@ -57,7 +55,6 @@ public class MMUDataSyncVanToServer { @Autowired private FetchDownloadDataImpl fetchDownloadDataImpl; - @CrossOrigin() @Operation(summary = "Sync data from van-to-server") @PostMapping(value = { "/van-to-server" }, consumes = "application/json", produces = "application/json") public String dataSyncToServer(@RequestBody String requestOBJ, @@ -76,7 +73,6 @@ public String dataSyncToServer(@RequestBody String requestOBJ, return response.toString(); } - @CrossOrigin() @Operation(summary = "Download data from server-to-van") @PostMapping(value = { "/server-to-van" }, consumes = "application/json", produces = "application/json") public String dataDownloadFromServer(@RequestBody SyncDownloadMaster syncDownloadMaster, @@ -99,9 +95,9 @@ public String dataDownloadFromServer(@RequestBody SyncDownloadMaster syncDownloa return response.toStringWithSerialization(); } - @CrossOrigin() @Operation(summary = "Download data from server-to-van transactional") - @PostMapping(value = { "/server-to-van-transactional" }, consumes = "application/json", produces = "application/json") + @PostMapping(value = { + "/server-to-van-transactional" }, consumes = "application/json", produces = "application/json") public String dataDownloadFromServerTransactional(@RequestBody SyncUploadDataDigester syncUploadDataDigester, @RequestHeader(value = "Authorization") String Authorization) { OutputResponse response = new OutputResponse(); @@ -126,9 +122,9 @@ public String dataDownloadFromServerTransactional(@RequestBody SyncUploadDataDig return response.toStringWithSerialization(); } - @CrossOrigin() @Operation(summary = "Update processed flag at central post successfull download") - @PostMapping(value = { "/updateProcessedFlagPostDownload" }, consumes = "application/json", produces = "application/json") + @PostMapping(value = { + "/updateProcessedFlagPostDownload" }, consumes = "application/json", produces = "application/json") public String updateProcessedFlagPostDownload(@RequestBody SyncUploadDataDigester syncUploadDataDigester, @RequestHeader(value = "Authorization") String Authorization) { OutputResponse response = new OutputResponse(); diff --git a/src/main/java/com/iemr/mmu/controller/fileSync/FileSyncController.java b/src/main/java/com/iemr/mmu/controller/fileSync/FileSyncController.java index 8438c222..b5b1a34a 100644 --- a/src/main/java/com/iemr/mmu/controller/fileSync/FileSyncController.java +++ b/src/main/java/com/iemr/mmu/controller/fileSync/FileSyncController.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; @@ -45,7 +45,6 @@ public class FileSyncController { @Autowired FileSyncService fileSyncService; - @CrossOrigin() @Operation(summary = "Get server credential") @GetMapping(value = "/getServerCredential", headers = "Authorization", consumes = "application/json", produces = "application/json") public String getServerCredential() { @@ -65,7 +64,6 @@ public String getServerCredential() { return response.toString(); } - @CrossOrigin() @Operation(summary = "Sync files") @GetMapping(value = "/syncFiles", headers = "Authorization", consumes = "application/json", produces = "application/json") public String syncFiles(@RequestHeader(value = "ServerAuthorization") String ServerAuthorization) { diff --git a/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java b/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java index c83ce6f6..b7fa65a0 100644 --- a/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java +++ b/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java @@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -42,13 +42,11 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - /*** * @Objective Saving General OPD data for Nurse and Doctor. */ @RestController -@CrossOrigin @RequestMapping(value = "/generalOPD", headers = "Authorization", consumes = "application/json", produces = "application/json") public class GeneralOPDController { private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); @@ -64,7 +62,6 @@ public void setGeneralOPDServiceImpl(GeneralOPDServiceImpl generalOPDServiceImpl * @ApiParam requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save general OPD nurse data") @PostMapping(value = { "/save/nurseData" }) public String saveBenGenOPDNurseData(@RequestBody String requestObj) { @@ -97,7 +94,6 @@ public String saveBenGenOPDNurseData(@RequestBody String requestObj) { * @ApiParam requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save general OPD doctor data") @PostMapping(value = { "/save/doctorData" }) public String saveBenGenOPDDoctorData(@RequestBody String requestObj, @@ -123,7 +119,6 @@ public String saveBenGenOPDDoctorData(@RequestBody String requestObj, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary visit details from nurse general OPD") @PostMapping(value = { "/getBenVisitDetailsFrmNurseGOPD" }) @Transactional(rollbackFor = Exception.class) @@ -156,7 +151,6 @@ public String getBenVisitDetailsFrmNurseGOPD( * @ApiParam comingRequest * @return history details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary general OPD history details from nurse to doctor ") @PostMapping(value = { "/getBenHistoryDetails" }) @@ -188,7 +182,6 @@ public String getBenHistoryDetails( * @ApiParam comingRequest * @return vital details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary vital details from nurse general OPD") @PostMapping(value = { "/getBenVitalDetailsFrmNurse" }) public String getBenVitalDetailsFrmNurse( @@ -220,7 +213,6 @@ public String getBenVitalDetailsFrmNurse( * @ApiParam comingRequest * @return examination details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary general OPD examination details from nurse to doctor ") @PostMapping(value = { "/getBenExaminationDetails" }) @@ -252,7 +244,6 @@ public String getBenExaminationDetails( * @ApiParam comingRequest * @return doctor details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary doctor entered details") @PostMapping(value = { "/getBenCaseRecordFromDoctorGeneralOPD" }) @Transactional(rollbackFor = Exception.class) @@ -280,7 +271,6 @@ public String getBenCaseRecordFromDoctorGeneralOPD( return response.toString(); } - @CrossOrigin @Operation(summary = "Update general OPD visit screen nurse data in doctor screen") @PostMapping(value = { "/update/visitDetailsScreen" }) public String updateVisitNurse(@RequestBody String requestObj) { @@ -311,8 +301,6 @@ public String updateVisitNurse(@RequestBody String requestObj) { * @objective Replace General OPD History Data entered by Nurse with the details * entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update history data in doctor Screen") @PostMapping(value = { "/update/historyScreen" }) public String updateHistoryNurse(@RequestBody String requestObj) { @@ -343,8 +331,6 @@ public String updateHistoryNurse(@RequestBody String requestObj) { * @objective Replace General OPD Vital Data entered by Nurse with the details * entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update general OPD vital data in doctor screen") @PostMapping(value = { "/update/vitalScreen" }) public String updateVitalNurse(@RequestBody String requestObj) { @@ -375,8 +361,6 @@ public String updateVitalNurse(@RequestBody String requestObj) { * @objective Replace General OPD Examination Data entered by Nurse with the * details entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update general OPD examination data in doctor screen") @PostMapping(value = { "/update/examinationScreen" }) public String updateGeneralOPDExaminationNurse(@RequestBody String requestObj) { @@ -406,7 +390,6 @@ public String updateGeneralOPDExaminationNurse(@RequestBody String requestObj) { * @return success or failure response * @objective Replace General OPD doctor data for the doctor next visit */ - @CrossOrigin @Operation(summary = "Update general OPD doctor data") @PostMapping(value = { "/update/doctorData" }) public String updateGeneralOPDDoctorData(@RequestBody String requestObj, @@ -430,8 +413,9 @@ public String updateGeneralOPDDoctorData(@RequestBody String requestObj, return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/labtechnician/LabTechnicianController.java b/src/main/java/com/iemr/mmu/controller/labtechnician/LabTechnicianController.java index d24a1599..4cf6d689 100644 --- a/src/main/java/com/iemr/mmu/controller/labtechnician/LabTechnicianController.java +++ b/src/main/java/com/iemr/mmu/controller/labtechnician/LabTechnicianController.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -38,13 +38,11 @@ import io.swagger.v3.oas.annotations.Operation; - /*** * @Objective Saving lab test results given by LabTechnician */ @RestController -@CrossOrigin @RequestMapping(value = "/labTechnician", headers = "Authorization", consumes = "application/json", produces = "application/json") public class LabTechnicianController { @@ -55,14 +53,15 @@ public class LabTechnicianController { public void setLabTechnicianServiceImpl(LabTechnicianServiceImpl labTechnicianServiceImpl) { this.labTechnicianServiceImpl = labTechnicianServiceImpl; } + private static final String BENEFICIARY_REG_ID = "beneficiaryRegID"; private static final String VISIT_CODE = "visitCode"; + /** * @Objective Save lab test results given by LabTechnician * @param JSON requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save lab test result entered by lab technician") @PostMapping(value = { "/save/LabTestResult" }) public String saveLabTestResult(@RequestBody String requestObj) { @@ -87,7 +86,6 @@ public String saveLabTestResult(@RequestBody String requestObj) { return response.toString(); } - @CrossOrigin @Operation(summary = "Get beneficiary prescribed procedure") @PostMapping(value = { "/get/prescribedProceduresList" }) public String getBeneficiaryPrescribedProcedure(@RequestBody String requestOBJ) { @@ -114,7 +112,6 @@ public String getBeneficiaryPrescribedProcedure(@RequestBody String requestOBJ) return response.toString(); } - @CrossOrigin() @Operation(summary = "Get lab test result for a visitcode.") @PostMapping(value = { "/get/labResultForVisitcode" }) public String getLabResultForVisitCode(@RequestBody String requestOBJ) { @@ -132,13 +129,14 @@ public String getLabResultForVisitCode(@RequestBody String requestOBJ) { } else response.setError(5000, "Invalid request"); } catch (Exception e) { - logger.error("Error while getting lab result for requested data {} " , requestOBJ); + logger.error("Error while getting lab result for requested data {} ", requestOBJ); response.setError(5000, "Error while getting lab report"); } return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/location/LocationController.java b/src/main/java/com/iemr/mmu/controller/location/LocationController.java index 2f5e0872..71e90724 100644 --- a/src/main/java/com/iemr/mmu/controller/location/LocationController.java +++ b/src/main/java/com/iemr/mmu/controller/location/LocationController.java @@ -25,7 +25,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -40,7 +40,6 @@ import io.swagger.v3.oas.annotations.Operation; -@CrossOrigin @RestController @RequestMapping(value = "/location", headers = "Authorization") public class LocationController { @@ -136,7 +135,6 @@ public String getVillageMaster(@PathVariable("blockID") Integer blockID) { return response.toString(); } - @CrossOrigin() @Operation(summary = "Get location details based on SP id and PSM id") @PostMapping(value = "/getLocDetailsBasedOnSpIDAndPsmID", consumes = "application/json", produces = "application/json") public String getLocDetailsBasedOnSpIDAndPsmIDNew(@RequestBody String comingRequest) { @@ -146,10 +144,10 @@ public String getLocDetailsBasedOnSpIDAndPsmIDNew(@RequestBody String comingRequ if (obj != null && obj.has("spID") && obj.has("spPSMID") && obj.get("spID") != null && obj.get("spPSMID") != null) { Integer userId = null; - if(obj.has("userId") && null != obj.get("userId")) { + if (obj.has("userId") && null != obj.get("userId")) { userId = Integer.valueOf(obj.get("userId").toString()); } - String s = locationServiceImpl.getLocDetailsNew(obj.getInt("spID"), obj.getInt("spPSMID"),userId); + String s = locationServiceImpl.getLocDetailsNew(obj.getInt("spID"), obj.getInt("spPSMID"), userId); response.setResponse(s); } else { @@ -162,7 +160,6 @@ public String getLocDetailsBasedOnSpIDAndPsmIDNew(@RequestBody String comingRequ return response.toString(); } - @CrossOrigin() @Operation(summary = "Get district taluk master") @GetMapping(value = "/get/DistrictTalukMaster/{districtBranchID}", consumes = "application/json", produces = "application/json") public String getDistrictTalukMaster(@PathVariable("districtBranchID") Integer districtBranchID) { diff --git a/src/main/java/com/iemr/mmu/controller/login/IemrMmuLoginController.java b/src/main/java/com/iemr/mmu/controller/login/IemrMmuLoginController.java index 527cee59..08942297 100644 --- a/src/main/java/com/iemr/mmu/controller/login/IemrMmuLoginController.java +++ b/src/main/java/com/iemr/mmu/controller/login/IemrMmuLoginController.java @@ -25,7 +25,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -55,7 +55,6 @@ public void setIemrMmuLoginServiceImpl(IemrMmuLoginServiceImpl iemrMmuLoginServi this.iemrMmuLoginServiceImpl = iemrMmuLoginServiceImpl; } - @CrossOrigin() @Operation(summary = "Get user service point van details") @GetMapping(value = "/getUserServicePointVanDetails", consumes = "application/json", produces = "application/json") public String getUserServicePointVanDetails(@RequestBody String comingRequest) { @@ -75,7 +74,6 @@ public String getUserServicePointVanDetails(@RequestBody String comingRequest) { return response.toString(); } - @CrossOrigin() @Operation(summary = "Get service point villages") @PostMapping(value = "/getServicepointVillages", consumes = "application/json", produces = "application/json") public String getServicepointVillages(@RequestBody String comingRequest) { @@ -95,7 +93,6 @@ public String getServicepointVillages(@RequestBody String comingRequest) { return response.toString(); } - @CrossOrigin() @Operation(summary = "Get user van details") @PostMapping(value = "/getUserVanSpDetails", consumes = "application/json", produces = "application/json") public String getUserVanSpDetails(@RequestBody String comingRequest) { @@ -120,7 +117,6 @@ public String getUserVanSpDetails(@RequestBody String comingRequest) { return response.toString(); } - @CrossOrigin() @Operation(summary = "Get van master data") @GetMapping(value = "/getVanMaster/{psmID}", consumes = "application/json", produces = "application/json") public String getVanMaster(@PathVariable("psmID") Integer psmID) { diff --git a/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java b/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java index 60b57152..03c4cecc 100644 --- a/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java +++ b/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java @@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -45,11 +45,9 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - /** * @Objective Saving NCD Care data for Nurse and Doctor. */ -@CrossOrigin @RestController @RequestMapping(value = "/NCDCare", headers = "Authorization", consumes = "application/json", produces = "application/json") public class NCDCareController { @@ -66,7 +64,6 @@ public void setNcdCareServiceImpl(NCDCareServiceImpl ncdCareServiceImpl) { * @ApiParam JSON requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save NCD care data collected by nurse") @PostMapping(value = { "/save/nurseData" }) public String saveBenNCDCareNurseData(@RequestBody String requestObj) { @@ -100,7 +97,6 @@ public String saveBenNCDCareNurseData(@RequestBody String requestObj) { * @ApiParam JSON requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save NCD care beneficiary case record and referral") @PostMapping(value = { "/save/doctorData" }) public String saveBenNCDCareDoctorData(@RequestBody String requestObj, @@ -127,7 +123,6 @@ public String saveBenNCDCareDoctorData(@RequestBody String requestObj, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get NCD care beneficiary visit details") @PostMapping(value = { "/getBenVisitDetailsFrmNurseNCDCare" }) @Transactional(rollbackFor = Exception.class) @@ -160,7 +155,6 @@ public String getBenVisitDetailsFrmNurseNCDCare( * @ApiParam comingRequest * @return visit details in JSON format */ - @CrossOrigin() @Operation(summary = "Get NCD care beneficiary history") @PostMapping(value = { "/getBenNCDCareHistoryDetails" }) @@ -192,8 +186,6 @@ public String getBenNCDCareHistoryDetails( * @ApiParam comingRequest * @return visit details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get NCD care beneficiary vitals") @PostMapping(value = { "/getBenVitalDetailsFrmNurseNCDCare" }) public String getBenVitalDetailsFrmNurseNCDCare( @@ -225,7 +217,6 @@ public String getBenVitalDetailsFrmNurseNCDCare( * @ApiParam comingRequest * @return visit details in JSON format */ - @CrossOrigin() @Operation(summary = "Get NCD care beneficiary case record and referral") @PostMapping(value = { "/getBenCaseRecordFromDoctorNCDCare" }) @Transactional(rollbackFor = Exception.class) @@ -253,7 +244,6 @@ public String getBenCaseRecordFromDoctorNCDCare( return response.toString(); } - @CrossOrigin @Operation(summary = "Update NCD care beneficiary history") @PostMapping(value = { "/update/historyScreen" }) public String updateHistoryNurse(@RequestBody String requestObj) { @@ -286,8 +276,6 @@ public String updateHistoryNurse(@RequestBody String requestObj) { * @objective Replace NCD Care Vital Data entered by Nurse with the details * entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update NCD care beneficiary vitals") @PostMapping(value = { "/update/vitalScreen" }) public String updateVitalNurse(@RequestBody String requestObj) { @@ -317,7 +305,6 @@ public String updateVitalNurse(@RequestBody String requestObj) { * @return success or failure response * @objective Replace NCD Care doctor data for the doctor next visit */ - @CrossOrigin @Operation(summary = "Update NCD care beneficiary case record and referral") @PostMapping(value = { "/update/doctorData" }) public String updateNCDCareDoctorData(@RequestBody String requestObj, @@ -341,8 +328,9 @@ public String updateNCDCareDoctorData(@RequestBody String requestObj, return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java b/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java index 49f40e34..39d3531b 100644 --- a/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java +++ b/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java @@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -46,16 +46,14 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - /** * @Objective Saving NCD Screening nurse data. */ -@CrossOrigin @RestController @RequestMapping(value = "/NCD", headers = "Authorization", consumes = "application/json", produces = "application/json") public class NCDController { private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); - + private NCDScreeningServiceImpl ncdScreeningServiceImpl; @Autowired @@ -74,7 +72,6 @@ public void setNcdScreeningServiceImpl(NCDScreeningServiceImpl ncdScreeningServi * @ApiParam JSON requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save beneficiary NCD screening details") @PostMapping(value = { "/save/nurseData" }) @@ -110,7 +107,6 @@ public String saveBeneficiaryNCDScreeningDetails(@RequestBody String requestObj, * @ApiParam JSON requestObj * @return success or failure response */ - @CrossOrigin @Operation(summary = "Save NCD screening doctor data") @PostMapping(value = { "/save/doctorData" }) public String saveBenNCDScreeningDoctorData(@RequestBody String requestObj, @@ -138,7 +134,6 @@ public String saveBenNCDScreeningDoctorData(@RequestBody String requestObj, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get NCD screening visit details") @PostMapping(value = { "/get/nurseData" }) @@ -165,7 +160,6 @@ public String getNCDScreenigDetails( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get NCD screening visit count for beneficiary registration id") @GetMapping(value = { "/getNcdScreeningVisitCount/{beneficiaryRegID}" }) public String getNcdScreeningVisitCount(@PathVariable("beneficiaryRegID") Long beneficiaryRegID) { @@ -188,7 +182,6 @@ public String getNcdScreeningVisitCount(@PathVariable("beneficiaryRegID") Long b return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary visit details from nurse NCD screening") @PostMapping(value = { "/getBenVisitDetailsFrmNurseNCDScreening" }) @Transactional(rollbackFor = Exception.class) @@ -216,7 +209,6 @@ public String getBenVisitDetailsFrmNurseGOPD( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary general OPD history details from nurse to doctor ") @PostMapping(value = { "/getBenHistoryDetails" }) @@ -243,7 +235,6 @@ public String getBenHistoryDetails( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary vital details from nurse general OPD") @PostMapping(value = { "/getBenVitalDetailsFrmNurse" }) public String getBenVitalDetailsFrmNurse( @@ -270,7 +261,6 @@ public String getBenVitalDetailsFrmNurse( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary vital details from nurse general OPD") @PostMapping(value = { "/getBenIdrsDetailsFrmNurse" }) public String getBenIdrsDetailsFrmNurse( @@ -302,7 +292,6 @@ public String getBenIdrsDetailsFrmNurse( * @ApiParam comingRequest * @return visit details in JSON format */ - @CrossOrigin() @Operation(summary = "Get beneficiary doctor entered details") @PostMapping(value = { "/getBenCaseRecordFromDoctorNCDScreening" }) @Transactional(rollbackFor = Exception.class) @@ -330,13 +319,12 @@ public String getBenCaseRecordFromDoctorNCDCare( return response.toString(); } - @CrossOrigin @Operation(summary = "Update beneficiary NCD screening details") @PostMapping(value = { "/update/nurseData" }) public String updateBeneficiaryNCDScreeningDetails(@RequestBody String requestObj) { OutputResponse response = new OutputResponse(); - + try { JsonObject jsnOBJ = parseJsonRequest(requestObj); @@ -358,7 +346,6 @@ public String updateBeneficiaryNCDScreeningDetails(@RequestBody String requestOb return response.toString(); } - @CrossOrigin @Operation(summary = "Update history data in doctor screen") @PostMapping(value = { "/update/historyScreen" }) public String updateHistoryNurse(@RequestBody String requestObj) { @@ -383,7 +370,6 @@ public String updateHistoryNurse(@RequestBody String requestObj) { return response.toString(); } - @CrossOrigin @Operation(summary = "Update NCD screening vital data in doctor screen") @PostMapping(value = { "/update/vitalScreen" }) public String updateVitalNurse(@RequestBody String requestObj) { @@ -407,7 +393,6 @@ public String updateVitalNurse(@RequestBody String requestObj) { return response.toString(); } - @CrossOrigin @Operation(summary = "Update history data in doctor screen") @PostMapping(value = { "/update/idrsScreen" }) public String updateIDRSScreen(@RequestBody String requestObj) { @@ -431,7 +416,6 @@ public String updateIDRSScreen(@RequestBody String requestObj) { return response.toString(); } - @CrossOrigin @Operation(summary = "Update doctor data") @PostMapping(value = { "/update/doctorData" }) public String updateDoctorData(@RequestBody String requestObj) { @@ -453,8 +437,9 @@ public String updateDoctorData(@RequestBody String requestObj) { return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/nurse/vitals/AnthropometryVitalsController.java b/src/main/java/com/iemr/mmu/controller/nurse/vitals/AnthropometryVitalsController.java index 116c2262..f5677647 100644 --- a/src/main/java/com/iemr/mmu/controller/nurse/vitals/AnthropometryVitalsController.java +++ b/src/main/java/com/iemr/mmu/controller/nurse/vitals/AnthropometryVitalsController.java @@ -5,55 +5,51 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.query.Param; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; - import com.iemr.mmu.service.nurse.vitals.AnthropometryVitalsService; import com.iemr.mmu.utils.response.OutputResponse; import io.swagger.v3.oas.annotations.Operation; @RestController -@CrossOrigin @RequestMapping(value = "/anthropometryVitals", headers = "Authorization", consumes = "application/json", produces = "application/json") public class AnthropometryVitalsController { private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); - + @Autowired private AnthropometryVitalsService anthropometryVitalsService; - - //Auto-patching height in anthropometry details - @CrossOrigin() - @Operation(summary = "Get beneficiary height details") - @PostMapping(value = { "/getBenHeightDetailsFrmNurse" }) - public String getBenHeightDetailsFrmNurse( - @Param(value = "{\"benRegID\":\"Long\"}") @RequestBody String comingRequest) { - OutputResponse response = new OutputResponse(); - - logger.info("Request object for beneficiary height data fetching :" + comingRequest); - try { - JSONObject obj = new JSONObject(comingRequest); - if (obj.has("benRegID")) { - Long benRegID = obj.getLong("benRegID"); - - String res = anthropometryVitalsService.getBeneficiaryHeightDetails(benRegID); - response.setResponse(res); - } else { - logger.info("Invalid request"); - response.setError(5000, "Invalid request"); - } - logger.info("Beneficiary height data fetching Response:" + response); - } catch (Exception e) { - response.setError(5000, "Error while getting beneficiary height data"); - logger.error("Error while getting beneficiary height data :" + e); + + // Auto-patching height in anthropometry details + @Operation(summary = "Get beneficiary height details") + @PostMapping(value = { "/getBenHeightDetailsFrmNurse" }) + public String getBenHeightDetailsFrmNurse( + @Param(value = "{\"benRegID\":\"Long\"}") @RequestBody String comingRequest) { + OutputResponse response = new OutputResponse(); + + logger.info("Request object for beneficiary height data fetching :" + comingRequest); + try { + JSONObject obj = new JSONObject(comingRequest); + if (obj.has("benRegID")) { + Long benRegID = obj.getLong("benRegID"); + + String res = anthropometryVitalsService.getBeneficiaryHeightDetails(benRegID); + response.setResponse(res); + } else { + logger.info("Invalid request"); + response.setError(5000, "Invalid request"); } - return response.toString(); + logger.info("Beneficiary height data fetching Response:" + response); + } catch (Exception e) { + response.setError(5000, "Error while getting beneficiary height data"); + logger.error("Error while getting beneficiary height data :" + e); } - - + return response.toString(); + } + } diff --git a/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java b/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java index b6d721b8..0e15e43a 100644 --- a/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java +++ b/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java @@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -42,11 +42,9 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - /** * @Objective Saving PNC nurse and doctor data */ -@CrossOrigin @RestController @RequestMapping(value = "/PNC", headers = "Authorization", consumes = "application/json", produces = "application/json") public class PostnatalCareController { @@ -63,8 +61,6 @@ public void setPncServiceImpl(PNCServiceImpl pncServiceImpl) { * @ApiParam requestObj * @return success or failure response */ - - @CrossOrigin @Operation(summary = "Save PNC nurse data") @PostMapping(value = { "/save/nurseData" }) public String saveBenPNCNurseData(@RequestBody String requestObj) { @@ -98,8 +94,6 @@ public String saveBenPNCNurseData(@RequestBody String requestObj) { * @ApiParam requestObj * @return success or failure response */ - - @CrossOrigin @Operation(summary = "Save PNC doctor data") @PostMapping(value = { "/save/doctorData" }) public String saveBenPNCDoctorData(@RequestBody String requestObj, @@ -125,7 +119,6 @@ public String saveBenPNCDoctorData(@RequestBody String requestObj, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get PNC beneficiary visit details from nurse") @PostMapping(value = { "/getBenVisitDetailsFrmNursePNC" }) @Transactional(rollbackFor = Exception.class) @@ -158,7 +151,6 @@ public String getBenVisitDetailsFrmNursePNC( * @ApiParam comingRequest * @return PNC Care data in JSON format */ - @CrossOrigin() @Operation(summary = "Get PNC beneficiary care details from nurse") @PostMapping(value = { "/getBenPNCDetailsFrmNursePNC" }) @Transactional(rollbackFor = Exception.class) @@ -191,7 +183,6 @@ public String getBenPNCDetailsFrmNursePNC( * @ApiParam comingRequest * @return history data in JSON format */ - @CrossOrigin() @Operation(summary = "Get PNC beneficiary history details from nurse to doctor ") @PostMapping(value = { "/getBenHistoryDetails" }) @@ -223,7 +214,6 @@ public String getBenHistoryDetails( * @ApiParam comingRequest * @return vital data in JSON format */ - @CrossOrigin() @Operation(summary = "Get PNC beneficiary vital details from nurse") @PostMapping(value = { "/getBenVitalDetailsFrmNurse" }) public String getBenVitalDetailsFrmNurse( @@ -255,7 +245,6 @@ public String getBenVitalDetailsFrmNurse( * @ApiParam comingRequest * @return examination data in JSON format */ - @CrossOrigin() @Operation(summary = "Get PNC beneficiary examination details from nurse to doctor ") @PostMapping(value = { "/getBenExaminationDetailsPNC" }) @@ -287,7 +276,6 @@ public String getBenExaminationDetailsPNC( * @ApiParam comingRequest * @return doctor data in JSON format */ - @CrossOrigin() @Operation(summary = "Get PNC beneficiary case record") @PostMapping(value = { "/getBenCaseRecordFromDoctorPNC" }) @Transactional(rollbackFor = Exception.class) @@ -315,7 +303,6 @@ public String getBenCaseRecordFromDoctorPNC( return response.toString(); } - @CrossOrigin @Operation(summary = "Update PNC care data in doctor screen") @PostMapping(value = { "/update/PNCScreen" }) public String updatePNCCareNurse(@RequestBody String requestObj) { @@ -346,8 +333,6 @@ public String updatePNCCareNurse(@RequestBody String requestObj) { * @objective Replace PNC History Data entered by Nurse with the details entered * by Doctor */ - - @CrossOrigin @Operation(summary = "Update PNC beneficiary history in doctor screen") @PostMapping(value = { "/update/historyScreen" }) public String updateHistoryNurse(@RequestBody String requestObj) { @@ -378,8 +363,6 @@ public String updateHistoryNurse(@RequestBody String requestObj) { * @objective Replace PNC Vital Data entered by Nurse with the details entered * by Doctor */ - - @CrossOrigin @Operation(summary = "Update PNC beneficiary vitals in doctor screen") @PostMapping(value = { "/update/vitalScreen" }) public String updateVitalNurse(@RequestBody String requestObj) { @@ -410,8 +393,6 @@ public String updateVitalNurse(@RequestBody String requestObj) { * @objective Replace PNC Examination Data entered by Nurse with the details * entered by Doctor */ - - @CrossOrigin @Operation(summary = "Update PNC beneficiary examination data in doctor screen") @PostMapping(value = { "/update/examinationScreen" }) public String updateGeneralOPDExaminationNurse(@RequestBody String requestObj) { @@ -435,7 +416,6 @@ public String updateGeneralOPDExaminationNurse(@RequestBody String requestObj) { return response.toString(); } - @CrossOrigin @Operation(summary = "Update PNC doctor data") @PostMapping(value = { "/update/doctorData" }) public String updatePNCDoctorData(@RequestBody String requestObj, @@ -459,8 +439,9 @@ public String updatePNCDoctorData(@RequestBody String requestObj, return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java b/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java index 34aaad0a..5b672df5 100644 --- a/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java +++ b/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java @@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -44,16 +44,14 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - /** * @Objective Saving general OPD quick consult data for Nurse and Doctor both. */ -@CrossOrigin @RestController @RequestMapping(value = "/genOPD-QC-quickConsult", headers = "Authorization", consumes = "application/json", produces = "application/json") public class QuickConsultController { private Logger logger = LoggerFactory.getLogger(QuickConsultController.class); - + private QuickConsultationServiceImpl quickConsultationServiceImpl; @Autowired @@ -70,7 +68,6 @@ public void setQuickConsultationServiceImpl(QuickConsultationServiceImpl quickCo * Beneficiary Vital and Anthropometry Detail Object and pushed to * Database table */ - @CrossOrigin @Operation(summary = "Save quick consult nurse data") @PostMapping(value = { "/save/nurseData" }) public String saveBenQuickConsultDataNurse(@RequestBody String requestObj) { @@ -103,8 +100,6 @@ public String saveBenQuickConsultDataNurse(@RequestBody String requestObj) { * @return success or failure response * @objective Save beneficiary data for doctor quick consult - QC. */ - - @CrossOrigin @Operation(summary = "Save quick consultation detail for doctor") @PostMapping(value = { "/save/doctorData" }) public String saveQuickConsultationDetail( @@ -142,7 +137,6 @@ public String saveQuickConsultationDetail( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get quick consult beneficiary visit details") @PostMapping(value = { "/getBenDataFrmNurseToDocVisitDetailsScreen" }) public String getBenDataFrmNurseScrnToDocScrnVisitDetails( @@ -173,8 +167,6 @@ public String getBenDataFrmNurseScrnToDocScrnVisitDetails( * @ApiParam benRegID and benVisitID * @return visit details in JSON format */ - - @CrossOrigin() @Operation(summary = "Get quick consult beneficiary vital details") @PostMapping(value = { "/getBenVitalDetailsFrmNurse" }) public String getBenVitalDetailsFrmNurse( @@ -206,7 +198,6 @@ public String getBenVitalDetailsFrmNurse( * @ApiParam benRegID and benVisitID * @return visit details in JSON format */ - @CrossOrigin() @Operation(summary = "Get quick consult beneficiary case record") @PostMapping(value = { "/getBenCaseRecordFromDoctorQuickConsult" }) @Transactional(rollbackFor = Exception.class) @@ -234,14 +225,13 @@ public String getBenCaseRecordFromDoctorQuickConsult( return response.toString(); } - @CrossOrigin @Operation(summary = "Update quick consult doctor data") @PostMapping(value = { "/update/doctorData" }) public String updateGeneralOPDQCDoctorData(@RequestBody String requestObj, @RequestHeader(value = "Authorization") String authorization) { OutputResponse response = new OutputResponse(); - + try { WrapperQuickConsultation wrapperQuickConsultation = InputMapper.gson().fromJson(requestObj, WrapperQuickConsultation.class); @@ -263,8 +253,9 @@ public String updateGeneralOPDQCDoctorData(@RequestBody String requestObj, return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java b/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java index 7a0c3de1..2dd41621 100644 --- a/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java +++ b/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java @@ -29,7 +29,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -51,7 +51,6 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; -@CrossOrigin @RestController @RequestMapping(value = "/registrar", headers = "Authorization", consumes = "application/json", produces = "application/json") /** @@ -81,7 +80,6 @@ public void setNurseServiceImpl(NurseServiceImpl nurseServiceImpl) { this.nurseServiceImpl = nurseServiceImpl; } - @CrossOrigin() @Operation(summary = "Get registrar worklist data") @PostMapping(value = { "/registrarWorkListData" }) public String getRegistrarWorkList(@ApiParam(value = "{\"spID\": \"Integer\"}") @RequestBody String comingRequest) @@ -100,7 +98,6 @@ public String getRegistrarWorkList(@ApiParam(value = "{\"spID\": \"Integer\"}") return response.toString(); } - @CrossOrigin() @Operation(summary = "Search for the beneficiary by beneficiary id") @PostMapping(value = { "/quickSearch" }) public String quickSearchBeneficiary( @@ -119,7 +116,6 @@ public String quickSearchBeneficiary( return response.toString(); } - @CrossOrigin() @Operation(summary = "Search for the beneficiary based on provided data") @PostMapping(value = { "/advanceSearch" }) public String advanceSearch( @@ -140,7 +136,6 @@ public String advanceSearch( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary details of given beneficiary registration id") @PostMapping(value = { "/get/benDetailsByRegID" }) public String getBenDetailsByRegID( @@ -170,7 +165,6 @@ public String getBenDetailsByRegID( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary details") @PostMapping(value = { "/get/beneficiaryDetails" }) public String getBeneficiaryDetails( @@ -205,7 +199,6 @@ public String getBeneficiaryDetails( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary image") @PostMapping(value = { "/get/beneficiaryImage" }) public String getBeneficiaryImage( @@ -226,12 +219,11 @@ public String getBeneficiaryImage( } logger.info("getBeneficiaryDetails response :" + response); } catch (Exception e) { - logger.error("Error caused by {} ",e.getMessage()); + logger.error("Error caused by {} ", e.getMessage()); } return response.toString(); } - @CrossOrigin() @Operation(summary = "Search beneficiary for beneficiary id or beneficiary phone no") @PostMapping(value = { "/quickSearchNew" }) public String quickSearchNew(@RequestBody String requestObj, @@ -254,7 +246,6 @@ public String quickSearchNew(@RequestBody String requestObj, } - @CrossOrigin() @Operation(summary = "Search beneficiary advance search new") @PostMapping(value = { "/advanceSearchNew" }) public String advanceSearchNew(@RequestBody String requestObj, @@ -277,7 +268,6 @@ public String advanceSearchNew(@RequestBody String requestObj, } - @CrossOrigin() @Operation(summary = "Get beneficiary details for left side panel of given beneficiary registration id") @PostMapping(value = { "/get/benDetailsByRegIDForLeftPanelNew" }) public String getBenDetailsForLeftSidePanelByRegID( @@ -308,7 +298,6 @@ public String getBenDetailsForLeftSidePanelByRegID( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary image") @PostMapping(value = { "/getBenImage" }) public String getBenImage(@RequestBody String requestObj, @@ -324,7 +313,6 @@ public String getBenImage(@RequestBody String requestObj, } - @CrossOrigin() @Operation(summary = "Register a new beneficiary") @PostMapping(value = { "/registrarBeneficaryRegistration" }) public String createBeneficiary( @@ -387,7 +375,6 @@ public String createBeneficiary( return response.toString(); } - @CrossOrigin() @Operation(summary = "Register a new beneficiary API") @PostMapping(value = { "/registrarBeneficaryRegistrationNew" }) public String registrarBeneficaryRegistrationNew(@RequestBody String comingReq, @@ -405,7 +392,6 @@ public String registrarBeneficaryRegistrationNew(@RequestBody String comingReq, } - @CrossOrigin() @Operation(summary = "Update registered beneficiary data") @PostMapping(value = { "/update/BeneficiaryDetails" }) public String updateBeneficiary( @@ -508,7 +494,6 @@ public String beneficiaryUpdate(@RequestBody String requestOBJ, return response.toString(); } - @CrossOrigin() @Operation(summary = "Get master data for registrar") @PostMapping(value = { "/registrarMasterData" }) public String masterDataForRegistration( diff --git a/src/main/java/com/iemr/mmu/controller/reports/ReportGateway.java b/src/main/java/com/iemr/mmu/controller/reports/ReportGateway.java index ad8e32df..074625ec 100644 --- a/src/main/java/com/iemr/mmu/controller/reports/ReportGateway.java +++ b/src/main/java/com/iemr/mmu/controller/reports/ReportGateway.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -39,8 +39,6 @@ import io.swagger.v3.oas.annotations.Operation; - -@CrossOrigin @RestController @RequestMapping(value = "/report", headers = "Authorization") public class ReportGateway { @@ -49,7 +47,6 @@ public class ReportGateway { @Autowired private ReportCheckPostImpl reportCheckPostImpl; - @CrossOrigin() @Operation(summary = "Get report") @PostMapping(value = { "/getReport" }, consumes = "application/json", produces = "application/json") public String getReportByReportID(@RequestBody String requestOBJ) { @@ -71,7 +68,6 @@ public String getReportByReportID(@RequestBody String requestOBJ) { @Autowired private ReportCheckPostImplNew reportCheckPostImplNew; - @CrossOrigin() @Operation(summary = "Get report by report id") @PostMapping(value = { "/getReportNew" }, consumes = "application/json", produces = "application/json") public String getReportByReportID1(@RequestBody String requestOBJ) { @@ -90,9 +86,9 @@ public String getReportByReportID1(@RequestBody String requestOBJ) { return response.toStringWithSerialization(); } - @CrossOrigin() @Operation(summary = "Get report master") - @GetMapping(value = { "/getReportMaster/{serviceID}" }, consumes = "application/json", produces = "application/json") + @GetMapping(value = { + "/getReportMaster/{serviceID}" }, consumes = "application/json", produces = "application/json") public String getReportMaster(@PathVariable("serviceID") Integer serviceID) { OutputResponse response = new OutputResponse(); try { diff --git a/src/main/java/com/iemr/mmu/controller/snomedct/SnomedController.java b/src/main/java/com/iemr/mmu/controller/snomedct/SnomedController.java index 91f690a6..8b79db37 100644 --- a/src/main/java/com/iemr/mmu/controller/snomedct/SnomedController.java +++ b/src/main/java/com/iemr/mmu/controller/snomedct/SnomedController.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -39,7 +39,6 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; - @RequestMapping(value = "/snomed") @RestController public class SnomedController { @@ -52,7 +51,6 @@ public void setSnomedService(SnomedService snomedService) { this.snomedService = snomedService; } - @CrossOrigin @Operation(summary = "Retrives Snomed CT record") @PostMapping(value = "/getSnomedCTRecord", consumes = "application/json", produces = "application/json", headers = "Authorization") public String getSnomedCTRecord(@ApiParam(value = "{\"term\":\"String\"}") @RequestBody String request) { @@ -78,7 +76,6 @@ public String getSnomedCTRecord(@ApiParam(value = "{\"term\":\"String\"}") @Requ return output.toString(); } - @CrossOrigin @Operation(summary = "Retrives Snomed CT record list") @PostMapping(value = "/getSnomedCTRecordList", consumes = "application/json", produces = "application/json", headers = "Authorization") public String getSnomedCTRecordList(@ApiParam(value = "{\"term\":\"String\"}") @RequestBody String request) { diff --git a/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java b/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java index c2bad771..0642fb4b 100644 --- a/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java +++ b/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java @@ -24,7 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; + import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -43,11 +43,10 @@ @RequestMapping(value = "/tc", headers = "Authorization", consumes = "application/json", produces = "application/json") public class TeleConsultationController { private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); - + @Autowired private TeleConsultationServiceImpl teleConsultationServiceImpl; - @CrossOrigin @Operation(summary = "Update beneficiary arrival status based on request") @PostMapping(value = { "/update/benArrivalStatus" }) public String benArrivalStatusUpdater(@RequestBody String requestOBJ) { @@ -68,7 +67,6 @@ public String benArrivalStatusUpdater(@RequestBody String requestOBJ) { return response.toString(); } - @CrossOrigin @Operation(summary = "Update beneficiary status based on request") @PostMapping(value = { "/cancel/benTCRequest" }) public String updateBeneficiaryStatusToCancelTCRequest(@RequestBody String requestOBJ, @@ -91,7 +89,6 @@ public String updateBeneficiaryStatusToCancelTCRequest(@RequestBody String reque return response.toString(); } - @CrossOrigin @Operation(summary = "Check if specialist can proceed with beneficiary") @PostMapping(value = { "/check/benTCRequestStatus" }) public String checkBeneficiaryStatusToProceedWithSpecialist(@RequestBody String requestOBJ) { @@ -112,7 +109,6 @@ public String checkBeneficiaryStatusToProceedWithSpecialist(@RequestBody String return response.toString(); } - @CrossOrigin @Operation(summary = "Create TC request for beneficiary whose visit is created") @PostMapping(value = { "/create/benTCRequestWithVisitCode" }) public String createTCRequestForBeneficiary(@RequestBody String requestOBJ, @RequestHeader String Authorization) { @@ -135,7 +131,6 @@ public String createTCRequestForBeneficiary(@RequestBody String requestOBJ, @Req return response.toString(); } - @CrossOrigin @Operation(summary = "Get TC request list for a specialist") @PostMapping(value = { "/getTCRequestList" }) public String getTCSpecialistWorkListNew(@RequestBody String requestOBJ) { @@ -161,8 +156,9 @@ public String getTCSpecialistWorkListNew(@RequestBody String requestOBJ) { } return response.toString(); } + private JsonObject parseJsonRequest(String requestObj) { - JsonElement jsonElement = JsonParser.parseString(requestObj); - return jsonElement.getAsJsonObject(); - } + JsonElement jsonElement = JsonParser.parseString(requestObj); + return jsonElement.getAsJsonObject(); + } } diff --git a/src/main/java/com/iemr/mmu/utils/FilterConfig.java b/src/main/java/com/iemr/mmu/utils/FilterConfig.java index a4481828..ae1f1641 100644 --- a/src/main/java/com/iemr/mmu/utils/FilterConfig.java +++ b/src/main/java/com/iemr/mmu/utils/FilterConfig.java @@ -3,17 +3,26 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.beans.factory.annotation.Value; @Configuration public class FilterConfig { + @Value("${cors.allowed-origins}") + private String allowedOrigins; + @Bean public FilterRegistrationBean jwtUserIdValidationFilter( JwtAuthenticationUtil jwtAuthenticationUtil) { FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); - registrationBean.setFilter(new JwtUserIdValidationFilter(jwtAuthenticationUtil)); + + // Pass allowedOrigins explicitly to the filter constructor + JwtUserIdValidationFilter filter = new JwtUserIdValidationFilter(jwtAuthenticationUtil, allowedOrigins); + + registrationBean.setFilter(filter); + registrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE); registrationBean.addUrlPatterns("/*"); // Apply filter to all API endpoints return registrationBean; } - } diff --git a/src/main/java/com/iemr/mmu/utils/JwtUserIdValidationFilter.java b/src/main/java/com/iemr/mmu/utils/JwtUserIdValidationFilter.java index b12307ff..1dba0e78 100644 --- a/src/main/java/com/iemr/mmu/utils/JwtUserIdValidationFilter.java +++ b/src/main/java/com/iemr/mmu/utils/JwtUserIdValidationFilter.java @@ -1,6 +1,7 @@ package com.iemr.mmu.utils; import java.io.IOException; +import java.util.Arrays; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,14 +18,16 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -@Component public class JwtUserIdValidationFilter implements Filter { private final JwtAuthenticationUtil jwtAuthenticationUtil; private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); + private final String allowedOrigins; - public JwtUserIdValidationFilter(JwtAuthenticationUtil jwtAuthenticationUtil) { + public JwtUserIdValidationFilter(JwtAuthenticationUtil jwtAuthenticationUtil, + String allowedOrigins) { this.jwtAuthenticationUtil = jwtAuthenticationUtil; + this.allowedOrigins = allowedOrigins; } @Override @@ -33,6 +36,27 @@ public void doFilter(ServletRequest servletRequest, ServletResponse servletRespo HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; + String origin = request.getHeader("Origin"); + + logger.debug("Incoming Origin: {}", origin); + logger.debug("Allowed Origins Configured: {}", allowedOrigins); + + if (origin != null && isOriginAllowed(origin)) { + response.setHeader("Access-Control-Allow-Origin", origin); + response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); + response.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type, Accept, Jwttoken"); + response.setHeader("Vary", "Origin"); + response.setHeader("Access-Control-Allow-Credentials", "true"); + } else { + logger.warn("Origin [{}] is NOT allowed. CORS headers NOT added.", origin); + } + + if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { + logger.info("OPTIONS request - skipping JWT validation"); + response.setStatus(HttpServletResponse.SC_OK); + return; + } + String path = request.getRequestURI(); String contextPath = request.getContextPath(); logger.info("JwtUserIdValidationFilter invoked for path: " + path); @@ -108,12 +132,33 @@ public void doFilter(ServletRequest servletRequest, ServletResponse servletRespo response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Authorization error: " + e.getMessage()); } } + + private boolean isOriginAllowed(String origin) { + if (origin == null || allowedOrigins == null || allowedOrigins.trim().isEmpty()) { + logger.warn("No allowed origins configured or origin is null"); + return false; + } + + return Arrays.stream(allowedOrigins.split(",")) + .map(String::trim) + .anyMatch(pattern -> { + String regex = pattern + .replace(".", "\\.") + .replace("*", ".*") + .replace("http://localhost:.*", "http://localhost:\\d+"); // special case for wildcard port + + boolean matched = origin.matches(regex); + return matched; + }); + } + private boolean isMobileClient(String userAgent) { if (userAgent == null) return false; userAgent = userAgent.toLowerCase(); return userAgent.contains("okhttp"); // iOS (custom clients) } + private String getJwtTokenFromCookies(HttpServletRequest request) { Cookie[] cookies = request.getCookies(); if (cookies != null) {