/** * @param ValidatorProviderInterface $validators * @param RequestInterpreterInterface $interpreter * @param RequestInterface $request * @return DocumentValidatorInterface|null */ private function documentAcceptanceValidator(ValidatorProviderInterface $validators, RequestInterpreterInterface $interpreter, RequestInterface $request) { $resourceType = $request->getResourceType(); $resourceId = $interpreter->getResourceId(); $relationshipName = $interpreter->getRelationshipName(); $record = $request->getRecord(); /** Create Resource */ if ($interpreter->isCreateResource()) { return $validators->createResource($resourceType); } elseif ($interpreter->isUpdateResource()) { return $validators->updateResource($resourceType, $resourceId, $record); } elseif ($interpreter->isModifyRelationship()) { return $validators->modifyRelationship($resourceType, $resourceId, $relationshipName, $record); } return null; }
/** * @param RequestInterpreterInterface $interpreter * @return DocumentValidatorInterface */ private function documentValidator(RequestInterpreterInterface $interpreter) { if ($interpreter->isModifyRelationship()) { return $this->validators->relationshipDocument(); } $validator = $this->validators->resource($interpreter->getResourceType(), $interpreter->getResourceId()); return $this->validators->resourceDocument($validator); }