From 1a6ca053d19449bc86d7776b80ed59ff79f9f88d Mon Sep 17 00:00:00 2001 From: Sergey Chernyshev Date: Sat, 6 Mar 2021 20:01:28 -0500 Subject: [PATCH] Added optional fields to `GET /v1/user` API: `email`, `username`, `is_email_verified` and `impersonator` --- classes/API/v1/User/Get.php | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/classes/API/v1/User/Get.php b/classes/API/v1/User/Get.php index e0cc9e9..95f6f7d 100644 --- a/classes/API/v1/User/Get.php +++ b/classes/API/v1/User/Get.php @@ -59,12 +59,30 @@ public function call($values, $raw_request_body = null) { } } - // @TODO Implement general API serialization logic for all objects - return array( + $result = array( 'id' => $user->getID(), 'name' => $user->getName(), - 'is_system_admin' => $user->isAdmin() + 'is_system_admin' => $user->isAdmin(), + 'is_email_verified' => $user->isEmailVerified() ); + + // optional email + $email = $user->getEmail(); + if ($email) { + $result['email'] = $email; + } + + // optional username + $username = $user->getUsername(); + if ($username) { + $result['username'] = $username; + } + + if ($user->isImpersonated()) { + $result['impersonator'] = $user->getImpersonator()->getID(); + } + + return $result; } }