예제 #1
0
 /**
  * @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;
 }
예제 #2
0
 /**
  * @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"))];
 }
예제 #4
0
 /**
  * @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}"))];
 }
예제 #5
0
 /**
  * @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"))];
 }
예제 #6
0
파일: Error.php 프로젝트: garethwi/yin
 protected function transformSource(array &$content)
 {
     if ($this->source) {
         $content["source"] = $this->source->transform();
     }
 }
예제 #7
0
 /**
  * @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"))];
 }
예제 #8
0
 /**
  * @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"))];
 }
예제 #9
0
 /**
  * @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"))];
 }
예제 #10
0
 /**
  * @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"))];
 }
예제 #11
0
 /**
  * @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"))];
 }
예제 #12
0
 /**
  * @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"))];
 }
예제 #13
0
 /**
  * @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"))];
 }
예제 #14
0
 /**
  * @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}"))];
 }
예제 #15
0
 /**
  * @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"))];
 }
예제 #16
0
 /**
  * @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}"))];
 }
예제 #17
0
 /**
  * @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))];
 }
예제 #18
0
 /**
  * @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"))];
 }
예제 #19
0
 /**
  * @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(""))];
 }