Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
3fead24
add visit_date in getHbnc details api
SauravBizbRolly Dec 10, 2025
658fd8a
Merge pull request #110 from PSMRI/bug/fix_visit_date_inhbnc
SauravBizbRolly Dec 10, 2025
ed30f66
Merge 3.8.2 to 3.10.0 (#282)
SauravBizbRolly Jul 14, 2026
b7642fc
Feature/firebase notification incentive approval (#300)
SauravBizbRolly Jul 28, 2026
53ab619
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
e037e1c
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
818f422
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
4cb17ea
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
ae1c9ba
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
22ab573
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
f768897
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
0152bdb
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
910f8ab
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
af9ee0f
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
b0653f5
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
bf87242
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
ebe0f6a
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
6538e01
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
d02a83e
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
c98a3b4
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
ad7f177
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
c3aa099
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
7d72e22
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
91e0ab6
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
4ddd9eb
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
1d788a8
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
82c1158
fix anc incentive logic
SauravBizbRolly Jul 28, 2026
e4cde3e
fix 4th anc incentive issue
SauravBizbRolly Jul 28, 2026
71c14bd
fix 4th anc incentive issue
SauravBizbRolly Jul 28, 2026
ca1f2f1
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
add2e33
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
861a220
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
dc3e59e
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
18b72f9
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
8c8ebb7
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
1b5ccc9
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
5edddb8
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
fe13a2c
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
8cbb5cf
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
d297feb
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
2964209
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
ea45912
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
47ed965
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
9b3a405
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
25aec00
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
f440dcf
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
1a8fa9a
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
1764b86
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
2d9fe82
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
f0a618e
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
6c6f425
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
13ab7d9
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
e246d23
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
dadd754
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
0979e97
changes logic for cg incentive
SauravBizbRolly Jul 29, 2026
981b145
handel overdue incentive
SauravBizbRolly Jul 29, 2026
b43c6db
handel overdue incentive
SauravBizbRolly Jul 29, 2026
21888bf
handel overdue incentive
SauravBizbRolly Jul 30, 2026
d0084bd
handel overdue incentive
SauravBizbRolly Jul 30, 2026
68f8f81
handel overdue incentive
SauravBizbRolly Jul 30, 2026
c935cfa
handel overdue incentive
SauravBizbRolly Jul 30, 2026
6c8cb55
handel overdue incentive
SauravBizbRolly Jul 30, 2026
1663605
handel overdue incentive
SauravBizbRolly Jul 30, 2026
ac7ae66
handel overdue incentive
SauravBizbRolly Jul 30, 2026
f4589aa
handel overdue incentive
SauravBizbRolly Jul 30, 2026
b4c126e
handel overdue incentive
SauravBizbRolly Jul 30, 2026
e916d51
handel overdue incentive
SauravBizbRolly Jul 30, 2026
7aa7bbf
handel overdue incentive
SauravBizbRolly Jul 30, 2026
c44ce21
handel overdue incentive
SauravBizbRolly Jul 30, 2026
465a22b
handel overdue incentive
SauravBizbRolly Jul 30, 2026
d26ac92
handel overdue incentive
SauravBizbRolly Jul 30, 2026
e8df032
handel overdue incentive
SauravBizbRolly Jul 30, 2026
9086bb0
handel overdue incentive
SauravBizbRolly Jul 30, 2026
72f53cb
handel overdue incentive
SauravBizbRolly Jul 30, 2026
c5e4c39
handel overdue incentive
SauravBizbRolly Jul 30, 2026
f33574d
handel overdue incentive
SauravBizbRolly Jul 30, 2026
f38ff39
handel overdue incentive
SauravBizbRolly Jul 30, 2026
d38f746
handel overdue incentive
SauravBizbRolly Jul 30, 2026
8bd7b73
handel overdue incentive
SauravBizbRolly Jul 30, 2026
8dcf193
handel overdue incentive
SauravBizbRolly Jul 30, 2026
3fd7c40
handel overdue incentive
SauravBizbRolly Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ mvnw
mvnw.cmd
.mvn
/logs/
src/main/environment/common_local.properties
28 changes: 27 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,32 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
<version>9.0.2</version>
<executions>
<execution>
<id>get-the-git-infos</id>
<goals>
<goal>revision</goal>
</goals>
<phase>initialize</phase>
</execution>
</executions>
<configuration>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
<includeOnlyProperties>
<property>^git.branch$</property>
<property>^git.commit.id.abbrev$</property>
<property>^git.build.version$</property>
<property>^git.build.time$</property>
</includeOnlyProperties>
<failOnNoGitDirectory>false</failOnNoGitDirectory>
<failOnUnableToExtractRepoInfo>false</failOnUnableToExtractRepoInfo>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
Expand Down Expand Up @@ -420,4 +446,4 @@
</plugin>
</plugins>
</reporting>
</project>
</project>
19 changes: 16 additions & 3 deletions src/main/environment/common_ci.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

fhir-url = @env.FHIR_API@
tm-url = @env.TM_API@
common-api-base-url=@env.COMMON_API@

##--------------------------------------------## Primary db-------------------------------------------------------------------

Expand All @@ -16,8 +17,7 @@ secondary.datasource.password=@env.DATABASE_IDENTITY_PASSWORD@
secondary.datasource.url=@env.DATABASE_IDENTITY_URL@
secondary.datasource.driver-class-name=com.mysql.jdbc.Driver

springdoc.api-docs.enabled=@env.SWAGGER_UI_ENABLED@
springdoc.swagger-ui.enabled=@env.SWAGGER_UI_ENABLED@


#ELK logging file name
logging.path=logs/
Expand All @@ -37,4 +37,17 @@ sms-username=@env.SMS_USERNAME@
sms-password=@env.SMS_PASSWORD@
send-message-url=@env.SMS_MESSAGE_URL@

crash.logs.base.path=@env.CRASH_LOGS_PATH@
#crash.logs.base.path=@env.CRASH_LOGS_PATH@

# ABHA Token Config
abha.client.id=@env.ABHA_CLIENT_ID@
abha.client.secret=@env.ABHA_CLIENT_SECRET@
abha.token.url=@env.ABHA_TOKEN_URL@
abha.xcmid=@env.ABHA_XCM_ID@

# GovThealth API Config
govthealth.user.details.url=@env.GOVTHEALTH_USER_DETAILS_URL@
govthealth.user.id=@env.GOVTHEALTH_USER_ID@
govthealth.password=@env.GOVTHEALTH_PASSWORD@


27 changes: 22 additions & 5 deletions src/main/environment/common_docker.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
fhir-url = ${FHIR_URL}
tm-url = ${TM_URL}
fhir-url = ${FHIR_API}
tm-url = ${TM_API}
common-api-base-url=${COMMON_API}



##--------------------------------------------## Primary db-------------------------------------------------------------------

Expand All @@ -15,8 +18,8 @@ secondary.datasource.password=${DATABASE_IDENTITY_PASSWORD}
secondary.datasource.url=${DATABASE_IDENTITY_URL}
secondary.datasource.driver-class-name=com.mysql.jdbc.Driver

springdoc.api-docs.enabled=true
springdoc.swagger-ui.enabled=true



#ELK logging file name
logging.path=logs/
Expand All @@ -35,4 +38,18 @@ sms-password=${SMS_PASSWORD}

send-message-url=${SMS_MESSAGE_URL}

crash.logs.base.path=${CRASH_LOGS_PATH}
#crash.logs.base.path=${CRASH_LOGS_PATH}

# ABHA Token Config
abha.client.id=${ABHA_CLIENT_ID}
abha.client.secret=${ABHA_CLIENT_SECRET}
abha.token.url=${ABHA_TOKEN_URL}
abha.xcmid=${ABHA_XCM_ID}

# GovThealth API Config
govthealth.user.details.url=${GOVTHEALTH_USER_DETAILS_URL}
govthealth.user.id=${GOVTHEALTH_USER_ID}
govthealth.password=${GOVTHEALTH_PASSWORD}



6 changes: 6 additions & 0 deletions src/main/environment/common_example.properties
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ send-message-url=

crash.logs.base.path=<path used>

# ABHA Token Config
abha.client.id=<your-abha-client-id>
abha.client.secret=<your-abha-client-secret>
abha.token.url=<abha-token-url>
abha.xcmid=<sbx-or-prod>




Expand Down
45 changes: 0 additions & 45 deletions src/main/environment/common_local.properties

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.iemr.flw.controller;

import com.iemr.flw.domain.iemr.AdolescentHealth;
import com.iemr.flw.dto.abhaBeneficiary.AbhaBeneficiaryDTO;
import com.iemr.flw.dto.identity.GetBenRequestHandler;
import com.iemr.flw.dto.iemr.AbhaRequestDTO;
import com.iemr.flw.service.AbhaBeneficiaryService;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/UserRegistration")
public class AbhaBeneficiaryController {
@Autowired
private AbhaBeneficiaryService abhaBeneficiaryService;

private final org.slf4j.Logger logger = LoggerFactory.getLogger(AbhaBeneficiaryController.class);



@RequestMapping(value = "/GetUserDetailsByAyushmanCardNo",method = RequestMethod.POST)
public ResponseEntity<Map<String,Object>> getAllAdolescentHealth(@RequestBody AbhaRequestDTO request ) {
Map<String,Object> response = new HashMap<>();
try {
if(request.getCardNo()!=null){
Object abhaBeneficiaryDTOList = abhaBeneficiaryService.getBeneficiaryByAbha(request);

if (abhaBeneficiaryDTOList != null ) {
response.put("statusCode",200);
response.put("data", abhaBeneficiaryDTOList);
} else {
response.put("statusCode", 5000);
response.put("error", "Invalid/NULL request obj");
}
}

} catch (Exception e) {
logger.error("Error in get data : " + e);
response.put("statusCode",5000);
response.put("error","Error in get data : " + e);

}
return ResponseEntity.ok(response);
}
}
40 changes: 40 additions & 0 deletions src/main/java/com/iemr/flw/controller/AbhaTokenController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.iemr.flw.controller;

import com.iemr.flw.service.AbhaTokenService;
import com.iemr.flw.utils.ApiResponse;
import io.swagger.v3.oas.annotations.Operation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping(value = "/abha", headers = "Authorization")
public class AbhaTokenController {

private final Logger logger = LoggerFactory.getLogger(AbhaTokenController.class);

@Autowired
private AbhaTokenService abhaTokenService;

@Operation(summary = "Get ABHA access token")
@PostMapping("/token")
public ResponseEntity<?> getAbhaToken(
@RequestHeader(value = "Authorization") String authorization) {
try {
Map<String, Object> tokenResponse = abhaTokenService.getAbhaToken();
return new ResponseEntity<>(
new ApiResponse(true, null, tokenResponse), HttpStatus.OK);
} catch (Exception e) {
logger.error("Error fetching ABHA token: " + e.getMessage());
return new ResponseEntity<>(
new ApiResponse(false, "Error fetching ABHA token: " + e.getMessage(), null),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
34 changes: 10 additions & 24 deletions src/main/java/com/iemr/flw/controller/AshaProfileController.java
Original file line number Diff line number Diff line change
@@ -1,35 +1,21 @@
package com.iemr.flw.controller;

import com.iemr.flw.domain.iemr.AshaWorker;
import com.iemr.flw.domain.iemr.M_User;
import com.iemr.flw.dto.iemr.UserServiceRoleDTO;
import com.iemr.flw.repo.iemr.UserServiceRoleRepo;
import com.iemr.flw.service.AshaProfileService;
import com.iemr.flw.service.EmployeeMasterInter;
import com.iemr.flw.service.UserService;
import io.lettuce.core.dynamic.annotation.Param;
import com.iemr.flw.utils.JwtUtil;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;

import com.iemr.flw.utils.JwtAuthenticationUtil;
import com.iemr.flw.utils.JwtUtil;
import com.iemr.flw.utils.exception.IEMRException;
import io.jsonwebtoken.Claims;
import io.swagger.v3.oas.annotations.Operation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

@RestController
@RequestMapping(value = "/asha", produces = "application/json")
Expand Down Expand Up @@ -76,26 +62,26 @@ public ResponseEntity<Map<String, Object>> getProfile(HttpServletRequest request
try {
String jwtFromHeader = request.getHeader("JwtToken");

// Validate JWT header presence
// if (jwtFromHeader == null || jwtFromHeader.trim().isEmpty()) {
// response.put("statusCode", 401);
// response.put("status", "Unauthorized");
// response.put("errorMessage", "JWT token is missing");
// return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(response);
// }
// Validate JWT header presence
if (jwtFromHeader == null || jwtFromHeader.trim().isEmpty()) {
response.put("statusCode", 401);
response.put("status", "Unauthorized");
response.put("errorMessage", "JWT token is missing");
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(response);
}

// Extract and validate user ID from JWT
// int userId = jwtUtil.extractUserId(jwtFromHeader); // Make sure this returns 0 or throws for invalid token
int userId = jwtUtil.extractUserId(jwtFromHeader); // Make sure this returns 0 or throws for invalid token

if (employeeId == 0) {
if (userId == 0) {
response.put("statusCode", 401);
response.put("status", "Unauthorized");
response.put("errorMessage", "Invalid JWT token");
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(response);
}

// Business logic
AshaWorker ashaWorker = ashaProfileService.getProfileData(employeeId);
AshaWorker ashaWorker = ashaProfileService.getProfileData(userId);
logger.info("Asha Profile"+ashaWorker);

response.put("statusCode", 200);
Expand Down
Loading