fix(abdm): safe JSON parsing in m2LinkInit/Confirm and prevent abha_id null in audit log

This commit is contained in:
DevSoftTech Server 2026-09-23 15:56:05 +05:30
parent 0d71ce5ee4
commit fcce8970fd
2 changed files with 16 additions and 5 deletions

View File

@ -4975,9 +4975,14 @@ class AbdmGateway extends BaseController
return $authFailure;
}
$payload = $this->request->getJSON(true);
try {
$payload = $this->request->getJSON(true);
} catch (\Throwable) {
$payload = null;
}
if (! is_array($payload)) {
$payload = [];
$raw = (string) $this->request->getBody();
$payload = json_decode($raw, true) ?? [];
}
$requestId = trim((string) ($payload['requestId'] ?? $payload['request_id'] ?? $this->request->getHeaderLine('X-Request-Id')));
@ -5122,9 +5127,14 @@ class AbdmGateway extends BaseController
return $authFailure;
}
$payload = $this->request->getJSON(true);
try {
$payload = $this->request->getJSON(true);
} catch (\Throwable) {
$payload = null;
}
if (! is_array($payload)) {
$payload = [];
$raw = (string) $this->request->getBody();
$payload = json_decode($raw, true) ?? [];
}
$requestId = trim((string) ($payload['requestId'] ?? $payload['request_id'] ?? $this->request->getHeaderLine('X-Request-Id')));

View File

@ -141,7 +141,8 @@ class AbdmAuditService
$insert['entity_id'] = $entityId !== '' ? $entityId : null;
}
if (in_array('abha_id', $auditFields, true)) {
$insert['abha_id'] = trim((string) ($data['abha_id'] ?? '')) ?: null;
$val = trim((string) ($data['abha_id'] ?? ''));
$insert['abha_id'] = $val !== '' ? $val : ($insert['abha_id'] ?? 'UNKNOWN');
}
if (in_array('request_json', $auditFields, true)) {
$insert['request_json'] = $requestJson;