Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
import io.mosip.registration_client.api_services.ProcessSpecDetailsApi;
import io.mosip.registration_client.api_services.RegistrationApi;
import io.mosip.registration_client.api_services.UserDetailsApi;

import io.mosip.registration.clientmanager.repository.UserDetailRepository;
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
@Module
public class HostApiModule {

Expand Down Expand Up @@ -160,8 +160,8 @@ RegistrationApi getRegistrationDataApi(RegistrationService registrationService,
@Singleton
PacketAuthenticationApi getPacketAuthenticationApi(SyncRestService syncRestService, SyncRestUtil syncRestFactory,
LoginService loginService, PacketService packetService, RegistrationRepository registrationRepository,
AuditManagerService auditManagerService) {
return new PacketAuthenticationApi(syncRestService, syncRestFactory, loginService, packetService,registrationRepository, auditManagerService);
AuditManagerService auditManagerService,UserDetailRepository userDetailRepository) {
return new PacketAuthenticationApi(syncRestService, syncRestFactory, loginService, packetService,registrationRepository, auditManagerService,userDetailRepository);
}

@Provides
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,7 @@ public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
super.configureFlutterEngine(flutterEngine);
GeneratedPluginRegistrant.registerWith(flutterEngine);
initializeAppComponent();
auditManagerService.audit(AuditEvent.NAV_REDIRECT_HOME, Components.REGISTRATION);
MachinePigeon.MachineApi.setup(flutterEngine.getDartExecutor().getBinaryMessenger(), machineDetailsApi);
UserPigeon.UserApi.setup(flutterEngine.getDartExecutor().getBinaryMessenger(), userDetailsApi);
CommonDetailsPigeon.CommonDetailsApi.setup(flutterEngine.getDartExecutor().getBinaryMessenger(),commonDetailsApi);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ public void onResponse(Call call, Response response) {
loginService.saveAuthToken(wrapper.getResponse(), username);
loginService.setPasswordHash(username, password);
loginService.resetFailedLoginAttempts(username);
auditManagerService.audit(AuditEvent.NAV_HOME, Components.REGISTRATION);
String preferredUsername = sharedPreferences.getString(PREFERRED_USERNAME, username);
String fullName = sharedPreferences.getString(USER_NAME, preferredUsername);
AuthResponsePigeon.AuthResponse authResponse = new AuthResponsePigeon.AuthResponse.Builder()
Expand Down Expand Up @@ -175,6 +176,7 @@ private void offlineLogin(final String username, final String password, AuthResp
String token = loginService.saveUserAuthTokenOffline(username);
String preferredUsername = sharedPreferences.getString(PREFERRED_USERNAME, username);
String fullName = sharedPreferences.getString(USER_NAME, preferredUsername);
auditManagerService.audit(AuditEvent.NAV_HOME, Components.REGISTRATION);
AuthResponsePigeon.AuthResponse authResponse = new AuthResponsePigeon.AuthResponse.Builder()
.setResponse(token)
.setUserId(username)
Expand All @@ -196,6 +198,7 @@ private void offlineLogin(final String username, final String password, AuthResp

@Override
public void login(@NonNull String username, @NonNull String password, @NonNull Boolean isConnected, @NonNull AuthResponsePigeon.Result<AuthResponsePigeon.AuthResponse> result) {
auditManagerService.audit(AuditEvent.LOGIN_AUTHENTICATE_USER_ID, Components.LOGIN);
auditManagerService.audit(AuditEvent.LOGIN_WITH_PASSWORD, Components.LOGIN);
Comment thread
Rakshithasai123 marked this conversation as resolved.
Resolved
if(loginService.isUserLocked(username)) {
result.success(getAuthErrorResponse(LOCKOUT_ERROR_CODE));
Expand All @@ -212,6 +215,7 @@ public void login(@NonNull String username, @NonNull String password, @NonNull B
@Override
public void logout(@NonNull AuthResponsePigeon.Result<String> result) {
loginService.clearAuthToken(this.context);
auditManagerService.audit(AuditEvent.LOGOUT_USER, Components.LOGIN);
result.success("Logout Success");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,7 @@ public void getBioAttempt(@NonNull String fieldId, @NonNull String modality,

@Override
public void startOperatorOnboarding(@NonNull BiometricsPigeon.Result<String> result) {
auditManagerService.audit(AuditEvent.NAV_ON_BOARD_USER, Components.REGISTRATION);
try {
OPERATOR_EXCEPTIONS.clear();
userOnboardService.getOperatorBiometrics().clear();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,15 @@
import io.mosip.registration.keymanager.util.CryptoUtil;
import io.mosip.registration.packetmanager.dto.SimpleType;
import io.mosip.registration_client.model.DemographicsDataPigeon;
import io.mosip.registration.clientmanager.constant.AuditEvent;
Comment thread
Rakshithasai123 marked this conversation as resolved.
Resolved
import io.mosip.registration.clientmanager.constant.Components;

@Singleton
public class DemographicsDetailsApi implements DemographicsDataPigeon.DemographicsApi {
private final RegistrationService registrationService;
AuditManagerService auditManagerService;
private static final String GET_FIELD_FAILED_MESSAGE = "Get field failed!";
private boolean isDemoCaptureAudited = false;
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved

GlobalParamRepository globalParamRepository;

Expand All @@ -43,6 +46,11 @@ public DemographicsDetailsApi(RegistrationService registrationService, AuditMana

@Override
public void addDemographicField(@NonNull String fieldId, @NonNull String value, @NonNull DemographicsDataPigeon.Result<String> result) {
if (!isDemoCaptureAudited) {
auditManagerService.audit(AuditEvent.REG_DEMO_CAPTURE, Components.REGISTRATION);
Log.i("AUDIT", "Logged REG_DEMO_CAPTURE - Started capturing demographic details");
isDemoCaptureAudited = true;
}
try {
this.registrationService.getRegistrationDto().addDemographicField(fieldId, value);
result.success("Ok");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
import io.mosip.registration.packetmanager.dto.PacketWriter.DocumentType;
import io.mosip.registration.packetmanager.dto.SimpleType;
import io.mosip.registration_client.model.DynamicResponsePigeon;
import io.mosip.registration.clientmanager.constant.AuditEvent;
import io.mosip.registration.clientmanager.constant.Components;

@Singleton
public class DynamicDetailsApi implements DynamicResponsePigeon.DynamicResponseApi {
Expand Down Expand Up @@ -231,6 +233,7 @@ public void getLocationHierarchyMap(@NonNull DynamicResponsePigeon.Result<Map<St

@Override
public void fetchPreRegistrationDetails(@NonNull String preRegId, @NonNull DynamicResponsePigeon.Result<Map<String, Object>> result) {
auditManagerService.audit(AuditEvent.REG_DEMO_PRE_REG_DATA_FETCH, Components.REGISTRATION);
Map<String, Object> preRegistrationData = new HashMap<>();
try {
this.preRegistrationData.getPreRegistration(preRegId,false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@
import io.mosip.registration_client.UploadBackgroundService;
import io.mosip.registration_client.model.MasterDataSyncPigeon;
import io.mosip.registration_client.utils.NetworkUtils;

import io.mosip.registration.clientmanager.constant.AuditEvent;
import io.mosip.registration.clientmanager.constant.Components;
@Singleton
public class MasterDataSyncApi implements MasterDataSyncPigeon.SyncApi {
private static final String MASTER_DATA_LAST_UPDATED = "masterdata.lastupdated";
Expand Down Expand Up @@ -224,6 +225,7 @@ public void getIDSchemaSync(@NonNull Boolean isManualSync, @NonNull MasterDataSy

@Override
public void getMasterDataSync(@NonNull Boolean isManualSync, @NonNull String jobId, @NonNull MasterDataSyncPigeon.Result<MasterDataSyncPigeon.Sync> result) {
auditManagerService.audit(AuditEvent.NAV_SYNC_DATA, Components.REGISTRATION);
try {
masterDataService.syncMasterData(() -> {
Log.i(TAG, "Master Data Sync Completed.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@
import io.mosip.registration_client.MainActivity;
import io.mosip.registration_client.R;
import io.mosip.registration_client.model.PacketAuthPigeon;

import io.mosip.registration.clientmanager.repository.UserDetailRepository;
import io.mosip.registration.clientmanager.entity.UserDetail;
Comment thread
Rakshithasai123 marked this conversation as resolved.
Resolved
@Singleton
public class PacketAuthenticationApi implements PacketAuthPigeon.PacketAuthApi {
SyncRestService syncRestService;
Expand All @@ -48,21 +49,23 @@ public class PacketAuthenticationApi implements PacketAuthPigeon.PacketAuthApi {
RegistrationRepository registrationRepository;

private Activity activity;

private UserDetailRepository userDetailRepository;
public void setCallbackActivity(MainActivity mainActivity) {
this.activity = mainActivity;
}

@Inject
public PacketAuthenticationApi(SyncRestService syncRestService, SyncRestUtil syncRestFactory,
LoginService loginService, PacketService packetService, RegistrationRepository registrationRepository,
AuditManagerService auditManagerService) {
AuditManagerService auditManagerService,
UserDetailRepository userDetailRepository) {
this.syncRestService = syncRestService;
this.syncRestFactory = syncRestFactory;
this.loginService = loginService;
this.packetService = packetService;
this.registrationRepository = registrationRepository;
this.auditManagerService = auditManagerService;
this.userDetailRepository = userDetailRepository;
}

private PacketAuthPigeon.PacketAuth getAuthErrorResponse(String errorCode) {
Expand Down Expand Up @@ -146,6 +149,7 @@ public void onComplete(String RID, PacketTaskStatus status) {

@Override
public void uploadPacketAll(@NonNull List<String> packetIds, @NonNull PacketAuthPigeon.Result<Void> result) {
auditManagerService.audit(AuditEvent.NAV_UPLOAD_PACKETS, Components.REGISTRATION);
Comment thread
Rakshithasai123 marked this conversation as resolved.
Resolved
Integer packetSize = packetIds.size();
final Integer[] remainingPack = {packetSize, 0};
CustomToast newToast = new CustomToast(activity);
Expand All @@ -167,6 +171,7 @@ public void inProgress(String RID) {
public void onComplete(String RID, PacketTaskStatus status) {
if (status.equals(PacketTaskStatus.UPLOAD_COMPLETED) || status.equals(PacketTaskStatus.UPLOAD_ALREADY_COMPLETED)) {
remainingPack[1] += 1;
auditManagerService.audit(AuditEvent.PACKET_UPLOAD, Components.REGISTRATION);
}
remainingPack[0] -= 1;

Expand Down Expand Up @@ -213,6 +218,7 @@ public void getAllRegistrationPacket(@NonNull PacketAuthPigeon.Result<List<Strin

@Override
public void getAllCreatedRegistrationPacket(@NonNull PacketAuthPigeon.Result<List<String>> result) {
auditManagerService.audit(AuditEvent.NAV_APPROVE_REG, Components.REGISTRATION);
List<String> packets = new ArrayList();
try {
List<Registration> allRegistration = packetService.getRegistrationsByStatus(PacketClientStatus.CREATED.name(), 40);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,33 @@ public RegistrationApi(RegistrationService registrationService, TemplateService

@Override
public void startRegistration(@NonNull List<String> languages, @NonNull String flowType, @NonNull String process, @NonNull RegistrationDataPigeon.Result<String> result) {
auditManagerService.audit(AuditEvent.REGISTRATION_START, Components.REGISTRATION);
Log.d("RegistrationApi", "startRegistration called with process: '" + process + "'");
Log.d("RegistrationApi", "startRegistration called with flowType: '" + flowType + "'");

String flowTypeUpper = flowType.toUpperCase().trim();
Log.d("RegistrationApi", "FlowType uppercase: '" + flowTypeUpper + "'");

switch (flowTypeUpper) {
case "NEW":
Log.d("RegistrationApi", "Matched NEW - auditing NAV_NEW_REG");
auditManagerService.audit(AuditEvent.NAV_NEW_REG, Components.REGISTRATION);
Comment thread
Rakshithasai123 marked this conversation as resolved.
Resolved
break;
case "LOST":
Log.d("RegistrationApi", "Matched LOST - auditing NAV_LOST_UIN");
auditManagerService.audit(AuditEvent.NAV_LOST_UIN, Components.REGISTRATION);
break;
case "UPDATE":
Log.d("RegistrationApi", "Matched UPDATE - auditing NAV_UIN_UPDATE");
auditManagerService.audit(AuditEvent.NAV_UIN_UPDATE, Components.REGISTRATION);
break;
case "CORRECTION":
Log.d("RegistrationApi", "Matched CORRECTION - auditing NAV_CORRECTION");
auditManagerService.audit(AuditEvent.NAV_CORRECTION, Components.REGISTRATION);
break;
default:
Log.w("RegistrationApi", "NO MATCH for process: '" + process + "'");
break;
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
String response = "";
try {
this.registrationDto = registrationService.startRegistration(languages, flowType, process);
Expand Down Expand Up @@ -103,6 +129,7 @@ public void getPreviewTemplate(@NonNull Boolean isPreview, @NonNull Map<String,

@Override
public void submitRegistrationDto(@NonNull String makerName, @NonNull RegistrationDataPigeon.Result<RegistrationDataPigeon.RegistrationSubmitResponse> result) {
auditManagerService.audit(AuditEvent.REG_DEMO_NEXT, Components.REGISTRATION);
Comment thread
Rakshithasai123 marked this conversation as resolved.
Resolved
String response = "";
String errorCode = "";
try {
Expand Down Expand Up @@ -148,6 +175,7 @@ public void setAdditionalReqId(@NonNull String additionalReqId, @NonNull Registr

@Override
public void setMachineLocation(@NonNull Double latitude, @NonNull Double longitude, @NonNull RegistrationDataPigeon.Result<Void> result) {
auditManagerService.audit(AuditEvent.NAV_GEO_LOCATION, Components.REGISTRATION);
try {
this.registrationDto.setGeoLocation(longitude, latitude);
} catch (Exception e) {
Expand Down
Loading