}); //end of overriding default functionality //begin of routing $application->get('/version', function (Application $application) { //begin of process return $application->json(VERSION); //end of process }); $application->delete('/unique-number-repository/{name}', function (Application $application, Request $request) use($locator) { //begin of runtime parameters $name = urldecode($request->get('name')); $user = urldecode($request->get('applicant_name')); //end of runtime parameters //begin of dependencies $repositoryStorage = $locator->getRepositoryStorage(); $uniqueNumberStorage = $locator->getUniqueNumberStorage(); //end of dependencies //begin of validation $repositoryStorage->resetRuntimeProperties(); $repositoryStorage->filterByApplicantName($user); $repositoryStorage->filterByName($name); $repositoryNameDoesNotExist = !$repositoryStorage->has(); if ($repositoryNameDoesNotExist) { $application->abort(404); } $repositoryStorage->resetRuntimeProperties(); //end of validation //begin of process $repositoryStorage->filterByApplicantName($user); $repositoryStorage->filterByName($name); $result = $repositoryStorage->delete();
/** * @return NumberEnumerator */ public function create() { return new NumberEnumerator($this->locator->getUniqueNumberStorage()); }