From e9c471db59e62e1ad85aeeac77a8d2b5c3993b83 Mon Sep 17 00:00:00 2001 From: Stavros Papadakis <spapad@gmail.com> Date: Tue, 7 Mar 2017 09:50:56 +0200 Subject: [PATCH] Changed due to endpoint changes in beneficiaryNames --- academic-id/barebone/README.md | 2 ++ academic-id/data-quality-check/src/Client.php | 7 +++- academic-id/slim-app/src/osteam/App.php | 32 +++++++++++++++---- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/academic-id/barebone/README.md b/academic-id/barebone/README.md index 469b15c..4aa7240 100644 --- a/academic-id/barebone/README.md +++ b/academic-id/barebone/README.md @@ -1,5 +1,7 @@ # Web Service Client ΟΞ΅ PHP +> OBSOLETE + Ξ₯λοΟΞΏΞΉΞ�ΞΈΞ·ΞΊΞ΅ ΞΞ½Ξ±Ο Ξ±ΟΞ»ΟΟ web service client ΞΊΞ±ΞΉ ΟΞ΅ PHP Ξ³ΞΉΞ± Ξ½Ξ± ΟΟΞ±Ξ³ΞΌΞ±ΟΞΏΟοιΡί ΟΞΉΟ ΞΊΞ»Ξ�ΟΞ΅ΞΉΟ ΟΟΞΏ Ξ΅ΟΞ―ΟΞ·ΞΌΞΏ web service ΞΌΞΟΟ php curl. ΞΞΉ λΡιΟΞΏΟ ΟΞ³Ξ―Ξ΅Ο ΟΞΏΟ Ξ΅Ξ―Ξ½Ξ±ΞΉ: diff --git a/academic-id/data-quality-check/src/Client.php b/academic-id/data-quality-check/src/Client.php index 419d19e..ea2e3d8 100644 --- a/academic-id/data-quality-check/src/Client.php +++ b/academic-id/data-quality-check/src/Client.php @@ -74,7 +74,12 @@ class Client if (isset($parsed_result['inspectionResult']) && $parsed_result['inspectionResult']['webServiceSuccess'] === true && is_array($parsed_result['inspectionResult']['beneficiaryNames'])) { - return $parsed_result['inspectionResult']['beneficiaryNames'][0]; + if (count($parsed_result['inspectionResult']['beneficiaryNames']) > 0) { + if (is_array($bNames = $parsed_result['inspectionResult']['beneficiaryNames'][0]) && + isset($bNames['beneficiaryName'])) { + return $bNames['beneficiaryName']; + } + } } } return false; diff --git a/academic-id/slim-app/src/osteam/App.php b/academic-id/slim-app/src/osteam/App.php index 372a44b..fac5554 100644 --- a/academic-id/slim-app/src/osteam/App.php +++ b/academic-id/slim-app/src/osteam/App.php @@ -185,13 +185,17 @@ class App extends BaseApp if ($parsed_result['response'] === 'SUCCESS' && $parsed_result['errorReason'] === null) { if (isset($parsed_result['inspectionResult']) && $parsed_result['inspectionResult']['webServiceSuccess'] === true - && ( - ($endpoint == $this->urlAcademicId) || - ($endpoint == $this->urlAmka - && is_array($parsed_result['inspectionResult']['beneficiaryNames']) - && count($parsed_result['inspectionResult']['beneficiaryNames']) > 0) - )) { + && $endpoint == $this->urlAcademicId) { return $this->withTextReady($res, 'isStudent:true'); + } elseif (isset($parsed_result['inspectionResult']) + && $parsed_result['inspectionResult']['webServiceSuccess'] === true + && $endpoint == $this->urlAmka + && is_array($parsed_result['inspectionResult']['beneficiaryNames']) + && count($parsed_result['inspectionResult']['beneficiaryNames']) > 0) { + if (is_array($bNames = $parsed_result['inspectionResult']['beneficiaryNames'][0]) && + isset($bNames['beneficiaryName'])) { + return $this->withTextReady($res, 'isStudent:true'); + } } } return $this->withTextReady($res, 'isStudent:false'); @@ -233,6 +237,13 @@ class App extends BaseApp return $this->withJsonReady($res, $results['response'], $results['http_status']); } + $fields_requested = $req->getQueryParam('fields', null); + if (($fields_requested !== null) && ($fields_requested !== 'academicID')) { + return $res->withJson(array_merge(BaseApp::coreResponseData(false), [ + 'message' => 'Error: Service Call Parameters Error, fields query parameter has wrong value' + ]), 400); + } + // ΞλΡγΟΞΏΟ Ξ΅ΟΞΉΟΟΟΞ΅ΟΟΞΌΞ΅Ξ½Ξ·Ο ΟΞΉΞΌΞ�Ο ΞΊΞ±ΞΉ Ξ±ΟΞΏΟΟΞΏΞ»Ξ� Ξ±ΟΞΏΟΡλΞΟΞΌΞ±ΟΞΏΟ $parsed_result = json_decode($results['response'], true); if ($parsed_result === false) { @@ -243,7 +254,14 @@ class App extends BaseApp && $parsed_result['inspectionResult']['webServiceSuccess'] === true && is_array($parsed_result['inspectionResult']['beneficiaryNames'])) { if (count($parsed_result['inspectionResult']['beneficiaryNames']) > 0) { - return $this->withTextReady($res, $parsed_result['inspectionResult']['beneficiaryNames'][0]); + if (is_array($bNames = $parsed_result['inspectionResult']['beneficiaryNames'][0]) && + isset($bNames['submissionCode']) && isset($bNames['beneficiaryName'])) { + if ($fields_requested === null) { + return $this->withTextReady($res, "{$bNames['beneficiaryName']}"); + } elseif ($fields_requested === 'academicID') { + return $this->withTextReady($res, "{$bNames['beneficiaryName']},{$bNames['submissionCode']}"); + } + } } } return $this->withTextReady($res, 'false'); -- GitLab