Skip to content

Commit 8ef6d2d

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

6 files changed

Lines changed: 133 additions & 54 deletions

File tree

.github/workflows/package.yml

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

3737
- name: Upload WAR file as artifact
38-
uses: actions/upload-artifact@v3
38+
uses: actions/upload-artifact@v4
3939
with:
4040
name: Helpline104-API
4141
path: target/104api-v1.0.war

src/main/java/com/iemr/helpline104/service/IMRMMR/IMRMMRServiceImpl.java

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@
4545
import org.springframework.http.HttpMethod;
4646
import org.springframework.http.MediaType;
4747
import org.springframework.stereotype.Service;
48+
import org.springframework.util.LinkedMultiValueMap;
49+
import org.springframework.util.MultiValueMap;
4850
import org.springframework.web.client.RestTemplate;
51+
import org.springframework.web.context.request.RequestContextHolder;
52+
import org.springframework.web.context.request.ServletRequestAttributes;
4953

5054
import com.google.gson.Gson;
5155
import com.google.gson.JsonElement;
@@ -62,8 +66,11 @@
6266
import com.iemr.helpline104.repository.nodalOfficer.NodalOficerRepo;
6367
import com.iemr.helpline104.reposotory.IMRMMR.IMRMMRRepository;
6468
import com.iemr.helpline104.sms.SmsRequestOBJ;
69+
import com.iemr.helpline104.utils.CookieUtil;
6570
import com.iemr.helpline104.utils.mapper.InputMapper;
6671

72+
import jakarta.servlet.http.HttpServletRequest;
73+
6774
@Service
6875
public class IMRMMRServiceImpl implements IMRMMRService {
6976

@@ -86,6 +93,8 @@ public class IMRMMRServiceImpl implements IMRMMRService {
8693

8794
@Autowired
8895
private EpidemicOutbreakRepository epidemicOutbreakRepository;
96+
@Autowired
97+
private CookieUtil cookieUtil;
8998

9099
@Override
91100
public String saveIMRMMR(String request, String Authorization) throws Exception {
@@ -94,7 +103,7 @@ public String saveIMRMMR(String request, String Authorization) throws Exception
94103

95104
IMRMMR imrmmr = InputMapper.gson().fromJson(request, IMRMMR.class);
96105

97-
//Validating Mandatory fields
106+
// Validating Mandatory fields
98107
// if(imrmmr.getVictimName() == null || imrmmr.getVictimAge() == null || imrmmr.getVictimDistrict() == null || imrmmr.getVictimTaluk() == null || imrmmr.getRelationshipType() == null) {
99108
// throw new Exception("error in saving IMR/MMR data as mandatory field(s) is null");
100109
// }
@@ -140,9 +149,8 @@ public String saveIMRMMR(String request, String Authorization) throws Exception
140149
imrmmr.setNoofDelivery(Integer.parseInt(imrmmr.getStagesOfDeath().get("noofDelivery")));
141150
else
142151
imrmmr.setNoofDelivery(null);
143-
152+
144153
imrmmr.setAbove42daysOfDelivery(imrmmr.getStagesOfDeath().get("above42daysOfDelivery"));
145-
146154

147155
imrmmr = imrmmrRepository.save(imrmmr);
148156

@@ -167,7 +175,7 @@ public String saveIMRMMR(String request, String Authorization) throws Exception
167175
if (contact.get(i)[0] != null) {
168176
createSmsGateway(Long.valueOf(imrmmr.getBeneficiaryRegID()), imrmmr.getReferenceDate(), stateID,
169177
contact.get(i)[0].toString(), imrmmr.getRequestID(), Authorization,
170-
imrmmr.getCreatedBy(),imrmmr.getInformerName());
178+
imrmmr.getCreatedBy(), imrmmr.getInformerName());
171179
}
172180
}
173181
for (int i = 0; i < contact.size(); i++) {
@@ -190,6 +198,11 @@ public void createEmailGateway(String emailID, String requestID, String Authoriz
190198
emailReqObj.put("requestID", requestID);
191199
emailReqObj.put("emailType", IMRMMREmailTemplate);
192200
emailReqObj.put("emailID", emailID);
201+
HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
202+
.getRequest();
203+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader);
204+
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
205+
headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie);
193206
try {
194207
String emailStatus = restTemplate(new Gson().toJson(emailReqObj), sendEmailGeneralUrl, Authorization);
195208
if (emailStatus != null) {
@@ -210,11 +223,16 @@ public void createEmailGateway(String emailID, String requestID, String Authoriz
210223
}
211224

212225
public void createSmsGateway(Long benRegID, Timestamp refDate, Integer stateID, String contact, String imrmmrID,
213-
String Authorization, String createdBy,String informerName) {
226+
String Authorization, String createdBy, String informerName) {
214227
int returnOBJ = 0;
215228

216229
String requestOBJ = createSMSRequest(IMRMMRSmsTemplate, benRegID, stateID, contact, imrmmrID, refDate,
217-
createdBy,informerName);
230+
createdBy, informerName);
231+
HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
232+
.getRequest();
233+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader);
234+
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
235+
headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie);
218236

219237
if (requestOBJ != null) {
220238
String smsStatus = restTemplate(requestOBJ, sendSMSUrl, Authorization);
@@ -236,7 +254,7 @@ public void createSmsGateway(Long benRegID, Timestamp refDate, Integer stateID,
236254
}
237255

238256
public String createSMSRequest(String smsType, Long benRegID, Integer stateID, String contact, String imrmmrID,
239-
Timestamp refDate, String createdBy,String informerName) {
257+
Timestamp refDate, String createdBy, String informerName) {
240258

241259
SmsRequestOBJ obj;
242260
ArrayList<SmsRequestOBJ> objList = new ArrayList<>();
@@ -368,15 +386,17 @@ else if (phoneNo != null) {
368386
if (feedback != null)
369387
for (Object[] objects : feedback) {
370388
if (objects != null && objects.length > 0) {
371-
IMRMMRC = new IMRMMR((Long) objects[0], (Integer) objects[1], (Integer) objects[2], (String) objects[3], (String) objects[4],
372-
(String) objects[5], (String) objects[6], (Integer) objects[7], (String) objects[8], (Integer) objects[9], (String) objects[10],
373-
(Timestamp) objects[11], (Integer) objects[12], (Long) objects[13], (String) objects[14], (String) objects[15],
374-
(String) objects[16], (String) objects[17], (Integer) objects[18], (Integer) objects[19], (Integer) objects[20],
375-
(String) objects[21], (Integer) objects[22], (Integer) objects[23], (String) objects[24], (String) objects[25],
376-
(String) objects[26], (String) objects[27], (Integer) objects[28], (Integer) objects[29], (Integer) objects[30],
377-
(String) objects[31], (String) objects[32], (String) objects[33], (String) objects[34], (String) objects[35],
378-
(String) objects[36], (Boolean) objects[37], (String) objects[38],(String) objects[39], (Integer) objects[40],
379-
(Integer) objects[41],(String) objects[42]);
389+
IMRMMRC = new IMRMMR((Long) objects[0], (Integer) objects[1], (Integer) objects[2],
390+
(String) objects[3], (String) objects[4], (String) objects[5], (String) objects[6],
391+
(Integer) objects[7], (String) objects[8], (Integer) objects[9], (String) objects[10],
392+
(Timestamp) objects[11], (Integer) objects[12], (Long) objects[13], (String) objects[14],
393+
(String) objects[15], (String) objects[16], (String) objects[17], (Integer) objects[18],
394+
(Integer) objects[19], (Integer) objects[20], (String) objects[21], (Integer) objects[22],
395+
(Integer) objects[23], (String) objects[24], (String) objects[25], (String) objects[26],
396+
(String) objects[27], (Integer) objects[28], (Integer) objects[29], (Integer) objects[30],
397+
(String) objects[31], (String) objects[32], (String) objects[33], (String) objects[34],
398+
(String) objects[35], (String) objects[36], (Boolean) objects[37], (String) objects[38],
399+
(String) objects[39], (Integer) objects[40], (Integer) objects[41], (String) objects[42]);
380400
feedbackList.add(IMRMMRC);
381401
}
382402
}

src/main/java/com/iemr/helpline104/service/balVivah/BalVivahComplaintImpl.java

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,18 @@
3434
import org.slf4j.Logger;
3535
import org.slf4j.LoggerFactory;
3636
import org.springframework.beans.factory.annotation.Autowired;
37+
import org.springframework.http.HttpEntity;
38+
import org.springframework.http.HttpMethod;
39+
import org.springframework.http.ResponseEntity;
3740
import org.springframework.stereotype.Service;
3841
import org.springframework.transaction.annotation.Transactional;
42+
import org.springframework.util.LinkedMultiValueMap;
43+
import org.springframework.util.MultiValueMap;
44+
import org.springframework.web.client.RestTemplate;
3945

46+
import com.fasterxml.jackson.core.JsonProcessingException;
47+
import com.fasterxml.jackson.databind.JsonMappingException;
48+
import com.fasterxml.jackson.databind.ObjectMapper;
4049
import com.google.gson.Gson;
4150
import com.iemr.helpline104.controller.balVivha.BalVivahController;
4251
import com.iemr.helpline104.data.balVivah.BalVivahComplaint;
@@ -50,6 +59,7 @@
5059
import com.iemr.helpline104.repository.location.LocationCityRepository;
5160
import com.iemr.helpline104.repository.location.LocationDistrictBlockRepository;
5261
import com.iemr.helpline104.repository.location.LocationDistrictRepository;
62+
import com.iemr.helpline104.utils.CookieUtil;
5363
import com.iemr.helpline104.utils.config.ConfigProperties;
5464
import com.iemr.helpline104.utils.exception.IEMRException;
5565
import com.iemr.helpline104.utils.http.HttpUtils;
@@ -85,6 +95,8 @@ public class BalVivahComplaintImpl implements BalVivahComplaintService {
8595

8696
@Autowired
8797
private EpidemicOutbreakRepository epidemicOutbreakRepository;
98+
@Autowired
99+
private CookieUtil cookieUtil;
88100

89101
private InputMapper inputMapper = new InputMapper();
90102

@@ -178,14 +190,18 @@ else if (phoneNo != null) {
178190
return new Gson().toJson(feedbackList);
179191
}
180192

181-
private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException {
182-
HttpUtils utils = new HttpUtils();
183-
HashMap<String, Object> header = new HashMap<String, Object>();
184-
header.put("Authorization", request.getHeader("Authorization"));
185-
String responseStr = utils.post(
186-
properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"),
187-
feedbackDetails, header);
188-
OutputResponse response = inputMapper.gson().fromJson(responseStr, OutputResponse.class);
193+
private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException, JsonMappingException, JsonProcessingException {
194+
RestTemplate restTemplate = new RestTemplate();
195+
ObjectMapper objectMapper = new ObjectMapper();
196+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(request);
197+
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
198+
headers.add("Content-Type", "application/json");
199+
headers.add("AUTHORIZATION", request.getHeader("Authorization"));
200+
headers.add("Jwttoken", jwtTokenFromCookie);
201+
String url = properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback");
202+
HttpEntity<Object> request1 = new HttpEntity<Object>(feedbackDetails, headers);
203+
ResponseEntity<String> responseStr = restTemplate.exchange(url, HttpMethod.POST, request1, String.class);
204+
OutputResponse response = objectMapper.readValue(responseStr.getBody(), OutputResponse.class);
189205

190206
return response;
191207
}

src/main/java/com/iemr/helpline104/service/epidemicOutbreak/EpidemicOutbreakServiceImpl.java

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,17 @@
3535
import org.slf4j.Logger;
3636
import org.slf4j.LoggerFactory;
3737
import org.springframework.beans.factory.annotation.Autowired;
38+
import org.springframework.http.HttpEntity;
39+
import org.springframework.http.HttpMethod;
40+
import org.springframework.http.ResponseEntity;
3841
import org.springframework.stereotype.Service;
42+
import org.springframework.util.LinkedMultiValueMap;
43+
import org.springframework.util.MultiValueMap;
44+
import org.springframework.web.client.RestTemplate;
3945

46+
import com.fasterxml.jackson.core.JsonProcessingException;
47+
import com.fasterxml.jackson.databind.JsonMappingException;
48+
import com.fasterxml.jackson.databind.ObjectMapper;
4049
import com.iemr.helpline104.controller.epidemicOutbreak.EpidemicOutbreakController;
4150
import com.iemr.helpline104.data.epidemicOutbreak.T_EpidemicOutbreak;
4251
import com.iemr.helpline104.data.feedback.FeedbackDetails;
@@ -47,6 +56,7 @@
4756
import com.iemr.helpline104.repository.location.LocationCityRepository;
4857
import com.iemr.helpline104.repository.location.LocationDistrictBlockRepository;
4958
import com.iemr.helpline104.repository.location.LocationDistrictRepository;
59+
import com.iemr.helpline104.utils.CookieUtil;
5060
import com.iemr.helpline104.utils.config.ConfigProperties;
5161
import com.iemr.helpline104.utils.exception.IEMRException;
5262
import com.iemr.helpline104.utils.http.HttpUtils;
@@ -74,6 +84,8 @@ public class EpidemicOutbreakServiceImpl implements EpidemicOutbreakService {
7484

7585
@Autowired
7686
private BenCallRepository benCallRepository;
87+
@Autowired
88+
private CookieUtil cookieUtil;
7789

7890
private InputMapper inputMapper = new InputMapper();
7991

@@ -174,15 +186,18 @@ else if (requestID != null) {
174186
return epidemicOutbreakList;
175187
}
176188

177-
private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException {
178-
HttpUtils utils = new HttpUtils();
179-
HashMap<String, Object> header = new HashMap<String, Object>();
180-
header.put("Authorization", request.getHeader("Authorization"));
181-
String responseStr = utils.post(
182-
properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"),
183-
feedbackDetails, header);
184-
OutputResponse response = inputMapper.gson().fromJson(responseStr, OutputResponse.class);
185-
// response.setResponse(responseStr);
189+
private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException, JsonMappingException, JsonProcessingException {
190+
RestTemplate restTemplate = new RestTemplate();
191+
ObjectMapper objectMapper = new ObjectMapper();
192+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(request);
193+
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
194+
headers.add("Content-Type", "application/json");
195+
headers.add("AUTHORIZATION", request.getHeader("Authorization"));
196+
headers.add("Jwttoken", jwtTokenFromCookie);
197+
String url = properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback");
198+
HttpEntity<Object> request1 = new HttpEntity<Object>(feedbackDetails, headers);
199+
ResponseEntity<String> responseStr = restTemplate.exchange(url, HttpMethod.POST, request1, String.class);
200+
OutputResponse response = objectMapper.readValue(responseStr.getBody(), OutputResponse.class);
186201
return response;
187202
}
188203

src/main/java/com/iemr/helpline104/service/feedback/FeedbackServiceImpl.java

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,17 @@
3232
import org.slf4j.Logger;
3333
import org.slf4j.LoggerFactory;
3434
import org.springframework.beans.factory.annotation.Autowired;
35+
import org.springframework.http.HttpEntity;
36+
import org.springframework.http.HttpMethod;
37+
import org.springframework.http.ResponseEntity;
3538
import org.springframework.stereotype.Service;
39+
import org.springframework.util.LinkedMultiValueMap;
40+
import org.springframework.util.MultiValueMap;
41+
import org.springframework.web.client.RestTemplate;
3642

43+
import com.fasterxml.jackson.core.JsonProcessingException;
44+
import com.fasterxml.jackson.databind.JsonMappingException;
45+
import com.fasterxml.jackson.databind.ObjectMapper;
3746
import com.google.gson.Gson;
3847
import com.iemr.helpline104.data.feedback.FeedbackDetails;
3948
import com.iemr.helpline104.data.feedback.FeedbackRequestDetails;
@@ -42,6 +51,7 @@
4251
import com.iemr.helpline104.repository.bloodRequest.InstituteRepository;
4352
import com.iemr.helpline104.repository.feedback.FeedbackRepository;
4453
import com.iemr.helpline104.repository.feedbackType.FeedbackTypeRepository;
54+
import com.iemr.helpline104.utils.CookieUtil;
4555
import com.iemr.helpline104.utils.config.ConfigProperties;
4656
import com.iemr.helpline104.utils.exception.IEMRException;
4757
import com.iemr.helpline104.utils.http.HttpUtils;
@@ -60,6 +70,8 @@ public class FeedbackServiceImpl implements FeedbackService {
6070

6171
@Autowired
6272
private InstituteRepository instituteRepo;
73+
@Autowired
74+
private CookieUtil cookieUtil;
6375

6476
@Autowired
6577
public void getBenCalServiceCatSubcatMappingRepo(BeneficiaryCallRepository benCalServiceCatSubcatMappingRepo) {
@@ -318,18 +330,19 @@ public String saveFeedbackFromCustomer(String feedbackDetails, HttpServletReques
318330
// return response;
319331
// }
320332

321-
private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException {
322-
333+
private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException, JsonMappingException, JsonProcessingException {
323334
logger.info("createFeedback request: " + feedbackDetails);
324-
325-
HttpUtils utils = new HttpUtils();
326-
HashMap<String, Object> header = new HashMap<String, Object>();
327-
header.put("Authorization", request.getHeader("Authorization"));
328-
String responseStr = utils.post(
329-
properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"),
330-
feedbackDetails, header);
331-
OutputResponse response = inputMapper.gson().fromJson(responseStr, OutputResponse.class);
332-
// response.setResponse(responseStr);
335+
RestTemplate restTemplate = new RestTemplate();
336+
ObjectMapper objectMapper = new ObjectMapper();
337+
String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(request);
338+
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
339+
headers.add("Content-Type", "application/json");
340+
headers.add("AUTHORIZATION", request.getHeader("Authorization"));
341+
headers.add("Jwttoken", jwtTokenFromCookie);
342+
String url = properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback");
343+
HttpEntity<Object> request1 = new HttpEntity<Object>(feedbackDetails, headers);
344+
ResponseEntity<String> responseStr = restTemplate.exchange(url, HttpMethod.POST, request1, String.class);
345+
OutputResponse response = objectMapper.readValue(responseStr.getBody(), OutputResponse.class);
333346
logger.info("createFeedback resonse from common: " + response);
334347
return response;
335348
}

0 commit comments

Comments
 (0)