public function init(Service $service) { $service->get('/user_groups', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-user-portal']); $userId = $request->getQueryParameter('user_id'); InputValidation::userId($userId); $groupMembership = []; foreach ($this->groupProviders as $groupProvider) { $groupMembership = array_merge($groupMembership, $groupProvider->getGroups($userId)); } return new ApiResponse('user_groups', $groupMembership); }); }
public function init(Service $service) { // DISABLED $service->get('/disabled_users', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-admin-portal']); return new ApiResponse('disabled_users', $this->users->getDisabled()); }); $service->get('/is_disabled_user', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-admin-portal', 'vpn-user-portal']); $userId = $request->getQueryParameter('user_id'); InputValidation::userId($userId); return new ApiResponse('is_disabled_user', $this->users->isDisabled($userId)); }); $service->post('/disable_user', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-admin-portal']); $userId = $request->getPostParameter('user_id'); InputValidation::userId($userId); $this->logger->info(sprintf('disabling user "%s"', $userId)); return new ApiResponse('disable_user', $this->users->setDisabled($userId)); }); $service->post('/enable_user', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-admin-portal']); $userId = $request->getPostParameter('user_id'); InputValidation::userId($userId); $this->logger->info(sprintf('enabling user "%s"', $userId)); return new ApiResponse('enable_user', $this->users->setEnabled($userId)); }); // OTP_SECRETS $service->get('/has_otp_secret', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-admin-portal', 'vpn-user-portal']); $userId = $request->getQueryParameter('user_id'); InputValidation::userId($userId); return new ApiResponse('has_otp_secret', $this->users->hasOtpSecret($userId)); }); $service->post('/set_otp_secret', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-user-portal']); $userId = $request->getPostParameter('user_id'); InputValidation::userId($userId); $otpSecret = $request->getPostParameter('otp_secret'); InputValidation::otpSecret($otpSecret); return new ApiResponse('set_otp_secret', $this->users->setOtpSecret($userId, $otpSecret)); }); $service->post('/delete_otp_secret', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-admin-portal']); $userId = $request->getPostParameter('user_id'); InputValidation::userId($userId); return new ApiResponse('delete_otp_secret', $this->users->deleteOtpSecret($userId)); }); // VOOT_TOKENS $service->get('/has_voot_token', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-user-portal', 'vpn-admin-portal']); $userId = $request->getQueryParameter('user_id'); InputValidation::userId($userId); return new ApiResponse('has_voot_token', $this->users->hasVootToken($userId)); }); $service->post('/set_voot_token', function (Request $request, array $hookData) { Utils::requireUser($hookData, ['vpn-user-portal']); $userId = $request->getPostParameter('user_id'); InputValidation::userId($userId); $vootToken = $request->getPostParameter('voot_token'); InputValidation::vootToken($vootToken); return new ApiResponse('set_voot_token', $this->users->setVootToken($userId, $vootToken)); }); }