Preserve complete ABHA verification profile
This commit is contained in:
parent
a5447cb83a
commit
c698d5df32
|
|
@ -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) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user