/** * @param RepositoryRequest $request * @param bool|false $resetRuntimeProperties * @return string */ public function createFrom(RepositoryRequest $request, $resetRuntimeProperties = false) { return $this->create(array(self::KEY_APPLICANT_NAME => $request->applicantName(), self::KEY_NAME => $request->name(), self::KEY_OCCURRED_ON => $request->occurredOn()->getTimestamp()), $resetRuntimeProperties); }
//begin of process $collection = $storage->readMany(); $content = array(); foreach ($collection as $repositoryRequest) { $content[] = array('name' => $repositoryRequest->name()); } return $application->json($content); //end of process }); $application->post('/unique-number-repository', function (Application $application, Request $request) use($locator) { //begin of runtime parameters $name = urldecode($request->get('repository_name')); $user = urldecode($request->get('applicant_name')); //end of runtime parameters //begin of dependencies $repositoryRequest = new RepositoryRequest($user, $name, new DateTime()); $storage = $locator->getRepositoryStorage(); //end of dependencies //begin of validation $storage->resetRuntimeProperties(); $storage->filterByName($repositoryRequest->name()); $repositoryNameExistsAlready = $storage->has(); if ($repositoryNameExistsAlready) { $application->abort(400, 'repository name exists already'); } $storage->resetRuntimeProperties(); //end of validation //begin of process $createdId = $storage->createFrom($repositoryRequest); return $application->json(array('id' => $createdId)); //end of process