public function prepareRequestData(Request $requestObject, $endpoint) { $apiRequest = new ApiRequestObject(); $apiRequest->setAttributesByArray($requestObject); $requestValidation = $this->validateRequest($apiRequest, $endpoint); if ($requestValidation === true) { return $apiRequest; } elseif ($requestValidation == false) { return ['status' => Strings::API_STATUS_FATAL, 'reason' => Strings::API_REASON_INVALID_SESSION, 'msg' => Strings::API_MSG_INVALID_SESSION]; } elseif ($requestValidation == 'status') { return ['status' => Strings::API_STATUS_SUCCESS, 'reason' => Strings::API_REASON_SUCCESS, 'msg' => Strings::API_MSG_STATUS_ONLINE]; } elseif ($requestValidation == 'invalid') { return ['status' => Strings::API_STATUS_FATAL, 'reason' => Strings::API_REASON_MISSING_PARAMS, 'msg' => Strings::API_MSG_MISSING_PARAMS]; } }
/** * Reset API keyset * @author zbrown * * @param Request $request * @return JsonResponse */ public function resetKeysAction(Request $request) { $postData = $this->get('request')->request->all(); $apiRequest = new ApiRequestObject(); $apiRequest->setAttributesByArray($postData); if ($this->dataHelper->getSessionType($apiRequest) == 1) { //This is just a status check return ResponseHelper::prepareResponse(Strings::API_STATUS_SUCCESS, Strings::API_REASON_SUCCESS, Strings::API_MSG_STATUS_ONLINE); } if (!$this->dataHelper->verifyAppSession($apiRequest)) { return ResponseHelper::prepareResponse(Strings::API_STATUS_FATAL, Strings::API_REASON_INVALID_SESSION, Strings::API_MSG_INVALID_SESSION); } $appSession = $this->dataHelper->fetchAppSession($apiRequest); if (!$appSession) { return ResponseHelper::prepareResponse(Strings::API_STATUS_FATAL, Strings::API_REASON_INVALID_SESSION, Strings::API_MSG_ERROR_LOCATING_SESSION); } $publicKey = md5(time() . $appSession->getPublic() . time()); $privateKey = md5(time() . time() . $appSession->getSecret() . time()); $appId = $appSession->getAppid(); if ($this->dataHelper->resetKeys($apiRequest, $appId) === false) { return ResponseHelper::prepareResponse(Strings::API_STATUS_FATAL, Strings::API_REASON_DB_ERROR, Strings::API_MSG_KEY_RESET_FAILED_DB); } $app = $this->dataHelper->fetchAppById($appId); $contactEmail = $app->getEmail(); $appTitle = $app->getApptitle(); $contactFirstName = $app->getFirstname(); $message = $this->dataHelper->prepareMessage($contactEmail, $contactFirstName, $appTitle, $publicKey, $privateKey); $this->sendEmailWithMailgun($message); return ResponseHelper::prepareResponse(Strings::API_STATUS_SUCCESS, Strings::API_REASON_SUCCESS, Strings::API_MSG_KEY_RESET_SUCCESS); }