formService = $formService; $this->adminFormListPermissionService = $adminFormListPermissionService; } /** * @param WP_REST_Request $data * * @return WP_REST_Response * * @throws ForbiddenException * @throws InvalidArgumentException */ public function handle(WP_REST_Request $data): WP_REST_Response { // Verify the nonce Sanitizer::verifyNonce($data->get_header('X-WP-Nonce')); $formsArr = $this->formService->getAllForms() ?? []; $forms = []; foreach ($formsArr as $form) { if (!$this->adminFormListPermissionService->canAccessFormInAdminLists((int) $form->getId())) { continue; } $forms[] = $form->toArray(); } return new WP_REST_Response([ 'message' => BackendStrings::getCommonStrings()['ok'], $forms ], 200); } }