Skip to content

Commit 705b656

Browse files
committed
Merge branch 'release-3.8.1' into vb/3.6.2
2 parents 5727f30 + ea22db4 commit 705b656

10 files changed

Lines changed: 430 additions & 103 deletions

File tree

pom.xml

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -299,26 +299,25 @@
299299
<plugin>
300300
<groupId>pl.project13.maven</groupId>
301301
<artifactId>git-commit-id-plugin</artifactId>
302-
<version>2.2.4</version>
302+
<version>4.9.10</version>
303303
<executions>
304304
<execution>
305305
<id>get-the-git-infos</id>
306306
<goals>
307307
<goal>revision</goal>
308308
</goals>
309+
<phase>initialize</phase>
309310
</execution>
310311
</executions>
311312
<configuration>
312-
<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
313-
<prefix>git</prefix>
314-
<verbose>false</verbose>
315313
<generateGitPropertiesFile>true</generateGitPropertiesFile>
316-
<generateGitPropertiesFilename>
317-
${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
318-
<format>json</format>
319-
<gitDescribe>
320-
<skip>true</skip>
321-
</gitDescribe>
314+
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
315+
<includeOnlyProperties>
316+
<includeOnlyProperty>git.commit.id</includeOnlyProperty>
317+
<includeOnlyProperty>git.build.time</includeOnlyProperty>
318+
</includeOnlyProperties>
319+
<commitIdGenerationMode>full</commitIdGenerationMode>
320+
<format>properties</format>
322321
</configuration>
323322
</plugin>
324323
<plugin>
@@ -476,6 +475,12 @@
476475
<goal>repackage</goal>
477476
</goals>
478477
</execution>
478+
<execution>
479+
<id>build-info</id>
480+
<goals>
481+
<goal>build-info</goal>
482+
</goals>
483+
</execution>
479484
</executions>
480485
</plugin>
481486
</plugins>
@@ -489,4 +494,4 @@
489494
</plugin>
490495
</plugins>
491496
</reporting>
492-
</project>
497+
</project>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.iemr.admin.config;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.beans.factory.annotation.Value;
5+
import org.springframework.boot.web.servlet.FilterRegistrationBean;
6+
import org.springframework.context.annotation.Bean;
7+
import org.springframework.context.annotation.Configuration;
8+
9+
import com.iemr.admin.utils.JwtAuthenticationUtil;
10+
import com.iemr.admin.utils.JwtUserIdValidationFilter;
11+
12+
@Configuration
13+
public class SecurityFilterConfig {
14+
15+
@Autowired
16+
private JwtAuthenticationUtil jwtAuthenticationUtil;
17+
18+
@Value("${cors.allowed-origins}")
19+
private String allowedOrigins;
20+
21+
@Bean
22+
public FilterRegistrationBean<JwtUserIdValidationFilter> jwtFilterRegistration() {
23+
FilterRegistrationBean<JwtUserIdValidationFilter> registration = new FilterRegistrationBean<>();
24+
registration.setFilter(new JwtUserIdValidationFilter(jwtAuthenticationUtil, allowedOrigins));
25+
registration.addUrlPatterns("/*");
26+
registration.setOrder(1);
27+
28+
// Set name for easier debugging
29+
registration.setName("JwtUserIdValidationFilter");
30+
31+
return registration;
32+
}
33+
}

src/main/java/com/iemr/admin/controller/bulkRegistration/BulkRegistrationController.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,25 +44,7 @@ public class BulkRegistrationController {
4444
public ResponseEntity<Map<String, Object>> registerBulkUser(@RequestBody String m_user, @RequestHeader String authorization, @RequestParam String userName,
4545
HttpServletRequest request, @RequestParam Integer serviceProviderID
4646
) {
47-
String jwtToken = null;
48-
49-
Cookie[] cookies = request.getCookies();
50-
if (cookies != null) {
51-
for (Cookie cookie : cookies) {
52-
if ("jwt".equalsIgnoreCase(cookie.getName())) { // Cookie name == jwt
53-
jwtToken = cookie.getValue();
54-
break;
55-
}
56-
}
57-
}
58-
59-
logger.info("JWT Token From Cookie: " + jwtToken);
60-
logger.info("M_user Request: " + m_user);
61-
62-
String authHeader = request.getHeader("Authorization");
63-
logger.info("Authorization Token: " + authHeader);
6447

65-
logger.info("M_user Request: " + m_user);
6648
bulkRegistrationServiceimpl.bulkRegistrationErrors.clear();
6749
logger.info("Bulk registration request received. Request payload is omitted from logs.");
6850
try {
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* AMRIT – Accessible Medical Records via Integrated Technology
3+
* Integrated EHR (Electronic Health Records) Solution
4+
*
5+
* Copyright (C) "Piramal Swasthya Management and Research Institute"
6+
*
7+
* This file is part of AMRIT.
8+
*
9+
* This program is free software: you can redistribute it and/or modify
10+
* it under the terms of the GNU General Public License as published by
11+
* the Free Software Foundation, either version 3 of the License, or
12+
* (at your option) any later version.
13+
*
14+
* This program is distributed in the hope that it will be useful,
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU General Public License for more details.
18+
*
19+
* You should have received a copy of the GNU General Public License
20+
* along with this program. If not, see https://www.gnu.org/licenses/.
21+
*/
22+
package com.iemr.admin.controller.health;
23+
24+
import java.util.Map;
25+
26+
import org.slf4j.Logger;
27+
import org.slf4j.LoggerFactory;
28+
import org.springframework.beans.factory.annotation.Autowired;
29+
import org.springframework.http.HttpStatus;
30+
import org.springframework.http.ResponseEntity;
31+
import org.springframework.web.bind.annotation.GetMapping;
32+
import org.springframework.web.bind.annotation.RestController;
33+
34+
import com.iemr.admin.service.health.HealthService;
35+
36+
import io.swagger.v3.oas.annotations.Operation;
37+
38+
@RestController
39+
public class HealthController {
40+
41+
private static final Logger logger = LoggerFactory.getLogger(HealthController.class);
42+
43+
@Autowired
44+
private HealthService healthService;
45+
46+
@Operation(summary = "Health check endpoint")
47+
@GetMapping("/health")
48+
public ResponseEntity<Map<String, Object>> health() {
49+
logger.info("Health check endpoint called");
50+
51+
Map<String, Object> healthStatus = healthService.checkHealth();
52+
53+
// Return 503 if any service is down, 200 if all are up
54+
String status = (String) healthStatus.get("status");
55+
HttpStatus httpStatus = "UP".equals(status) ? HttpStatus.OK : HttpStatus.SERVICE_UNAVAILABLE;
56+
57+
logger.info("Health check completed with status: {}", status);
58+
return ResponseEntity.status(httpStatus).body(healthStatus);
59+
}
60+
}

src/main/java/com/iemr/admin/controller/version/VersionController.java

Lines changed: 16 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -21,58 +21,33 @@
2121
*/
2222
package com.iemr.admin.controller.version;
2323

24-
import java.io.BufferedReader;
25-
import java.io.IOException;
26-
import java.io.InputStream;
27-
import java.io.InputStreamReader;
24+
import java.util.Map;
2825

2926
import org.slf4j.Logger;
3027
import org.slf4j.LoggerFactory;
31-
32-
import org.springframework.web.bind.annotation.RequestMapping;
33-
import org.springframework.web.bind.annotation.RequestMethod;
28+
import org.springframework.beans.factory.annotation.Autowired;
29+
import org.springframework.http.MediaType;
30+
import org.springframework.web.bind.annotation.GetMapping;
3431
import org.springframework.web.bind.annotation.RestController;
3532

36-
import com.iemr.admin.utils.response.OutputResponse;
33+
import com.iemr.admin.service.version.VersionService;
3734

3835
import io.swagger.v3.oas.annotations.Operation;
3936

40-
4137
@RestController
4238
public class VersionController {
4339

44-
private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
45-
46-
@Operation(summary = "Version information")
47-
@RequestMapping(value = "/version", method = { RequestMethod.GET })
48-
public String versionInformation() {
49-
OutputResponse output = new OutputResponse();
50-
try {
51-
logger.info("version Controller Start");
52-
output.setResponse(readGitProperties());
53-
} catch (Exception e) {
54-
output.setError(e);
55-
}
56-
57-
logger.info("version Controller End");
58-
return output.toString();
59-
}
60-
61-
private String readGitProperties() throws Exception {
62-
ClassLoader classLoader = getClass().getClassLoader();
63-
InputStream inputStream = classLoader.getResourceAsStream("git.properties");
40+
private static final Logger logger = LoggerFactory.getLogger(VersionController.class);
6441

65-
return readFromInputStream(inputStream);
66-
}
42+
@Autowired
43+
private VersionService versionService;
6744

68-
private String readFromInputStream(InputStream inputStream) throws IOException {
69-
StringBuilder resultStringBuilder = new StringBuilder();
70-
try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {
71-
String line;
72-
while ((line = br.readLine()) != null) {
73-
resultStringBuilder.append(line).append("\n");
74-
}
75-
}
76-
return resultStringBuilder.toString();
77-
}
45+
@Operation(summary = "Version information")
46+
@GetMapping(value = "/version", produces = MediaType.APPLICATION_JSON_VALUE)
47+
public Map<String, String> versionInformation() {
48+
logger.info("version Controller Start");
49+
Map<String, String> versionInfo = versionService.getVersionInfo();
50+
logger.info("version Controller End");
51+
return versionInfo;
52+
}
7853
}

src/main/java/com/iemr/admin/service/bulkRegistration/BulkRegistrationServiceImpl.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,7 @@ private void saveUserUser(Employee employee, Integer row, String authorization,
346346
mUser.setEmployeeID(employee.getUserName());
347347
mUser.setServiceProviderID(serviceProviderID);
348348
mUser.setPassword(generateStrongPassword(employee.getPassword()));
349-
logger.info("Register_user:" + mUser);
350349
M_User1 bulkUserID = employeeMasterInter.saveBulkUserEmployee(mUser);
351-
logger.info("BulkUser:" + bulkUserID);
352350
// m_userServiceRoleMapping.setUserID(bulkUserID.getUserID());
353351
// m_userServiceRoleMapping.setServiceProviderID(bulkUserID.getServiceProviderID());
354352
// m_userServiceRoleMapping.setCreatedBy(createdBy);
@@ -785,7 +783,6 @@ public byte[] insertErrorLog() {
785783

786784
} catch (IOException e) {
787785
logger.error("IOException" + e.getMessage());
788-
e.printStackTrace();
789786
}
790787

791788
return baos.toByteArray();

src/main/java/com/iemr/admin/service/employeemaster/EmployeeSignatureServiceImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import com.iemr.admin.data.employeemaster.EmployeeSignature;
2929
import com.iemr.admin.repo.employeemaster.EmployeeSignatureRepo;
30+
import org.json.JSONObject;
3031

3132
@Service
3233
public class EmployeeSignatureServiceImpl implements EmployeeSignatureService {
@@ -72,6 +73,8 @@ public Boolean isSignatureActive(Long userID) {
7273
return employeeSignatureRepo.countByUserIDAndSignatureNotNullAndDeletedFalse(userID) > 0;
7374
}
7475

76+
77+
7578
@Override
7679
public EmployeeSignature updateUserSignatureStatus(String activateUser) {
7780
JSONObject obj = new JSONObject(activateUser);

0 commit comments

Comments
 (0)