diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..f99697fa --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# --- Stage 1: Build the application using Maven --- +FROM maven:3.9.6-eclipse-temurin-17 AS build + +WORKDIR /app + +COPY . . + +# Build the application while caching Maven dependencies to speed up future builds +RUN --mount=type=cache,target=/root/.m2 \ + mvn clean package -DENV_VAR=docker -DskipTests -Dgit.skip=true + +# --- Stage 2: Run the application with a minimal JRE image --- +FROM eclipse-temurin:17-jre + +WORKDIR /app + +# Copy the built WAR file from the build stage +COPY --from=build /app/target/*.war app.war + +EXPOSE 8080 + +ENTRYPOINT ["java", "-jar", "app.war"] diff --git a/pom.xml b/pom.xml index 5a083ba5..70859837 100644 --- a/pom.xml +++ b/pom.xml @@ -44,21 +44,21 @@ org.springframework.boot spring-boot-starter-aop + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-logging + + + co.elastic.logging logback-ecs-encoder 1.3.2 - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - slf4j-simple - ${slf4j.version} - org.springdoc @@ -425,6 +425,18 @@ + + org.springframework.boot + spring-boot-maven-plugin + 3.2.2 + + + + repackage + + + + diff --git a/src/main/environment/common_ci.properties b/src/main/environment/common_ci.properties index 714e33d8..bf1291f8 100644 --- a/src/main/environment/common_ci.properties +++ b/src/main/environment/common_ci.properties @@ -74,7 +74,7 @@ serverFolder=MMUSync getServerCredentialURL=@env.MMU_API@fileSyncController/getServerCredential tmReferCheckValue=TM ### Redis IP -spring.redis.host=localhost +spring.redis.host=@env.REDIS_HOST@ jwt.secret=@env.JWT_SECRET_KEY@ @@ -85,3 +85,5 @@ 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@ + +cors.allowed-origins=@env.CORS_ALLOWED_ORIGINS@ \ No newline at end of file diff --git a/src/main/environment/common_docker.properties b/src/main/environment/common_docker.properties new file mode 100644 index 00000000..b9faf6ad --- /dev/null +++ b/src/main/environment/common_docker.properties @@ -0,0 +1,87 @@ +# local env +# DB Connections +spring.datasource.url=${DATABASE_URL} +spring.datasource.username=${DATABASE_USERNAME} +spring.datasource.password=${DATABASE_PASSWORD} +spring.datasource.driver-class-name=com.mysql.jdbc.Driver + +## Carestream URLs, local +carestreamOrderCreateURL=${COMMON_API}carestream/createOrder + +## Identity - Common URLs +# Registration +registrationUrl =${COMMON_API}beneficiary/createBeneficiary + +registrarQuickSearchByIdUrl =${COMMON_API}beneficiary/searchUserByID + +registrarQuickSearchByPhoneNoUrl =${COMMON_API}beneficiary/searchUserByPhone + +getBenImageFromIdentity =${IDENTITY_API_BASE_URL}id/benImageByBenRegID + +beneficiaryEditUrl =${COMMON_API}beneficiary/updateBenefciaryDetails + +registrarAdvanceSearchUrl =${COMMON_API}beneficiary/searchBeneficiary + +## Data Sync API, central +dataSyncUploadUrl=${MMU_CENTRAL_SERVER}dataSync/van-to-server + +## Data download API, central +dataSyncDownloadUrl=${MMU_CENTRAL_SERVER}dataSync/server-to-van + +## TC specialist slot booking, # not required +tcSpecialistSlotBook=${TM_API}schedule/bookSlot + +## TC specialist slot cancelling, # not required +tcSpecialistSlotCancel=${TM_API}schedule/cancelBookedSlot + +## benGenUrl, common, central +benGenUrlCentral=${COMMON_API_OPEN_SYNC}beneficiary/generateBeneficiaryIDs + +## benImportUrl, identity, local +benImportUrlLocal=${IDENTITY_API_BASE_URL}id/saveGeneratedBenIDToLocalServer +mmucentralserver = ${MMU_CENTRAL_SERVER}common/get/Case-sheet/centralServerTMCaseSheet + +tmCentralServer = ${TM_CENTRAL_SERVER}common/get/Case-sheet/printData + +specialistSign=${COMMON_API}signature1/getSignClass + +## inventory transaction download URL, central, mmu +dataSyncTransactionDownloadUrl=${MMU_CENTRAL_SERVER}dataSync/server-to-van-transactional + +## inventory transaction processed flag update URL, central, mmu +dataSyncProcessedFlagUpdate=${MMU_CENTRAL_SERVER}dataSync/updateProcessedFlagPostDownload + + +fileBasePath =${MMU_FILE_BASE_PATH} + +## data sync batch size +BATCH_SIZE=30 +snomedCTPageSize=10 +nurseWL=7 +docWL=7 +pharmaWL=7 +labWL=7 +radioWL=7 +oncoWL=7 + +## For File Sync +serverIP=${FILE_SYNC_SERVER_IP} +serverDomain=${FILE_SYNC_SERVER_DOMAIN} +serverUserName=${FILE_SYNC_SERVER_USERNAME} +serverPassword=${FILE_SYNC_SERVER_PASSWORD} +localFolderToSync=${LOCAL_FOLDER_TO_SYNC} +serverFolder=MMUSync +getServerCredentialURL=${MMU_API}fileSyncController/getServerCredential +tmReferCheckValue=TM +### Redis IP +spring.redis.host=${REDIS_HOST} + +jwt.secret=${JWT_SECRET_KEY} + + +#ELK logging file name +logging.path=logs +logging.file.name=${MMU_API_LOGGING_FILE_NAME} + +springdoc.api-docs.enabled=${SWAGGER_DOC_ENABLED} +springdoc.swagger-ui.enabled=${SWAGGER_DOC_ENABLED} \ 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..5f08fa9d 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; @@ -38,13 +38,14 @@ import com.iemr.mmu.service.dataSyncActivity.DownloadDataFromServerTransactionalImpl; import com.iemr.mmu.service.dataSyncActivity.UploadDataToServerImpl; import com.iemr.mmu.utils.response.OutputResponse; +import com.iemr.mmu.utils.CookieUtil; import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; /*** * @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,22 +60,23 @@ 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, @RequestHeader(value = "Authorization") String authorization, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader(value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + JSONObject obj = new JSONObject(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"); + serverAuthorization, jwtToken); + // 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 +87,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,18 +107,21 @@ 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, @RequestHeader(value = "Authorization") String authorization, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader (value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + + JSONObject obj = new JSONObject(requestOBJ); if (obj.has("vanID") && obj.get("vanID") != null && obj.has(PROVIDER_SERVICE_MAP_ID) && obj.get(PROVIDER_SERVICE_MAP_ID) != null) { - String s = downloadDataFromServerImpl.downloadMasterDataFromServer(serverAuthorization, + String s = downloadDataFromServerImpl.downloadMasterDataFromServer(serverAuthorization,jwtToken, obj.getInt("vanID"), obj.getInt(PROVIDER_SERVICE_MAP_ID)); if (s != null) { if (s.equalsIgnoreCase("inProgress")) @@ -139,7 +143,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 +156,6 @@ public String checkMastersDownloadProgress() { return response.toString(); } - @CrossOrigin() @Operation(summary = "Get van details for master download") @GetMapping(value = { "/getVanDetailsForMasterDownload" }) public String getVanDetailsForMasterDownload() { @@ -171,16 +173,16 @@ 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, @RequestHeader(value = "Authorization") String authorization, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader(value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); int i = downloadDataFromServerImpl.callCentralAPIToGenerateBenIDAndimportToLocal(requestOBJ, authorization, - serverAuthorization); + serverAuthorization, jwtToken); if (i == 0) { response.setError(5000, "Error while generating UNIQUE_ID at central server"); } else { @@ -196,17 +198,17 @@ 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, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader(value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); JSONObject obj = new JSONObject(requestOBJ); if (obj.has("vanID") && obj.get("vanID") != null) { int i = downloadDataFromServerTransactionalImpl.downloadTransactionalData(obj.getInt("vanID"), - serverAuthorization); + serverAuthorization, jwtToken); if (i > 0) response.setResponse("Success"); 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..89261c5b 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; @@ -45,13 +45,14 @@ import com.iemr.mmu.service.common.transaction.CommonNurseServiceImpl; import com.iemr.mmu.service.nurse.NurseServiceImpl; import com.iemr.mmu.service.registrar.RegistrarServiceImpl; +import com.iemr.mmu.utils.CookieUtil; import com.iemr.mmu.utils.mapper.InputMapper; import com.iemr.mmu.utils.response.OutputResponse; import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; -@CrossOrigin @RestController @RequestMapping(value = "/registrar", headers = "Authorization", consumes = "application/json", produces = "application/json") /** @@ -81,7 +82,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 +100,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 +118,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 +138,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 +167,6 @@ public String getBenDetailsByRegID( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary details") @PostMapping(value = { "/get/beneficiaryDetails" }) public String getBeneficiaryDetails( @@ -205,7 +201,6 @@ public String getBeneficiaryDetails( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary image") @PostMapping(value = { "/get/beneficiaryImage" }) public String getBeneficiaryImage( @@ -226,20 +221,20 @@ 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, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { String searchList = null; OutputResponse response = new OutputResponse(); try { - searchList = registrarServiceImpl.beneficiaryQuickSearch(requestObj, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + searchList = registrarServiceImpl.beneficiaryQuickSearch(requestObj, authorization, jwtToken); if (searchList == null) { response.setError(5000, "Invalid request"); return response.toString(); @@ -254,15 +249,15 @@ public String quickSearchNew(@RequestBody String requestObj, } - @CrossOrigin() @Operation(summary = "Search beneficiary advance search new") @PostMapping(value = { "/advanceSearchNew" }) public String advanceSearchNew(@RequestBody String requestObj, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { String searchList = null; OutputResponse response = new OutputResponse(); try { - searchList = registrarServiceImpl.beneficiaryAdvanceSearch(requestObj, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + searchList = registrarServiceImpl.beneficiaryAdvanceSearch(requestObj, authorization, jwtToken); if (searchList == null) { response.setError(5000, "Invalid request"); return response.toString(); @@ -277,7 +272,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,14 +302,15 @@ public String getBenDetailsForLeftSidePanelByRegID( return response.toString(); } - @CrossOrigin() @Operation(summary = "Get beneficiary image") @PostMapping(value = { "/getBenImage" }) public String getBenImage(@RequestBody String requestObj, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { - return registrarServiceMasterDataImpl.getBenImageFromIdentityAPI(authorization, requestObj); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + + return registrarServiceMasterDataImpl.getBenImageFromIdentityAPI(authorization, requestObj, jwtToken); } catch (Exception e) { logger.error("Error ben image fetch" + e); response.setError(5000, "Error while getting beneficiary image"); @@ -324,7 +319,6 @@ public String getBenImage(@RequestBody String requestObj, } - @CrossOrigin() @Operation(summary = "Register a new beneficiary") @PostMapping(value = { "/registrarBeneficaryRegistration" }) public String createBeneficiary( @@ -387,15 +381,15 @@ public String createBeneficiary( return response.toString(); } - @CrossOrigin() @Operation(summary = "Register a new beneficiary API") @PostMapping(value = { "/registrarBeneficaryRegistrationNew" }) public String registrarBeneficaryRegistrationNew(@RequestBody String comingReq, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { String s; OutputResponse response = new OutputResponse(); try { - s = registrarServiceImpl.registerBeneficiary(comingReq, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + s = registrarServiceImpl.registerBeneficiary(comingReq, authorization, jwtToken); return s; } catch (Exception e) { logger.error("Error in registration" + e); @@ -405,7 +399,6 @@ public String registrarBeneficaryRegistrationNew(@RequestBody String comingReq, } - @CrossOrigin() @Operation(summary = "Update registered beneficiary data") @PostMapping(value = { "/update/BeneficiaryDetails" }) public String updateBeneficiary( @@ -488,11 +481,12 @@ public String createReVisitForBenToNurse(@RequestBody String requestOBJ) { @Operation(summary = "Beneficiary edit, save or submit") @PostMapping(value = { "/update/BeneficiaryUpdate" }) public String beneficiaryUpdate(@RequestBody String requestOBJ, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); Integer s = null; try { - s = registrarServiceImpl.updateBeneficiary(requestOBJ, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + s = registrarServiceImpl.updateBeneficiary(requestOBJ, authorization, jwtToken); if (s != null) { if (s == 1) response.setResponse("Beneficiary details updated successfully"); @@ -508,7 +502,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..d85158b5 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; @@ -35,19 +35,20 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.iemr.mmu.service.tele_consultation.TeleConsultationServiceImpl; +import com.iemr.mmu.utils.CookieUtil; import com.iemr.mmu.utils.response.OutputResponse; import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; @RestController @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,15 +69,16 @@ 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, - @RequestHeader String Authorization) { + @RequestHeader String Authorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + if (requestOBJ != null) { - int i = teleConsultationServiceImpl.updateBeneficiaryStatusToCancelTCRequest(requestOBJ, Authorization); + int i = teleConsultationServiceImpl.updateBeneficiaryStatusToCancelTCRequest(requestOBJ, Authorization, jwtToken); if (i > 0) response.setResponse("Beneficiary TC request cancelled successfully."); else @@ -91,7 +93,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 +113,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 +135,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 +160,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/service/cancerScreening/CSCarestreamServiceImpl.java b/src/main/java/com/iemr/mmu/service/cancerScreening/CSCarestreamServiceImpl.java index 30165fea..494c2649 100644 --- a/src/main/java/com/iemr/mmu/service/cancerScreening/CSCarestreamServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/cancerScreening/CSCarestreamServiceImpl.java @@ -64,7 +64,7 @@ public int createMamographyRequest(ArrayList benDataForCareStream, lon RestTemplate restTemplate = new RestTemplate(); try { String requestOBJ = getOrderCreationRequestOBJ(benDataForCareStream, benRegID, benVisitID); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization, ""); // System.out.println("hello"); ResponseEntity response = restTemplate.exchange(carestreamOrderCreateURL, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java b/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java index e1b9d417..9812a2a5 100644 --- a/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java @@ -222,10 +222,10 @@ public String getBenDetailsForLeftSideByRegIDNew(Long beneficiaryRegID, Long ben return new Gson().toJson(returnBenFlowOBJ); } - public String getBenImageFromIdentityAPI(String Authorization, String comingRequest) throws Exception { + public String getBenImageFromIdentityAPI(String Authorization, String comingRequest, String token) throws Exception { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization, token); ResponseEntity response = restTemplate.exchange(getBenImageFromIdentity, HttpMethod.POST, request, String.class); // if() diff --git a/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java b/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java index 6c6c5e76..e986e374 100644 --- a/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java @@ -907,7 +907,7 @@ public int callTmForSpecialistSlotBook(TcSpecialistSlotBookingRequestOBJ tcSpeci String requestOBJ = OutputMapper.gson().toJson(tcSpecialistSlotBookingRequestOBJ); RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization,""); ResponseEntity response = restTemplate.exchange(tcSpecialistSlotBook, HttpMethod.POST, request, String.class); // System.out.println(response.getBody()); diff --git a/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java b/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java index 021d747a..3c962bc1 100644 --- a/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java @@ -650,7 +650,7 @@ public ArrayList getTmCaseSheet(BeneficiaryFlowStatus TmBenFlowOBJ, Bene headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); // get TM case sheet by passing TM details - ResponseEntity response = restTemplatePost(tmCentralServer, Authorization, new Gson().toJson(tmReqObj)); + ResponseEntity response = restTemplatePost(tmCentralServer, Authorization, new Gson().toJson(tmReqObj), jwtTokenFromCookie); if (response.getStatusCodeValue() == 200 & response.hasBody()) { JsonObject jsnOBJ = getJsonObj(response); @@ -666,7 +666,7 @@ public ArrayList getTmCaseSheet(BeneficiaryFlowStatus TmBenFlowOBJ, Bene int specialistUserID = jsnOBJ.getAsJsonObject("data").getAsJsonObject("BeneficiaryData") .get("tCSpecialistUserID").getAsInt(); ResponseEntity responseSign = restTemplateGet(specialistSign + "/" + specialistUserID, - Authorization); + Authorization, jwtTokenFromCookie); JsonObject signJsonResponse = getJsonObj(responseSign); if (signJsonResponse.get("statusCode").getAsLong() == 200) { // adding sign response to array @@ -719,7 +719,7 @@ public String getCaseSheetFromCentralServer(String mmuBenFlowReq, String authCen MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); - ResponseEntity response = restTemplatePost(mmuCentralServer, authCentralServer, mmuBenFlowReq); + ResponseEntity response = restTemplatePost(mmuCentralServer, authCentralServer, mmuBenFlowReq, jwtTokenFromCookie); if (response.getStatusCodeValue() == 200 & response.hasBody()) { @@ -822,16 +822,16 @@ public String getCaseSheetOfTm(String mmuBenFlowReq, String authCentralServer) t } - public ResponseEntity restTemplatePost(String URL, String authorization, String reqObj) { + public ResponseEntity restTemplatePost(String URL, String authorization, String reqObj, String token) { RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(reqObj, authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(reqObj, authorization, token); ResponseEntity response = restTemplate.exchange(URL, HttpMethod.POST, request, String.class); return response; } - public ResponseEntity restTemplateGet(String URL, String authorization) { + public ResponseEntity restTemplateGet(String URL, String authorization, String token) { RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity("", authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity("", authorization, token); ResponseEntity response = restTemplate.exchange(URL, HttpMethod.GET, request, String.class); return response; } diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java index 1924f28a..252c9ce7 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java @@ -58,76 +58,76 @@ import jakarta.servlet.http.HttpServletRequest; -@Service -@PropertySource("classpath:application.properties") -public class DownloadDataFromServerImpl implements DownloadDataFromServer { - private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); - // rest URLs from server to download master data for van - @Value("${dataSyncDownloadUrl}") - private String dataSyncDownloadUrl; - @Autowired - private SyncDownloadMasterRepo syncDownloadMasterRepo; - @Autowired - private DataSyncRepository dataSyncRepository; - @Autowired - private TempVanRepo tempVanRepo; - @Autowired - private CookieUtil cookieUtil; - - // ben gen URL - @Value("${benGenUrlCentral}") - private String benGenUrlCentral; - - // ben import URL - @Value("${benImportUrlLocal}") - private String benImportUrlLocal; - - private static int progressCounter = 0; - private static int totalCounter = 0; - private static StringBuilder failedMasters; - - -// private static int successCounter; - private static int failedCounter; -// private static int downloadProgress; - - - /** - * - * @return - * @throws Exception - * Masters download in van from central server - */ - public String downloadMasterDataFromServer(String ServerAuthorization, Integer vanID, Integer psmID) - throws Exception { - - if (totalCounter != progressCounter) { - return "inProgress"; - } - - String successFlag = " Master download started "; - - ArrayList downloadMasterList = syncDownloadMasterRepo.getDownloadTables(); - - totalCounter = downloadMasterList.size(); - progressCounter = 0; - - failedMasters = new StringBuilder(); -// successCounter = 0; - failedCounter = 0; - - final ExecutorService threadPool = Executors.newFixedThreadPool(3); - threadPool.submit(new Callable() { - @Override - public String call() { - - if (downloadMasterList != null && downloadMasterList.size() > 0) { - for (SyncDownloadMaster table : downloadMasterList) { - try { - table.setVanID(vanID); - table.setProviderServiceMapID(psmID); - - int i = downloadDataFromServer(table, ServerAuthorization); + @Service + @PropertySource("classpath:application.properties") + public class DownloadDataFromServerImpl implements DownloadDataFromServer { + private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); + // rest URLs from server to download master data for van + @Value("${dataSyncDownloadUrl}") + private String dataSyncDownloadUrl; + @Autowired + private SyncDownloadMasterRepo syncDownloadMasterRepo; + @Autowired + private DataSyncRepository dataSyncRepository; + @Autowired + private TempVanRepo tempVanRepo; + @Autowired + private CookieUtil cookieUtil; + + // ben gen URL + @Value("${benGenUrlCentral}") + private String benGenUrlCentral; + + // ben import URL + @Value("${benImportUrlLocal}") + private String benImportUrlLocal; + + private static int progressCounter = 0; + private static int totalCounter = 0; + private static StringBuilder failedMasters; + + + // private static int successCounter; + private static int failedCounter; + // private static int downloadProgress; + + + /** + * + * @return + * @throws Exception + * Masters download in van from central server + */ + public String downloadMasterDataFromServer(String ServerAuthorization, String jwtToken, Integer vanID, Integer psmID) + throws Exception { + + if (totalCounter != progressCounter) { + return "inProgress"; + } + + String successFlag = " Master download started "; + + ArrayList downloadMasterList = syncDownloadMasterRepo.getDownloadTables(); + + totalCounter = downloadMasterList.size(); + progressCounter = 0; + + failedMasters = new StringBuilder(); + // successCounter = 0; + failedCounter = 0; + + final ExecutorService threadPool = Executors.newFixedThreadPool(3); + threadPool.submit(new Callable() { + @Override + public String call() { + + if (downloadMasterList != null && downloadMasterList.size() > 0) { + for (SyncDownloadMaster table : downloadMasterList) { + try { + table.setVanID(vanID); + table.setProviderServiceMapID(psmID); + + int i = downloadDataFromServer(table, ServerAuthorization, jwtToken); if (i > 0) { // successCounter++; } else { @@ -149,49 +149,49 @@ public String call() { return "Master download completed"; } - }); - - // if (downloadMasterList != null && downloadMasterList.size() > 0) { - // for (SyncDownloadMaster table : downloadMasterList) { - // try { - // table.setVanID(vanID); - // table.setProviderServiceMapID(psmID); - // - // int i = downloadDataFromServer(table, ServerAuthorization); - // if (i > 0) { - // successCounter++; - // } else { - // failedCounter++; - // failedMasters.append(table.getTableName() + " | "); - // logger.error("Download failed for " + table.getSchemaName() + "." + - // table.getTableName()); - // } - // } catch (Exception e) { - // failedCounter++; - // failedMasters.append(table.getTableName() + " | "); - // logger.error("Download failed for " + table.getSchemaName() + "." + - // table.getTableName() - // + ". Exception : " + e); - // } - // - // progressCounter++; - // } - // } - return successFlag; - } - - private int downloadDataFromServer(SyncDownloadMaster syncDownloadMaster, String ServerAuthorization) - throws Exception { - int successFlag = 0; - - // initializing RestTemplate - RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(syncDownloadMaster, ServerAuthorization); - // Call rest-template to call API to download master data for given table - ResponseEntity response = restTemplate.exchange(dataSyncDownloadUrl, HttpMethod.POST, request, - String.class); + }); + + // if (downloadMasterList != null && downloadMasterList.size() > 0) { + // for (SyncDownloadMaster table : downloadMasterList) { + // try { + // table.setVanID(vanID); + // table.setProviderServiceMapID(psmID); + // + // int i = downloadDataFromServer(table, ServerAuthorization); + // if (i > 0) { + // successCounter++; + // } else { + // failedCounter++; + // failedMasters.append(table.getTableName() + " | "); + // logger.error("Download failed for " + table.getSchemaName() + "." + + // table.getTableName()); + // } + // } catch (Exception e) { + // failedCounter++; + // failedMasters.append(table.getTableName() + " | "); + // logger.error("Download failed for " + table.getSchemaName() + "." + + // table.getTableName() + // + ". Exception : " + e); + // } + // + // progressCounter++; + // } + // } + return successFlag; + } - // Check if API call is success + private int downloadDataFromServer(SyncDownloadMaster syncDownloadMaster,String ServerAuthorization, String jwtToken) + throws Exception { + int successFlag = 0; + // initializing RestTemplate + RestTemplate restTemplate = new RestTemplate(); + // Provide the required second argument, e.g., an empty string or appropriate authorization token + HttpEntity request = RestTemplateUtil.createRequestEntity(syncDownloadMaster, ServerAuthorization, jwtToken); + // Call rest-template to call API to download master data for given table + ResponseEntity response = restTemplate.exchange(dataSyncDownloadUrl, HttpMethod.POST, request, + String.class); + + // Check if API call is success if (response != null && response.hasBody()) { JSONObject obj = new JSONObject(response.getBody()); if (obj != null && obj.has("data") && obj.has("statusCode") && obj.getInt("statusCode") == 200) { @@ -329,11 +329,11 @@ public Map getDownloadStatus() { public int callCentralAPIToGenerateBenIDAndimportToLocal(String requestOBJ, String Authorization, - String ServerAuthorization) throws Exception { + String ServerAuthorization, String token) throws Exception { int i = 0; // Rest template RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization,token); // Call rest-template to call central API to generate UNIQUE ID at central ResponseEntity response = restTemplate.exchange(benGenUrlCentral, HttpMethod.POST, request, String.class); @@ -342,7 +342,7 @@ public int callCentralAPIToGenerateBenIDAndimportToLocal(String requestOBJ, Stri JSONObject obj = new JSONObject(response.getBody()); if (obj != null && obj.has("data") && obj.has("statusCode") && obj.getInt("statusCode") == 200) { // Consume the response from API and call local identity api to save data - HttpEntity request1 = RestTemplateUtil.createRequestEntity(obj.get("data").toString(), Authorization); + HttpEntity request1 = RestTemplateUtil.createRequestEntity(obj.get("data").toString(), Authorization, token); i = 1; // Call rest-template to call central API to generate UNIQUE ID at central ResponseEntity response1 = restTemplate.exchange(benImportUrlLocal, HttpMethod.POST, request1, @@ -355,9 +355,9 @@ public int callCentralAPIToGenerateBenIDAndimportToLocal(String requestOBJ, Stri } } + } } - } - return i; + return i; + } } -} diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java index 0620716b..ee3c39a5 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java @@ -82,12 +82,12 @@ public class DownloadDataFromServerTransactionalImpl implements DownloadDataFrom @Autowired private CookieUtil cookieUtil; - public int downloadTransactionalData(int vanID, String ServerAuthorization) throws Exception { + public int downloadTransactionalData(int vanID, String ServerAuthorization, String token) throws Exception { JSONObject obj; for (int i = 0; i < 5; i++) { switch (i) { case 0: { - obj = downloadDataFromCentral("db_iemr", "t_indent", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_indent", vanID, ServerAuthorization, token); List ids = new ArrayList(); Indent[] indentArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), Indent[].class, 1); List indentList = Arrays.asList(indentArr); @@ -109,13 +109,13 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro } indentRepo.saveAll(indentList); - int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indent", ids, ServerAuthorization); + int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indent", ids, ServerAuthorization, token); } break; } case 1: { - obj = downloadDataFromCentral("db_iemr", "t_indentorder", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_indentorder", vanID, ServerAuthorization, token); List ids = new ArrayList(); IndentOrder[] indentOrderArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), IndentOrder[].class, 1); @@ -136,12 +136,12 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro indentOrder.setProcessed("P"); } indentOrderRepo.saveAll(indentOrderList); - int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentorder", ids, ServerAuthorization); + int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentorder", ids, ServerAuthorization, token); } break; } case 2: { - obj = downloadDataFromCentral("db_iemr", "t_indentissue", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_indentissue", vanID, ServerAuthorization, token); List ids = new ArrayList(); IndentIssue[] indentIssueArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), IndentIssue[].class, 1); @@ -164,12 +164,12 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro } indentIssueRepo.saveAll(indentIssueList); - int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentissue", ids, ServerAuthorization); + int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentissue", ids, ServerAuthorization, token); } break; } case 3: { - obj = downloadDataFromCentral("db_iemr", "t_stocktransfer", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_stocktransfer", vanID, ServerAuthorization, token); List ids = new ArrayList(); T_StockTransfer[] stockTransferArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), T_StockTransfer[].class, 1); @@ -192,12 +192,12 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro stockTransferRepo.saveAll(stockTransferList); int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_stocktransfer", ids, - ServerAuthorization); + ServerAuthorization, token); } break; } case 4: { - obj = downloadDataFromCentral("db_iemr", "t_itemstockentry", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_itemstockentry", vanID, ServerAuthorization, token); List ids = new ArrayList(); ItemStockEntry[] itemStockEntryArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), ItemStockEntry[].class, 1); @@ -220,7 +220,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro itemStockEntryRepo.saveAll(itemStockEntryList); int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_itemstockentry", ids, - ServerAuthorization); + ServerAuthorization, token); } break; } @@ -235,7 +235,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro } private JSONObject downloadDataFromCentral(String schemaName, String tableName, int vanID, - String ServerAuthorization) throws Exception { + String ServerAuthorization, String token) throws Exception { Integer facilityID = masterVanRepo.getFacilityID(vanID); if (facilityID != null) { @@ -244,7 +244,7 @@ private JSONObject downloadDataFromCentral(String schemaName, String tableName, SyncUploadDataDigester syncUploadDataDigester = new SyncUploadDataDigester(schemaName, tableName, facilityID); - HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization, token); // Call rest-template to call API to download master data for given table ResponseEntity response = restTemplate.exchange(dataSyncTransactionDownloadUrl, HttpMethod.POST, request, String.class); @@ -262,13 +262,13 @@ private JSONObject downloadDataFromCentral(String schemaName, String tableName, } private int updateProcessedFlagToCentral(String schemaName, String tableName, List ids, - String ServerAuthorization) throws Exception { + String ServerAuthorization, String token) throws Exception { int result = 0; RestTemplate restTemplate = new RestTemplate(); SyncUploadDataDigester syncUploadDataDigester = new SyncUploadDataDigester(schemaName, tableName, ids); - HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization, token); // Call rest-template to call API to download master data for given table ResponseEntity response = restTemplate.exchange(dataSyncProcessedFlagUpdate, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java index e2977155..b65fe6e5 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java @@ -99,10 +99,10 @@ public class UploadDataToServerImpl implements UploadDataToServer { */ // @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = { // Exception.class }) - public String getDataToSyncToServer(int vanID, String user, String Authorization) throws Exception { + public String getDataToSyncToServer(int vanID, String user, String Authorization, String token) throws Exception { String syncData = null; - syncData = syncIntercepter(vanID, user, Authorization); + syncData = syncIntercepter(vanID, user, Authorization, token); return syncData; } @@ -112,10 +112,11 @@ public String getDataToSyncToServer(int vanID, String user, String Authorization * @param Authorization * @return */ - public String syncIntercepter(int vanID, String user, String Authorization) throws Exception { + public String syncIntercepter(int vanID, String user, String Authorization, String token) throws Exception { // sync activity trigger - String serverAcknowledgement = startDataSync(vanID, user, Authorization); + + String serverAcknowledgement = startDataSync(vanID, user, Authorization, token); return serverAcknowledgement; } @@ -127,7 +128,7 @@ public String syncIntercepter(int vanID, String user, String Authorization) thro * @return */ - private String startDataSync(int vanID, String user, String Authorization) throws Exception { + private String startDataSync(int vanID, String user, String Authorization, String token) throws Exception { String serverAcknowledgement = null; List> responseStatus = new ArrayList<>(); boolean isProgress = false; @@ -167,7 +168,7 @@ private String startDataSync(int vanID, String user, String Authorization) throw BATCH_SIZE); serverAcknowledgement = syncDataToServer(vanID, obj.getSchemaName(), obj.getTableName(), obj.getVanAutoIncColumnName(), obj.getServerColumnName(), syncDataBatch, user, - Authorization); + Authorization, token); logger.debug("Server acknowledgement for batch {}: {}", i, serverAcknowledgement); if (serverAcknowledgement == null || !serverAcknowledgement.contains("success")) { @@ -186,8 +187,7 @@ private String startDataSync(int vanID, String user, String Authorization) throw remainder); serverAcknowledgement = syncDataToServer(vanID, obj.getSchemaName(), obj.getTableName(), obj.getVanAutoIncColumnName(), obj.getServerColumnName(), syncDataBatch, user, - Authorization); - logger.debug("Server acknowledgement for remaining data: {}", serverAcknowledgement); + Authorization, token); if (serverAcknowledgement == null || !serverAcknowledgement.contains("success")) { logger.error("Sync failed for remaining data in schema: {}, table: {}", obj.getSchemaName(), @@ -226,16 +226,13 @@ private String startDataSync(int vanID, String user, String Authorization) throw Map response = new HashMap<>(); response.put("response", "Data sync failed"); response.put("groupsProgress", responseStatus); - logger.debug("Final response: {}", - objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(response)); + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(response); return objectMapper.writerWithDefaultPrettyPrinter() .writeValueAsString(Collections.singletonMap("data", response)); } else { if ("No data to sync".equals(serverAcknowledgement)) { - logger.info("No data to sync across all groups."); return serverAcknowledgement; } else { - logger.info("Data successfully synced across all groups."); return "Data successfully synced"; } } @@ -343,12 +340,11 @@ private List> getBatchOfAskedSizeDataToSync(List> dataToBesync, String user, String Authorization) + String serverColumns, List> dataToBesync, String user, String Authorization, String token) throws Exception { logger.debug( "Entering syncDataToServer with vanID: {}, schemaName: '{}', tableName: '{}', vanAutoIncColumnName: '{}', serverColumns: '{}', user: '{}'", vanID, schemaName, tableName, vanAutoIncColumnName, serverColumns, user); - RestTemplate restTemplate = new RestTemplate(); @@ -371,9 +367,8 @@ public String syncDataToServer(int vanID, String schemaName, String tableName, S dataMap.put("facilityID", facilityID); String requestOBJ = gson.toJson(dataMap); - logger.debug("Serialized request object: {}", requestOBJ); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization,token); logger.info("Before Data sync upload Url" + dataSyncUploadUrl); ResponseEntity response = restTemplate.exchange(dataSyncUploadUrl, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java index b1d097be..fd2d06e4 100644 --- a/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java @@ -692,7 +692,7 @@ public BeneficiaryData getBeneficiaryPersonalDetails(Long benRegID) { } // New beneficiary registration with common and identity - public String registerBeneficiary(String comingRequest, String Authorization) throws Exception { + public String registerBeneficiary(String comingRequest, String Authorization, String token) throws Exception { OutputResponse response1 = new OutputResponse(); Long beneficiaryRegID = null; @@ -700,7 +700,7 @@ public String registerBeneficiary(String comingRequest, String Authorization) th RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization, token); ResponseEntity response = restTemplate.exchange(registrationUrl, HttpMethod.POST, request, String.class); if (response.getStatusCodeValue() == 200 & response.hasBody()) { @@ -709,7 +709,6 @@ public String registerBeneficiary(String comingRequest, String Authorization) th beneficiaryRegID = responseOBJ.getJSONObject("data").getLong("beneficiaryRegID"); beneficiaryID = responseOBJ.getJSONObject("data").getLong("beneficiaryID"); // System.out.println("hello"); - int i = commonBenStatusFlowServiceImpl.createBenFlowRecord(comingRequest, beneficiaryRegID, beneficiaryID); if (i > 0) { if (i == 1) @@ -724,11 +723,11 @@ public String registerBeneficiary(String comingRequest, String Authorization) th } // New beneficiary update api - public Integer updateBeneficiary(String comingRequest, String Authorization) throws Exception { + public Integer updateBeneficiary(String comingRequest, String Authorization, String token) throws Exception { Integer returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization, token); ResponseEntity response = restTemplate.exchange(beneficiaryEditUrl, HttpMethod.POST, request, String.class); @@ -744,11 +743,11 @@ public Integer updateBeneficiary(String comingRequest, String Authorization) thr } // beneficiary quick search new integrated with common and identity - public String beneficiaryQuickSearch(String requestObj, String Authorization) { + public String beneficiaryQuickSearch(String requestObj, String Authorization, String token) { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); JSONObject obj = new JSONObject(requestObj); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization, token); if (obj.has("beneficiaryID") && !obj.isNull("beneficiaryID")) { ResponseEntity response = restTemplate.exchange(registrarQuickSearchByIdUrl, HttpMethod.POST, request, String.class); @@ -768,10 +767,10 @@ public String beneficiaryQuickSearch(String requestObj, String Authorization) { } // beneficiary advance search new integrated with common and identity - public String beneficiaryAdvanceSearch(String requestObj, String Authorization) { + public String beneficiaryAdvanceSearch(String requestObj, String Authorization, String token) { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization, token); ResponseEntity response = restTemplate.exchange(registrarAdvanceSearchUrl, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java b/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java index 831729cc..84f923ec 100644 --- a/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java @@ -129,7 +129,7 @@ public int updateBeneficiaryArrivalStatus(String requestOBJ) throws Exception { } @Transactional(rollbackFor = Exception.class) - public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Authorization) throws Exception { + public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Authorization, String token) throws Exception { int resultFlag = 0; JsonObject requestJson = new JsonObject(); JsonParser jsnParser = new JsonParser(); @@ -143,7 +143,7 @@ public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Au && !requestJson.get("userID").isJsonNull()) { int i = cancelSlotForTCCancel(requestJson.get("userID").getAsInt(), requestJson.get("benRegID").getAsLong(), - requestJson.get("visitCode").getAsLong(), Authorization); + requestJson.get("visitCode").getAsLong(), Authorization, token); int j = beneficiaryFlowStatusRepo.updateBeneficiaryStatusToCancelRequest( requestJson.get("benflowID").getAsLong(), requestJson.get("benRegID").getAsLong(), @@ -165,7 +165,7 @@ public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Au return resultFlag; } - public int cancelSlotForTCCancel(int userID, long benRegID, long visitCode, String Authorization) throws Exception { + public int cancelSlotForTCCancel(int userID, long benRegID, long visitCode, String Authorization, String token) throws Exception { String fromTime = ""; Long duration = null; int returnOBJ = 0; @@ -197,7 +197,7 @@ public int cancelSlotForTCCancel(int userID, long benRegID, long visitCode, Stri String requestOBJ = OutputMapper.gson().toJson(obj); RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization, token); ResponseEntity response = restTemplate.exchange(tcSpecialistSlotCancel, HttpMethod.POST, request, String.class); 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) { diff --git a/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java b/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java index 6e048869..cf07391c 100644 --- a/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java +++ b/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java @@ -9,42 +9,39 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; - import jakarta.servlet.http.HttpServletRequest; public class RestTemplateUtil { private final static Logger logger = LoggerFactory.getLogger(RestTemplateUtil.class); - public static HttpEntity createRequestEntity(Object body, String authorization) { - - ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()); - if (servletRequestAttributes == null) { - MultiValueMap headers = new LinkedMultiValueMap<>(); - headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8"); - headers.add(HttpHeaders.AUTHORIZATION, authorization); - return new HttpEntity<>(body, headers); - } - HttpServletRequest requestHeader = servletRequestAttributes.getRequest(); - String jwtTokenFromCookie = null; - try { - jwtTokenFromCookie = CookieUtil.getJwtTokenFromCookie(requestHeader); - - } catch (Exception e) { - logger.error("Error while getting jwtToken from Cookie" + e.getMessage() ); - } + public static HttpEntity createRequestEntity(Object body, String authorization, String jwtToken) { + MultiValueMap headers = new LinkedMultiValueMap<>(); + + headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8"); - MultiValueMap headers = new LinkedMultiValueMap<>(); - headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8"); - if(null != UserAgentContext.getUserAgent()) { - headers.add(HttpHeaders.USER_AGENT, UserAgentContext.getUserAgent()); - } - headers.add(HttpHeaders.AUTHORIZATION, authorization); - headers.add("JwtToken",requestHeader.getHeader("JwtToken")); - if(null != jwtTokenFromCookie) { - headers.add(HttpHeaders.COOKIE, "Jwttoken=" + jwtTokenFromCookie); + if (authorization != null && !authorization.isEmpty()) { + headers.add(HttpHeaders.AUTHORIZATION, "Bearer " + authorization); + } + + if (jwtToken == null || jwtToken.isEmpty()) { + ServletRequestAttributes attrs = + (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attrs != null) { + HttpServletRequest request = attrs.getRequest(); + try { + jwtToken = CookieUtil.getJwtTokenFromCookie(request); + } catch (Exception e) { + logger.error("Error while getting JWT token from cookie: {}", e.getMessage()); + } + } } - return new HttpEntity<>(body, headers); + + if (jwtToken != null && !jwtToken.isEmpty()) { + headers.add(HttpHeaders.COOKIE, "Jwttoken=" + jwtToken); } + + return new HttpEntity<>(body, headers); +} } \ No newline at end of file