diff options
author | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-07-30 06:36:58 +0300 |
---|---|---|
committer | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-07-30 06:36:58 +0300 |
commit | dd25695569bc86f66e6be393bf92394229639549 (patch) | |
tree | 33c01835e897b2caace218b8bcd339e76acd2acc /libraries | |
parent | 51db9db3ddc06e0bfc2909abb7585325885d2e7d (diff) |
Extract normalization 2NF new tables action
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries')
4 files changed, 41 insertions, 8 deletions
diff --git a/libraries/classes/Controllers/Normalization/SecondNormalForm/NewTablesController.php b/libraries/classes/Controllers/Normalization/SecondNormalForm/NewTablesController.php new file mode 100644 index 0000000000..07232fa380 --- /dev/null +++ b/libraries/classes/Controllers/Normalization/SecondNormalForm/NewTablesController.php @@ -0,0 +1,32 @@ +<?php + +declare(strict_types=1); + +namespace PhpMyAdmin\Controllers\Normalization\SecondNormalForm; + +use PhpMyAdmin\Controllers\AbstractController; +use PhpMyAdmin\Http\ServerRequest; +use PhpMyAdmin\Normalization; +use PhpMyAdmin\ResponseRenderer; +use PhpMyAdmin\Template; + +use function json_decode; + +final class NewTablesController extends AbstractController +{ + /** @var Normalization */ + private $normalization; + + public function __construct(ResponseRenderer $response, Template $template, Normalization $normalization) + { + parent::__construct($response, $template); + $this->normalization = $normalization; + } + + public function __invoke(ServerRequest $request): void + { + $partialDependencies = json_decode($_POST['pd'], true); + $html = $this->normalization->getHtmlForNewTables2NF($partialDependencies, $GLOBALS['table']); + $this->response->addHTML($html); + } +} diff --git a/libraries/classes/Controllers/NormalizationController.php b/libraries/classes/Controllers/NormalizationController.php index 7886423ce7..02451e26fa 100644 --- a/libraries/classes/Controllers/NormalizationController.php +++ b/libraries/classes/Controllers/NormalizationController.php @@ -82,14 +82,6 @@ class NormalizationController extends AbstractController return; } - if (isset($_POST['getNewTables2NF'])) { - $partialDependencies = json_decode($_POST['pd'], true); - $html = $this->normalization->getHtmlForNewTables2NF($partialDependencies, $GLOBALS['table']); - echo $html; - - return; - } - if (isset($_POST['getNewTables3NF'])) { $dependencies = json_decode($_POST['pd']); $tables = json_decode($_POST['tables'], true); diff --git a/libraries/routes.php b/libraries/routes.php index dad41d8b24..d150421a99 100644 --- a/libraries/routes.php +++ b/libraries/routes.php @@ -136,6 +136,7 @@ return static function (RouteCollector $routes): void { $routes->post('/1nf/step2', Normalization\FirstNormalForm\SecondStepController::class); $routes->post('/1nf/step3', Normalization\FirstNormalForm\ThirdStepController::class); $routes->post('/1nf/step4', Normalization\FirstNormalForm\FourthStepController::class); + $routes->post('/2nf/new-tables', Normalization\SecondNormalForm\NewTablesController::class); $routes->post('/2nf/step1', Normalization\SecondNormalForm\FirstStepController::class); }); $routes->get('/phpinfo', PhpInfoController::class); diff --git a/libraries/services_controllers.php b/libraries/services_controllers.php index 9009548946..dc7fa99985 100644 --- a/libraries/services_controllers.php +++ b/libraries/services_controllers.php @@ -625,6 +625,14 @@ return [ '$normalization' => '@normalization', ], ], + Normalization\SecondNormalForm\NewTablesController::class => [ + 'class' => Normalization\SecondNormalForm\NewTablesController::class, + 'arguments' => [ + '$response' => '@response', + '$template' => '@template', + '$normalization' => '@normalization', + ], + ], NormalizationController::class => [ 'class' => NormalizationController::class, 'arguments' => [ |