- Added AdapterProxy autoload in ORM

This commit is contained in:
Dave Mc Nicoll committed 2025-05-12 15:06:47 +00:00
1 parent 69382f912b
commit 42f33d9f13
11 files changed
+76 -42

No files matched your search

+6 -8
View File
@@ -1,7 +1,5 @@
<?php
use Lean\Factory\HttpFactory;
use Ulmus\User\{Entity,
Lib\Authenticate,
Lib\Authorize,
@@ -13,7 +11,7 @@ use Picea\Picea;
use Storage\{ Cookie, Session };
use function DI\{get, autowire, create};
use function DI\{get, create};
return [
Authenticate::class => create(Authenticate::class)->constructor(get(Entity\UserInterface::class), get(Session::class), get(Cookie::class), get('authentication.method')),
@@ -29,17 +27,17 @@ return [
'authentication.method' => null,
'authorize.error' => function($c) {
return function(array $errorData) {
return HttpFactory::createJsonResponse($errorData + [
return function(array $errorData) use ($c) {
return $c->get(\Lean\Factory\HttpFactoryInterface::class)::createJsonResponse($errorData + [
'api.error' => "Authorization failed",
'api.datetime' => (new \DateTime)->format(\DateTime::ISO8601),
'api.datetime' => (new \DateTime)->format(\DateTime::ATOM),
], 403);
};
},
'authentication.error' => function($c, Picea $picea) {
return function($message) use ($picea) {
return HttpFactory::createHtmlResponse($picea->renderHtml('lean/error/500', [
return function($message) use ($picea, $c) {
return $c->get(\Lean\Factory\HttpFactoryInterface::class)::createHtmlResponse($picea->renderHtml('lean/error/500', [
'title' => "Authentication failed",
'subtitle' => "",
'message' => $message,
+2 -2
View File
@@ -64,8 +64,8 @@ return [
}
}
if ( $securityHandler->isLocked($class, $method) && $container->has(Taxus::class) && $container->has(SecurityHandler::class) ) {
if ( $forbidden = $container->get(SecurityHandler::class)->taxus($class, $method, $object->user ?? null) ) {
if ( $securityHandler->isLocked($class, $method) && $container->has(Taxus::class)) {
if ( $forbidden = $securityHandler->taxus($class, $method, $object->user ?? null) ) {
$routing->response = $forbidden;
return;
+7 -3
View File
@@ -11,8 +11,12 @@ return [
]),
AdapterProxy::class => function (Psr\Container\ContainerInterface $c) {
return new AdapterProxy(
$c->get(ConnectionAdapter::class),
);
$proxy = new AdapterProxy();
$autoload = $c->get(\Lean\Lean::class)->getConnectionAdapters();
$proxy->push($autoload);
return $proxy;
},
];
+2 -8
View File
@@ -66,20 +66,14 @@ return [
'routes' => [],
'cronard' => [],
'taxus' => [
'is_dev' => [ ' dev' => "Is a developper of this application or has the same rights" ],
'is_admin' => [ 'admin' => "Can manage almost everything in this application."],
'is_moderator' => [ 'moderator' => "Can moderate this application."],
'is_user' => [ 'user' => "Is an authenticated user."],
'is_anonymous' => [ 'anonymous' => "Is an anonymous user."],
],
],
'lean.autoload' => add([
Lean::class,
]),
\Lean\Factory\HttpFactoryInterface::class => autowire(\Lean\Factory\HttpFactory::class),
Lean::class => autowire(Lean::class),
JavascriptMiddleware::class => create(JavascriptMiddleware::class),