+ return ['error' => ['code' => $code, 'message' => $message]];
+ }
+
+ /**
+ * Get the structure that matches a permission error response.
+ */
+ protected function permissionErrorResponse(): array
+ {
+ return $this->errorResponse('You do not have permission to perform the requested action.', 403);
+ }
+
+ /**
+ * Format the given (field_name => ["messages"]) array
+ * into a standard validation response format.
+ */
+ protected function validationResponse(array $messages): array
+ {
+ $err = $this->errorResponse('The given data was invalid.', 422);
+ $err['error']['validation'] = $messages;
+
+ return $err;