Preserve complete ABHA verification profile

This commit is contained in:
DevSoftTech Server 2026-08-13 10:57:38 +05:30
parent a5447cb83a
commit c698d5df32

View File

@ -1488,9 +1488,11 @@ class Abha extends BaseController
private function pickGatewayAbhaProfile(array $payload): array private function pickGatewayAbhaProfile(array $payload): array
{ {
$account = is_array($payload['account'] ?? null) ? $payload['account'] : []; $account = is_array($payload['account'] ?? null) ? $payload['account'] : [];
$dataAccount = is_array($payload['data']['account'] ?? null) ? $payload['data']['account'] : [];
$loginAccount = is_array($payload['accounts'][0] ?? null) ? $payload['accounts'][0] : []; $loginAccount = is_array($payload['accounts'][0] ?? null) ? $payload['accounts'][0] : [];
$mergedAccount = $loginAccount; $mergedAccount = $loginAccount;
foreach ($account as $key => $value) { foreach ([$dataAccount, $account] as $accountSource) {
foreach ($accountSource as $key => $value) {
if (! is_scalar($value) || trim((string) $value) === '') { if (! is_scalar($value) || trim((string) $value) === '') {
continue; continue;
} }
@ -1499,6 +1501,7 @@ class Abha extends BaseController
} }
$mergedAccount[$key] = $value; $mergedAccount[$key] = $value;
} }
}
$candidates = [ $candidates = [
$payload['ABHAProfile'] ?? null, $payload['ABHAProfile'] ?? null,
@ -1507,6 +1510,7 @@ class Abha extends BaseController
$mergedAccount, $mergedAccount,
$account, $account,
$loginAccount, $loginAccount,
$payload['data']['account'] ?? null,
$payload['gateway_patient'] ?? null, $payload['gateway_patient'] ?? null,
$payload, $payload,
]; ];
@ -1526,7 +1530,7 @@ class Abha extends BaseController
*/ */
private function extractAbhaProfileName(array $profile, array $payload): string private function extractAbhaProfileName(array $profile, array $payload): string
{ {
foreach ([$profile, $payload, $payload['account'] ?? [], $payload['gateway_abha_profile'] ?? [], $payload['gateway_patient'] ?? []] as $source) { foreach ([$profile, $payload, $payload['account'] ?? [], $payload['data']['account'] ?? [], $payload['gateway_abha_profile'] ?? [], $payload['gateway_patient'] ?? []] as $source) {
if (! is_array($source)) { if (! is_array($source)) {
continue; continue;
} }
@ -1824,9 +1828,14 @@ class Abha extends BaseController
]); ]);
} }
$payload = is_array($result['data'] ?? null) $payload = $result;
? array_merge($result, $result['data']) if (is_array($result['data'] ?? null)) {
: $result; foreach ($result['data'] as $key => $value) {
if (! array_key_exists($key, $payload)) {
$payload[$key] = $value;
}
}
}
$profile = $this->pickGatewayAbhaProfile($payload); $profile = $this->pickGatewayAbhaProfile($payload);
$firstNonEmpty = static function (array $values): string { $firstNonEmpty = static function (array $values): string {
foreach ($values as $value) { foreach ($values as $value) {