- First commit, routes and database builder are usable

This commit is contained in:
mcndave committed 2020-10-20 14:01:34 +00:00
commit 5f6ce82fd2
23 files changed
+787

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
<?php
namespace Lean\Console\Controller;
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
use Notes\Route\Annotation\Object\Route as RouteParam,
Notes\Route\Annotation\Method\Route,
Notes\Security\Annotation\Security,
Notes\Tell\Annotation\Language;
use \Lean\Console\Lib;
/**
* @Language("lean.console")
*/
class Console {
use Lib\ConsoleControllerTrait;
/**
* @Route("/", "name" => "lean.console:home")
* @param ServerRequestInterface $request
* @param array $arguments
* @return ResponseInterface
*/
public function home(ServerRequestInterface $request, array $arguments) : ResponseInterface
{
return $this->renderView("page/dashboard/index", [
]);
}
}
+41
View File
@@ -0,0 +1,41 @@
<?php
namespace Lean\Console\Controller;
use League\Route\Router;
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
use Notes\Route\Annotation\Object\Route as RouteParam,
Notes\Route\Annotation\Method\Route,
Notes\Security\Annotation\Security,
Notes\Tell\Annotation\Language;
use \Lean\Console\Lib;
use Picea\Extension\UrlExtension;
/**
* @Language("lean.route")
*/
class Request extends Console {
use Lib\ConsoleControllerTrait;
/**
* @Route("/request/routes", "name" => "lean.console:request.route")
* @param ServerRequestInterface $request
* @param array $arguments
* @return ResponseInterface
*/
public function routes(ServerRequestInterface $request, array $arguments) : ResponseInterface
{
$routes = $this->container->has(UrlExtension::class) ? $this->container->get(UrlExtension::class)->getRouteList(true) : false;
uksort($routes, function($a, $b) {
return $a <=> $b;
});
return $this->renderView("page/request/route", [
'routes' => $routes
]);
}
}
+55
View File
@@ -0,0 +1,55 @@
<?php
namespace Lean\Console\Controller;
use League\Route\Router;
use Picea\Ui\Method\FormHandler;
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
use Notes\Route\Annotation\Object\Route as RouteParam,
Notes\Route\Annotation\Method\Route,
Notes\Security\Annotation\Security,
Notes\Tell\Annotation\Language;
use \Lean\Console\Lib,
\Lean\Console\Form;
use Picea\Extension\UrlExtension;
use Ulmus\Annotation\Classes\Table,
Ulmus\Container\AdapterProxy;
/**
* @Language("lean.storage")
*/
class Storage extends Console {
use Lib\ConsoleControllerTrait;
/**
* @Route("/storage/database", "name" => "lean.console:request.route")
* @param ServerRequestInterface $request
* @param array $arguments
* @return ResponseInterface
*/
public function database(ServerRequestInterface $request, array $arguments) : ResponseInterface
{
$connections = $this->container->has(AdapterProxy::class) ? $this->container->get(AdapterProxy::class)->connections : false;
$migrations = $this->container->has(Lib\DatabaseMigrations::class) ? $this->container->get(Lib\DatabaseMigrations::class) : false;
$migrations->getEntities();
$form = new FormHandler($request, new Form\Database($migrations), null);
$context = $form->context;
return $this->renderView("page/storage/database", get_defined_vars());
}
public function createTable() : void
{
foreach($migrations->entities as $table) {
// $repository = $table
// $entity::repository()->createTable();
}
}
}