- New code generation made for CLI
This commit is contained in:
1 parent
ae212a4377
commit
c3e3d6a73a
22 files changed
+1067
-17
No files matched your search
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
namespace %NAMESPACE%\%API_NS%;
|
||||
|
||||
use Notes\Attribute\Ignore;
|
||||
use Notes\Route\Attribute\Method\Route;
|
||||
use Psr\Http\Message\{ ServerRequestInterface, ResponseInterface };
|
||||
|
||||
use %NAMESPACE%\{Lib, %USE_ENTITY_NS%, %USE_FORM_NS%, };
|
||||
use function %NAMESPACE%\View\{_, lang, url, route, form};
|
||||
|
||||
#[\Notes\Route\Attribute\Object\Route(base:"%API_ROUTE_BASE%/%CLASSNAME_LC%")]
|
||||
class %CLASSNAME% {
|
||||
use Lib\ApiTrait;
|
||||
|
||||
#[Route(route: "/documentation", name: "api.%CLASSNAME_LC%:docs", method: "GET")]
|
||||
public function index(ServerRequestInterface $request, array $attributes): ResponseInterface
|
||||
{
|
||||
return $this->renderMarkdown(getenv("PROJECT_PATH") . "/meta/docs/%CLASSNAME_LC%.md", [ %ENTITY_NS%\%CLASSNAME%::class, ], [ %FORM_NS%\%SAVE_FORM_CONTEXT_CLASSNAME%::class, %FORM_NS%\%DELETE_FORM_CONTEXT_CLASSNAME%::class ]);
|
||||
}
|
||||
|
||||
#[Route("/", name: "api.%CLASSNAME_LC%:list", method: "GET")]
|
||||
public function list(ServerRequestInterface $request, array $attributes) : ResponseInterface
|
||||
{
|
||||
$request = $this->searchEntitiesFromRequest($request, %ENTITY_NS%\%CLASSNAME%::class);
|
||||
$result = $request->getAttribute("lean.searchRequest")[%ENTITY_NS%\%CLASSNAME%::class];
|
||||
|
||||
return $this->outputSearchResult($result);
|
||||
}
|
||||
|
||||
#[Route("/", name: "api.%CLASSNAME_LC%:add", method: "POST")]
|
||||
public function add(ServerRequestInterface $request, array $attributes) : ResponseInterface
|
||||
{
|
||||
$entity = new %ENTITY_NS%\%CLASSNAME%();
|
||||
|
||||
form($this->formFactory->%SAVE_FORM_CLASSNAME_LC%($entity), $this->formFactory->%SAVE_FORM_CONTEXT_CLASSNAME_LC%($request));
|
||||
|
||||
return $this->output($entity, (int) $entity->isLoaded());
|
||||
}
|
||||
|
||||
#[Route("/{id:\d+}", name: "api.%CLASSNAME_LC%:single", method: "GET")]
|
||||
#[Route("/{id:\d+}", name: "api.%CLASSNAME_LC%:edit", method: "PATCH")]
|
||||
public function single(ServerRequestInterface $request, array $attributes) : ResponseInterface
|
||||
{
|
||||
$request = $this->searchEntityFromRequest($request, %ENTITY_NS%\%CLASSNAME%::class);
|
||||
$result = $request->getAttribute("lean.searchRequest")[%ENTITY_NS%\%CLASSNAME%::class];
|
||||
|
||||
form($this->formFactory->%SAVE_FORM_CLASSNAME_LC%($result->getResult()), $this->formFactory->%SAVE_FORM_CONTEXT_CLASSNAME_LC%($request));
|
||||
|
||||
return $this->outputSearchResult($result);
|
||||
}
|
||||
|
||||
#[Route("/{id:\d+}", name: "api.%CLASSNAME_LC%:delete", method: "DELETE")]
|
||||
public function delete(ServerRequestInterface $request, array $attributes) : ResponseInterface
|
||||
{
|
||||
$request = $this->searchEntityFromRequest($request, %ENTITY_NS%\%CLASSNAME%::class);
|
||||
$result = $request->getAttribute("lean.searchRequest")[%ENTITY_NS%\%CLASSNAME%::class];
|
||||
|
||||
form($this->formFactory->%DELETE_FORM_CLASSNAME_LC%($result->getResult()), $this->formFactory->%DELETE_FORM_CONTEXT_CLASSNAME_LC%($request));
|
||||
|
||||
return $this->outputSearchResult($result);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user