Skip to content

Commit c0cb22e

Browse files
indraniBanIN40068837
andauthored
401 unauthorized issue resolved (#116)
* 401 unauthorized issue resolved * Update package.yml --------- Co-authored-by: IN40068837 <IN40068837@L-156289031.wipro.com>
1 parent 8dc8ba5 commit c0cb22e

8 files changed

Lines changed: 168 additions & 84 deletions

File tree

.github/workflows/package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
run: mvn -B package --file pom.xml
3737

3838
- name: Upload WAR file as artifact
39-
uses: actions/upload-artifact@v3
39+
uses: actions/upload-artifact@v4
4040
with:
4141
name: HWC-API
4242
path: target/hwc-facility-service.war
Lines changed: 52 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.iemr.hwc.fhir.service.immunization;
22

3-
43
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
54
import com.google.gson.GsonBuilder;
65
import com.google.gson.JsonObject;
@@ -10,6 +9,8 @@
109
import com.iemr.hwc.fhir.model.immunization.ImmunizationExt;
1110
import com.iemr.hwc.fhir.utils.mapper.MapperUtils;
1211
import com.iemr.hwc.fhir.utils.validation.ImmunizationValidation;
12+
import com.iemr.hwc.utils.CookieUtil;
13+
1314
import org.mapstruct.factory.Mappers;
1415
import org.slf4j.Logger;
1516
import org.slf4j.LoggerFactory;
@@ -22,59 +23,73 @@
2223
import org.springframework.util.LinkedMultiValueMap;
2324
import org.springframework.util.MultiValueMap;
2425
import org.springframework.web.client.RestTemplate;
26+
import org.springframework.web.context.request.RequestContextHolder;
27+
import org.springframework.web.context.request.ServletRequestAttributes;
28+
2529
import jakarta.servlet.http.HttpServletRequest;
2630
import jakarta.ws.rs.core.MediaType;
2731

2832
@Service
29-
public class ImmunizationServiceImpl implements ImmunizationService{
33+
public class ImmunizationServiceImpl implements ImmunizationService {
3034

31-
public MapperUtils mapper = Mappers.getMapper(MapperUtils.class);
35+
public MapperUtils mapper = Mappers.getMapper(MapperUtils.class);
3236

33-
@Value("${saveCovidVaccineDetailsURL}")
34-
private String saveCovidVaccineDetailsURL;
37+
@Value("${saveCovidVaccineDetailsURL}")
38+
private String saveCovidVaccineDetailsURL;
3539

36-
@Autowired
37-
private ImmunizationValidation validation;
40+
@Autowired
41+
private ImmunizationValidation validation;
42+
@Autowired
43+
private CookieUtil cookieUtil;
3844

39-
Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
45+
Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
4046

41-
@Override
42-
public ImmunizationExt addOrUpdateImmunization(HttpServletRequest theRequest, ImmunizationExt immunizationExt) throws Exception{
43-
//Validating the resource for mandatory fields
44-
validation.immunizationResourceValidator(immunizationExt);
47+
@Override
48+
public ImmunizationExt addOrUpdateImmunization(HttpServletRequest theRequest, ImmunizationExt immunizationExt)
49+
throws Exception {
50+
// Validating the resource for mandatory fields
51+
validation.immunizationResourceValidator(immunizationExt);
4552

46-
//Todo - Currently implemented considering benRegID coming in payload in 'patient'.
47-
MandatoryFieldsDTO mandatoryFieldsDTO = mapper.immunizationResourceToMandatoryFieldsDTO(immunizationExt);
53+
// Todo - Currently implemented considering benRegID coming in payload in
54+
// 'patient'.
55+
MandatoryFieldsDTO mandatoryFieldsDTO = mapper.immunizationResourceToMandatoryFieldsDTO(immunizationExt);
4856

49-
CovidVaccineStatusDTO covidVaccineStatusDTO = mapper.immunizationResourceToCovidVaccineStatusDTO(immunizationExt, mandatoryFieldsDTO);
57+
CovidVaccineStatusDTO covidVaccineStatusDTO = mapper
58+
.immunizationResourceToCovidVaccineStatusDTO(immunizationExt, mandatoryFieldsDTO);
5059

51-
String covidVaccineStatus = new GsonBuilder().serializeNulls().create().toJson(covidVaccineStatusDTO);
60+
String covidVaccineStatus = new GsonBuilder().serializeNulls().create().toJson(covidVaccineStatusDTO);
5261

53-
RestTemplate restTemplate = new RestTemplate();
54-
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
55-
headers.add("Content-Type", MediaType.APPLICATION_JSON + ";charset=utf-8");
56-
headers.add("AUTHORIZATION", theRequest.getHeader("Authorization"));
57-
HttpEntity<Object> request = new HttpEntity<Object>(covidVaccineStatus, headers);
58-
ResponseEntity<String> response = restTemplate.exchange(saveCovidVaccineDetailsURL, HttpMethod.POST, request,
59-
String.class);
62+
RestTemplate restTemplate = new RestTemplate();
63+
HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
64+
.getRequest();
65+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader);
66+
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
67+
headers.add("Content-Type", MediaType.APPLICATION_JSON + ";charset=utf-8");
68+
headers.add("AUTHORIZATION", theRequest.getHeader("Authorization"));
69+
headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie);
70+
HttpEntity<Object> request = new HttpEntity<Object>(covidVaccineStatus, headers);
71+
ResponseEntity<String> response = restTemplate.exchange(saveCovidVaccineDetailsURL, HttpMethod.POST, request,
72+
String.class);
6073

61-
String responseStr = response.getBody();
62-
JsonObject responseJson = new JsonParser().parse(responseStr).getAsJsonObject();
74+
String responseStr = response.getBody();
75+
JsonObject responseJson = new JsonParser().parse(responseStr).getAsJsonObject();
6376

64-
String covidVSID = "";
65-
if (response.getStatusCodeValue() == 200 && response.hasBody()
66-
&& responseJson.get("statusCode").getAsInt() == 200) {
77+
String covidVSID = "";
78+
if (response.getStatusCodeValue() == 200 && response.hasBody()
79+
&& responseJson.get("statusCode").getAsInt() == 200) {
6780

68-
covidVSID = responseJson.getAsJsonObject("data").get("covidVSID").getAsString();
81+
covidVSID = responseJson.getAsJsonObject("data").get("covidVSID").getAsString();
6982

70-
}
71-
else {
72-
logger.error("Encountered error while trying to save/update covid vaccine details.Error - " + responseJson.get("errorMessage"));
73-
throw new InternalErrorException("Encountered error while trying to save/update covid vaccine details.Error - " + responseJson.get("errorMessage"));
74-
}
83+
} else {
84+
logger.error("Encountered error while trying to save/update covid vaccine details.Error - "
85+
+ responseJson.get("errorMessage"));
86+
throw new InternalErrorException(
87+
"Encountered error while trying to save/update covid vaccine details.Error - "
88+
+ responseJson.get("errorMessage"));
89+
}
7590

76-
immunizationExt.setId(covidVSID);
91+
immunizationExt.setId(covidVSID);
7792

78-
return immunizationExt;
79-
}
93+
return immunizationExt;
94+
}
8095
}

src/main/java/com/iemr/hwc/service/cancerScreening/CSCarestreamServiceImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.json.JSONObject;
3030
import org.slf4j.Logger;
3131
import org.slf4j.LoggerFactory;
32+
import org.springframework.beans.factory.annotation.Autowired;
3233
import org.springframework.beans.factory.annotation.Value;
3334
import org.springframework.context.annotation.PropertySource;
3435
import org.springframework.http.HttpEntity;
@@ -38,8 +39,13 @@
3839
import org.springframework.util.LinkedMultiValueMap;
3940
import org.springframework.util.MultiValueMap;
4041
import org.springframework.web.client.RestTemplate;
42+
import org.springframework.web.context.request.RequestContextHolder;
43+
import org.springframework.web.context.request.ServletRequestAttributes;
4144

4245
import com.google.gson.Gson;
46+
import com.iemr.hwc.utils.CookieUtil;
47+
48+
import jakarta.servlet.http.HttpServletRequest;
4349

4450
@Service
4551
public class CSCarestreamServiceImpl implements CSCarestreamService {
@@ -48,17 +54,23 @@ public class CSCarestreamServiceImpl implements CSCarestreamService {
4854

4955
@Value("${carestreamOrderCreateURL}")
5056
private String carestreamOrderCreateURL;
57+
@Autowired
58+
private CookieUtil cookieUtil;
5159

5260
@Override
5361
public int createMamographyRequest(ArrayList<Object[]> benDataForCareStream, long benRegID, long benVisitID,
5462
String Authorization) {
5563
int responseData = 0;
5664
RestTemplate restTemplate = new RestTemplate();
65+
HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
66+
.getRequest();
67+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader);
5768
try {
5869
// HttpHeaders headers = new HttpHeaders();
5970
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
6071
headers.add("Content-Type", "application/json");
6172
headers.add("AUTHORIZATION", Authorization);
73+
headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie);
6274
String requestOBJ = getOrderCreationRequestOBJ(benDataForCareStream, benRegID, benVisitID);
6375

6476
HttpEntity<Object> request = new HttpEntity<Object>(requestOBJ, headers);

src/main/java/com/iemr/hwc/service/common/transaction/CommonDoctorServiceImpl.java

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
import org.springframework.util.LinkedMultiValueMap;
4343
import org.springframework.util.MultiValueMap;
4444
import org.springframework.web.client.RestTemplate;
45+
import org.springframework.web.context.request.RequestContextHolder;
46+
import org.springframework.web.context.request.ServletRequestAttributes;
4547

4648
import com.google.gson.Gson;
4749
import com.google.gson.JsonElement;
@@ -78,10 +80,13 @@
7880
import com.iemr.hwc.service.benFlowStatus.CommonBenStatusFlowServiceImpl;
7981
import com.iemr.hwc.service.snomedct.SnomedServiceImpl;
8082
import com.iemr.hwc.service.tele_consultation.SMSGatewayServiceImpl;
83+
import com.iemr.hwc.utils.CookieUtil;
8184
import com.iemr.hwc.utils.exception.IEMRException;
8285
import com.iemr.hwc.utils.mapper.InputMapper;
8386
import com.iemr.hwc.utils.mapper.OutputMapper;
8487

88+
import jakarta.servlet.http.HttpServletRequest;
89+
8590
@Service
8691
@PropertySource("classpath:application.properties")
8792
public class CommonDoctorServiceImpl {
@@ -118,6 +123,8 @@ public class CommonDoctorServiceImpl {
118123
private SMSGatewayServiceImpl sMSGatewayServiceImpl;
119124
@Autowired
120125
private FoetalMonitorRepo foetalMonitorRepo;
126+
@Autowired
127+
private CookieUtil cookieUtil;
121128

122129
@Autowired
123130
public void setSnomedServiceImpl(SnomedServiceImpl snomedServiceImpl) {
@@ -353,7 +360,7 @@ private ArrayList<BenChiefComplaint> getBenChiefComplaint(WrapperAncFindings wra
353360
benChiefComplaint.setCreatedBy(wrapperAncFindings.getCreatedBy());
354361

355362
if (null != complaintsDetails.getChiefComplaintID()) {
356-
363+
357364
benChiefComplaint.setChiefComplaintID(complaintsDetails.getChiefComplaintID());
358365
}
359366
if (null != complaintsDetails.getChiefComplaint())
@@ -406,7 +413,6 @@ else if (serviceID != null && serviceID == 9) {
406413
public String getDocWorkListNewFutureScheduledForTM(Integer providerServiceMapId, Integer serviceID,
407414
Integer vanID) {
408415

409-
410416
ArrayList<BeneficiaryFlowStatus> docWorkListFutureScheduled = new ArrayList<>();
411417
if (serviceID != null && serviceID == 9) {
412418
docWorkListFutureScheduled = beneficiaryFlowStatusRepo
@@ -543,8 +549,6 @@ public String getPrescribedDrugs(Long beneficiaryRegID, Long visitCode) {
543549
return new Gson().toJson(prescribedDrugs);
544550
}
545551

546-
547-
548552
public String getReferralDetails(Long beneficiaryRegID, Long visitCode, Boolean rrList) {
549553
ArrayList<BenReferDetails> resList = benReferDetailsRepo.findByBeneficiaryRegIDAndVisitCode(beneficiaryRegID,
550554
visitCode);
@@ -717,7 +721,8 @@ public int updateBenFlowtableAfterDocDataSave(CommonUtilityClass commonUtilityCl
717721

718722
if (commonUtilityClass != null && commonUtilityClass.getVisitCategoryID() != null
719723
&& commonUtilityClass.getVisitCategoryID() == 9) {
720-
ArrayList<FoetalMonitor> foetalMonitorData = foetalMonitorRepo.getFoetalMonitorDetailsByFlowId(tmpBenFlowID);
724+
ArrayList<FoetalMonitor> foetalMonitorData = foetalMonitorRepo
725+
.getFoetalMonitorDetailsByFlowId(tmpBenFlowID);
721726
if (foetalMonitorData.size() > 0) {
722727
labTechnicianFlag = 3;
723728
for (FoetalMonitor data : foetalMonitorData) {
@@ -771,7 +776,6 @@ public int updateBenFlowtableAfterDocDataSave(CommonUtilityClass commonUtilityCl
771776

772777
int i = 0;
773778

774-
775779
if (commonUtilityClass != null && commonUtilityClass.getIsSpecialist() != null
776780
&& commonUtilityClass.getIsSpecialist() == true) {
777781
i = commonBenStatusFlowServiceImpl.updateBenFlowAfterDocDataFromSpecialist(tmpBenFlowID,
@@ -856,7 +860,8 @@ public int updateBenFlowtableAfterDocDataUpdate(CommonUtilityClass commonUtility
856860

857861
if (commonUtilityClass != null && commonUtilityClass.getVisitCategoryID() != null
858862
&& commonUtilityClass.getVisitCategoryID() == 9) {
859-
ArrayList<FoetalMonitor> foetalMonitorData = foetalMonitorRepo.getFoetalMonitorDetailsByFlowId(tmpBenFlowID);
863+
ArrayList<FoetalMonitor> foetalMonitorData = foetalMonitorRepo
864+
.getFoetalMonitorDetailsByFlowId(tmpBenFlowID);
860865
if (foetalMonitorData.size() > 0) {
861866
labTechnicianFlag = 3;
862867
for (FoetalMonitor data : foetalMonitorData) {
@@ -951,7 +956,6 @@ public int updateBenFlowtableAfterDocDataUpdate(CommonUtilityClass commonUtility
951956
return i;
952957
}
953958

954-
955959
public String deletePrescribedMedicine(JSONObject obj) {
956960
int i = 0;
957961
if (obj != null && obj.has("id")) {
@@ -971,9 +975,13 @@ public int callTmForSpecialistSlotBook(TcSpecialistSlotBookingRequestOBJ tcSpeci
971975
String requestOBJ = OutputMapper.gson().toJson(tcSpecialistSlotBookingRequestOBJ);
972976

973977
RestTemplate restTemplate = new RestTemplate();
978+
HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
979+
.getRequest();
980+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader);
974981
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
975982
headers.add("Content-Type", "application/json");
976983
headers.add("AUTHORIZATION", Authorization);
984+
headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie);
977985
HttpEntity<Object> request = new HttpEntity<Object>(requestOBJ, headers);
978986
ResponseEntity<String> response = restTemplate.exchange(tcSpecialistSlotBook, HttpMethod.POST, request,
979987
String.class);
@@ -1029,8 +1037,8 @@ public void createTMPrescriptionSms(CommonUtilityClass commonUtilityClass) throw
10291037

10301038
public String getFoetalMonitorData(Long beneFiciaryRegID, Long visitCode) {
10311039

1032-
ArrayList<FoetalMonitor> foetalMonitorData = foetalMonitorRepo.getFoetalMonitorDetailsForCaseRecord(beneFiciaryRegID,
1033-
visitCode);
1040+
ArrayList<FoetalMonitor> foetalMonitorData = foetalMonitorRepo
1041+
.getFoetalMonitorDetailsForCaseRecord(beneFiciaryRegID, visitCode);
10341042

10351043
return new Gson().toJson(foetalMonitorData);
10361044

src/main/java/com/iemr/hwc/service/common/transaction/CommonServiceImpl.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
import org.springframework.util.LinkedMultiValueMap;
3838
import org.springframework.util.MultiValueMap;
3939
import org.springframework.web.client.RestTemplate;
40+
import org.springframework.web.context.request.RequestContextHolder;
41+
import org.springframework.web.context.request.ServletRequestAttributes;
4042

4143
import com.google.gson.Gson;
4244
import com.google.gson.JsonObject;
@@ -65,9 +67,12 @@
6567
import com.iemr.hwc.service.pnc.PNCServiceImpl;
6668
import com.iemr.hwc.service.quickConsultation.QuickConsultationServiceImpl;
6769
import com.iemr.hwc.service.tele_consultation.TeleConsultationServiceImpl;
70+
import com.iemr.hwc.utils.CookieUtil;
6871
import com.iemr.hwc.utils.exception.IEMRException;
6972
import com.iemr.hwc.utils.mapper.InputMapper;
7073

74+
import jakarta.servlet.http.HttpServletRequest;
75+
7176
@Service
7277
@PropertySource("classpath:application.properties")
7378
public class CommonServiceImpl implements CommonService {
@@ -96,7 +101,9 @@ public class CommonServiceImpl implements CommonService {
96101
private ProviderServiceMappingRepo providerServiceMappingRepo;
97102

98103
@Autowired
99-
private BenVisitDetailRepo benVisitDetailRepo;
104+
private BenVisitDetailRepo benVisitDetailRepo;
105+
@Autowired
106+
private CookieUtil cookieUtil;
100107

101108
@Autowired
102109
public void setCsServiceImpl(CSServiceImpl csServiceImpl) {
@@ -411,11 +418,11 @@ private String getNCDScreening_PrintData(BeneficiaryFlowStatus benFlowOBJ) throw
411418

412419
private String getBenDetails(Long benFlowID, Long benRegID) {
413420
BeneficiaryFlowStatus obj = beneficiaryFlowStatusRepo.getBenDetailsForLeftSidePanel(benFlowID);
414-
if(obj != null && obj.getVisitCode() != null) {
415-
BeneficiaryVisitDetail visitDetail = benVisitDetailRepo.getSubVisitCategory(benRegID, obj.getVisitCode());
416-
417-
if (visitDetail != null && visitDetail.getSubVisitCategory() != null)
418-
obj.setSubVisitCategory(visitDetail.getSubVisitCategory());
421+
if (obj != null && obj.getVisitCode() != null) {
422+
BeneficiaryVisitDetail visitDetail = benVisitDetailRepo.getSubVisitCategory(benRegID, obj.getVisitCode());
423+
424+
if (visitDetail != null && visitDetail.getSubVisitCategory() != null)
425+
obj.setSubVisitCategory(visitDetail.getSubVisitCategory());
419426
}
420427

421428
// BeneficiaryFlowStatus obj =
@@ -425,7 +432,7 @@ private String getBenDetails(Long benFlowID, Long benRegID) {
425432
// if (tcspID != null && tcspID > 0) {
426433
// obj.settCSpecialistUserID(tcspID);
427434
// }
428-
435+
429436
return new Gson().toJson(obj);
430437
}
431438

@@ -628,6 +635,9 @@ public TeleconsultationRequestOBJ createTcRequest(JsonObject requestOBJ, CommonU
628635

629636
public String getOpenKMDocURL(String requestOBJ, String Authorization) {
630637
RestTemplate restTemplate = new RestTemplate();
638+
HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
639+
.getRequest();
640+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader);
631641
String fileUUID = null;
632642
JSONObject obj = new JSONObject(requestOBJ);
633643
if (obj.has("fileID")) {
@@ -640,6 +650,7 @@ public String getOpenKMDocURL(String requestOBJ, String Authorization) {
640650
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
641651
headers.add("Content-Type", "application/json");
642652
headers.add("AUTHORIZATION", Authorization);
653+
headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie);
643654
HttpEntity<Object> request = new HttpEntity<Object>(requestBody, headers);
644655
ResponseEntity<String> response = restTemplate.exchange(openkmDocUrl, HttpMethod.POST, request,
645656
String.class);

0 commit comments

Comments
 (0)