/** * @inheritDoc */ protected function getErrors() { $errors = []; foreach ($this->validationErrors as $validationError) { $error = Error::create()->setStatus(400)->setCode("REQUEST_BODY_INVALID_JSON_API")->setTitle("Request body is an invalid JSON API document")->setDetail(ucfirst($validationError["message"])); if ($validationError["property"]) { $error->setSource(ErrorSource::fromPointer($validationError["property"])); } $errors[] = $error; } return $errors; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("RESOURCE_TYPE_MISSING")->setTitle("Resource type is missing")->setDetail("A resource type must be included in the document!")->setSource(ErrorSource::fromPointer("/data"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(409)->setCode("CLIENT_GENERATED_ID_ALREADY_EXISTS")->setTitle("Client generated ID already exists")->setDetail($this->getMessage())->setSource(ErrorSource::fromPointer("/data/id"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(403)->setCode("FULL_REPLACEMENT_PROHIBITED")->setTitle("Full replacement is prohibited")->setDetail($this->getMessage())->setSource(ErrorSource::fromPointer("/data/relationships/{$this->relationshipName}"))]; }
/** * @inheritDoc */ public function getErrors() { return [Error::create()->setStatus(400)->setCode("RESOURCE_TYPE_UNACCEPTABLE")->setTitle("Resource type is unacceptable")->setDetail("Resource type '{$this->currentType}' is unacceptable!")->setSource(ErrorSource::fromPointer("/data/type"))]; }
protected function transformSource(array &$content) { if ($this->source) { $content["source"] = $this->source->transform(); } }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("INCLUSION_UNRECOGNIZED")->setTitle("Inclusion is unrecognized")->setDetail("Included paths '" . implode(", ", $this->unrecognizedIncludes) . "' can't be recognized by the endpoint!")->setSource(ErrorSource::fromParameter("include"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(406)->setCode("MEDIA_TYPE_UNACCEPTABLE")->setTitle("The provided media type is unacceptable")->setDetail($this->getMessage())->setSource(ErrorSource::fromParameter("Accept"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(403)->setCode("CLIENT_GENERATED_ID_REQUIRED")->setTitle("Required client generated ID")->setDetail($this->getMessage())->setSource(ErrorSource::fromPointer("/data/id"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("INCLUSION_UNSUPPORTED")->setTitle("Inclusion is unsupported")->setDetail("Inclusion is not supported by the endpoint!")->setSource(ErrorSource::fromParameter("include"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("SORTING_UNSUPPORTED")->setTitle("Sorting is unsupported")->setDetail("Sorting is not supported by the endpoint!")->setSource(ErrorSource::fromParameter("sort"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("RESOURCE_ID_INVALID")->setTitle("Resource ID is invalid")->setDetail("The resource ID '{$this->id}' is invalid!")->setSource(ErrorSource::fromPointer("/data/id"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("SORTING_UNRECOGNIZED")->setTitle("Sorting paramter is unrecognized")->setDetail("Sorting parameter '{$this->sortParam}' can't be recognized by the endpoint!")->setSource(ErrorSource::fromParameter("sort"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(403)->setCode("REMOVAL_PROHIBITED")->setTitle("Removal is prohibited")->setDetail($this->getMessage())->setSource(ErrorSource::fromPointer("/data/relationships/{$this->relationshipName}"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(403)->setCode("CLIENT_GENERATED_ID_NOT_SUPPORTED")->setTitle("Client generated ID is not supported")->setDetail($this->getMessage())->setSource(ErrorSource::fromPointer("/data/id"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("RELATIONSHIP_TYPE_INAPPROPRIATE")->setTitle("Relationship type is inappropriate")->setDetail($this->getMessage())->setSource(ErrorSource::fromPointer("/data/relationships/{$this->relationshipName}"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("QUERY_PARAM_UNRECOGNIZED")->setTitle("Query parameter is unrecognized")->setDetail("Query parameter '{$this->unrecognizedQueryParam}' can't be recognized by the endpoint!")->setSource(ErrorSource::fromParameter($this->unrecognizedQueryParam))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(415)->setCode("MEDIA_TYPE_UNSUPPORTED")->setTitle("The provided media type is unsupported")->setDetail($this->getMessage())->setSource(ErrorSource::fromParameter("Content-Type"))]; }
/** * @inheritDoc */ protected function getErrors() { return [Error::create()->setStatus(400)->setCode("DATA_MEMBER_MISSING")->setTitle("Missing `data` member at the document's top level")->setDetail($this->getMessage())->setSource(ErrorSource::fromPointer(""))]; }