示例#1
0
 /**
  * Generates after events since they are so similar.
  *
  * @param String $methodName
  * @param String $methodDescription
  *
  * @return Object\Method
  */
 private function afterCrudMethod($methodName, $methodDescription)
 {
     $method = new Object\Method();
     $method->setAccess('protected');
     $method->setDescription($methodDescription);
     $method->setReturnType('void');
     $method->setName($methodName);
     $parameter = new Object\Parameter();
     $parameter->setName('entity');
     $parameter->setType('Model');
     $parameter->setStrictType(true);
     $method->addParameter($parameter);
     $method->setContent('return;');
     return $method;
 }
示例#2
0
 /**
  * Builds the delete action
  * @return void
  */
 private function buildDeleteAction()
 {
     $api = new Swagger\Api();
     $api->setPath('/' . $this->getClassName() . '/{id}');
     $operation = new Swagger\Operation();
     $operation->setMethod('DELETE');
     $operation->setSummary('Deletes ' . $this->singularModelA_Or_An() . '.');
     $operation->setNotes('');
     $responseMessage = new Swagger\ResponseMessage();
     $responseMessage->setCode(204);
     $responseMessage->setMessage(ucfirst($this->getModel()->getSource()) . " deleted.");
     $operation->addResponseMessage($responseMessage);
     $responseMessage = $this->notAuthorizedResponse();
     $operation->addResponseMessage($responseMessage);
     $responseMessage = $this->notFoundResponse();
     $operation->addResponseMessage($responseMessage);
     $parents = $this->getDeletionPreventingParents();
     if (!empty($parents)) {
         $responseMessage = new Swagger\ResponseMessage();
         $responseMessage->setCode(409);
         $responseMessage->setMessage(ucfirst($this->getModel()->getSource()) . " is connected by foreign key to one of the following entities: " . implode(', ', $parents));
         $operation->addResponseMessage($responseMessage);
     }
     $operation->addParameter($this->buildIdParameter());
     $api->addOperation($operation);
     $method = new Object\Method();
     $method->setDescription($api->__toString());
     $method->setReturnType('void');
     $method->setAccess('public');
     $method->setName('deleteAction');
     $method->setContent('parent::deleteAction();');
     $this->getObject()->addMethod($method);
 }