requestID; } /** * @param ServiceRequestID $requestID */ public function setRequestID($requestID) { $this->requestID = $requestID; } /** * @return string */ public function getServiceName() { return $this->serviceName; } /** * @param string $serviceName */ public function setServiceName($serviceName) { $this->serviceName = $serviceName; } /** * @return int */ public function getStatusCode() { return $this->statusCode; } /** * @param int $statusCode */ public function setStatusCode($statusCode) { $this->statusCode = $statusCode; } /** * @return string */ public function getStatusMessage() { return $this->statusMessage; } /** * @param string $statusMessage */ public function setStatusMessage($statusMessage) { $this->statusMessage = $statusMessage; } /** * @return array */ public function getPayloadData() { return $this->payloadData; } /** * @param array $payloadData */ public function setPayloadData($payloadData) { $this->payloadData = $payloadData; } /** * @return array */ public function getDevErrors() { return $this->devErrors; } /** * @param array $devErrors */ public function setDevErrors($devErrors) { $this->devErrors = $devErrors; } /** * @return array */ public function getDevWarnings() { return $this->devWarnings; } /** * @param array $devWarnings */ public function setDevWarnings($devWarnings) { $this->devWarnings = $devWarnings; } /** * @return array */ public function getDevNotifications() { return $this->devNotifications; } /** * @param array $devNotifications */ public function setDevNotifications($devNotifications) { $this->devNotifications = $devNotifications; } /** * @return array */ public function getUserSuccessMsgs() { return $this->userSuccessMsgs; } /** * @param array $userSuccessMsgs */ public function setUserSuccessMsgs($userSuccessMsgs) { $this->userSuccessMsgs = $userSuccessMsgs; } /** * @return array */ public function getUserErrors() { return $this->userErrors; } /** * @param array $userErrors */ public function setUserErrors($userErrors) { $this->userErrors = $userErrors; } /** * @return array */ public function getUserWarnings() { return $this->userWarnings; } /** * @param array $userWarnings */ public function setUserWarnings($userWarnings) { $this->userWarnings = $userWarnings; } /** * @return array */ public function getUserNotifications() { return $this->userNotifications; } /** * @param array $userNotifications */ public function setUserNotifications($userNotifications) { $this->userNotifications = $userNotifications; } public function reset() { unset($this->requestID); $this->serviceName = ''; $this->statusCode = 400; $this->statusMessage = ''; $this->devErrors = []; $this->devWarnings = []; $this->devNotifications = []; $this->userSuccessMsgs = []; $this->userErrors = []; $this->userNotifications = []; } /** * @return GenericServicePayload */ public function makeGenericServicePayload() { return new GenericServicePayload($this->requestID, $this->serviceName, $this->statusCode, $this->statusMessage, $this->payloadData, $this->devErrors, $this->devWarnings, $this->devNotifications, $this->userSuccessMsgs, $this->userErrors, $this->userWarnings, $this->userNotifications); } /** * @param $serviceName * @param ServiceRequestID|null $requestID * @param array $messageData * @return GenericServicePayload */ public function make400GenericServicePayload($serviceName, ServiceRequestID $requestID = null, array $messageData = []) { $this->reset(); $this->serviceName = $serviceName; if(null !== $requestID) { $this->requestID = $requestID; } if(null === $this->requestID) { $this->requestID = new ServiceRequestID($this->serviceName); } $this->statusCode = 400; $this->statusMessage = 'Bad Request'; $requestIDString = $this->requestID->getID(); $this->devErrors = [ $requestIDString => [ 'code' => 400, 'message' => 'bad_request', 'message_data' => $messageData ] ]; $this->userErrors = [ $requestIDString => [ 'code' => 400, 'message' => 'bad_request', 'message_data' => $messageData ] ]; return $this->makeGenericServicePayload(); } /** * @param $serviceName * @param ServiceRequestID|null $requestID * @param array $messageData * @return GenericServicePayload */ public function make403GenericServicePayload($serviceName, ServiceRequestID $requestID = null, array $messageData = []) { $this->reset(); $this->serviceName = $serviceName; if(null !== $requestID) { $this->requestID = $requestID; } if(null === $this->requestID) { $this->requestID = new ServiceRequestID($this->serviceName); } $this->statusCode = 403; $this->statusMessage = 'Forbidden.'; $requestIDString = $this->requestID->getID(); $this->devErrors = [ $requestIDString => [ 'code' => 403, 'message' => 'Forbidden.', 'message_data' => $messageData ] ]; $this->userErrors = [ $requestIDString => [ 'code' => 403, 'message' => 'not_found', 'message_data' => $messageData ] ]; return $this->makeGenericServicePayload(); } /** * @param $serviceName * @param ServiceRequestID|null $requestID * @param array $messageData * @return GenericServicePayload */ public function make404GenericServicePayload($serviceName, ServiceRequestID $requestID = null, array $messageData = []) { $this->reset(); $this->serviceName = $serviceName; if(null !== $requestID) { $this->requestID = $requestID; } if(null === $this->requestID) { $this->requestID = new ServiceRequestID($this->serviceName); } $this->statusCode = 404; $this->statusMessage = 'Not Found.'; $this->devErrors = [ $this->requestID->getID() => [ 'code' => 404, 'message' => 'Not Found.', 'message_data' => $messageData ] ]; $this->userErrors = [ $this->requestID->getID() => [ 'code' => 404, 'message' => 'not_found', 'message_data' => $messageData ] ]; return $this->makeGenericServicePayload(); } /** * @param $serviceName * @param ServiceRequestID|null $requestID * @param array $messageData * @return GenericServicePayload */ public function make405GenericServicePayload($serviceName, ServiceRequestID $requestID = null, array $messageData = []) { $this->reset(); $this->serviceName = $serviceName; if(null !== $requestID) { $this->requestID = $requestID; } if(null === $this->requestID) { $this->requestID = new ServiceRequestID($this->serviceName); } $this->statusCode = 405; $this->statusMessage = 'Method not allowed.'; $requestIDString = $this->requestID->getID(); $this->devErrors = [ $requestIDString => [ 'code' => 405, 'message' => 'Method not allowed.', 'message_data' => $messageData ] ]; $this->userErrors = [ $requestIDString => [ 'code' => 405, 'message' => 'method_not_allowed', 'message_data' => $messageData ] ]; return $this->makeGenericServicePayload(); } }