From 982421d74f4d85107988ceea70d1914598435f1a Mon Sep 17 00:00:00 2001 From: alexmerlin Date: Wed, 27 Aug 2025 13:24:49 +0300 Subject: [PATCH] Issue #21: Initialize InputFilters via init in Admin vs constructor in API Signed-off-by: alexmerlin --- src/Type/InputFilter/CreateResourceInputFilter.php | 8 +++++--- src/Type/InputFilter/DeleteResourceInputFilter.php | 5 +++-- src/Type/InputFilter/EditResourceInputFilter.php | 8 +++++--- src/Type/InputFilter/ReplaceResourceInputFilter.php | 4 ++-- test/Type/InputFilterTest.php | 6 +++--- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/Type/InputFilter/CreateResourceInputFilter.php b/src/Type/InputFilter/CreateResourceInputFilter.php index 3affd0e..0479bff 100644 --- a/src/Type/InputFilter/CreateResourceInputFilter.php +++ b/src/Type/InputFilter/CreateResourceInputFilter.php @@ -6,6 +6,7 @@ use Dot\Maker\Component; use Dot\Maker\Component\ClassFile; +use Dot\Maker\Component\Method; use Dot\Maker\Component\Method\Constructor; use Dot\Maker\Exception\BadRequestException; use Dot\Maker\Exception\DuplicateFileException; @@ -57,7 +58,8 @@ public function render(string $name, Component $inputFilter): string */ COMM); - $init = (new Constructor()) + $init = (new Method('init')) + ->setReturnType('self') ->setBody(<<setBody(<<addMethod($init); + $class->addMethod($constructor); return $class->render(); } diff --git a/src/Type/InputFilter/DeleteResourceInputFilter.php b/src/Type/InputFilter/DeleteResourceInputFilter.php index 800320b..e9984de 100644 --- a/src/Type/InputFilter/DeleteResourceInputFilter.php +++ b/src/Type/InputFilter/DeleteResourceInputFilter.php @@ -6,7 +6,7 @@ use Dot\Maker\Component; use Dot\Maker\Component\ClassFile; -use Dot\Maker\Component\Method\Constructor; +use Dot\Maker\Component\Method; use Dot\Maker\Exception\BadRequestException; use Dot\Maker\Exception\DuplicateFileException; use Dot\Maker\Exception\RuntimeException; @@ -58,7 +58,8 @@ public function render(string $name, Component $inputFilter, Component $input): */ COMM); - $init = (new Constructor()) + $init = (new Method('init')) + ->setReturnType('self') ->setBody(<<setReturnType('self') ->setBody(<<setBody(<<addMethod($init); + $class->addMethod($constructor); return $class->render(); } diff --git a/src/Type/InputFilter/ReplaceResourceInputFilter.php b/src/Type/InputFilter/ReplaceResourceInputFilter.php index 094d198..667523a 100644 --- a/src/Type/InputFilter/ReplaceResourceInputFilter.php +++ b/src/Type/InputFilter/ReplaceResourceInputFilter.php @@ -52,11 +52,11 @@ public function render(string $name, Component $inputFilter): string */ COMM); - $init = (new Constructor()) + $constructor = (new Constructor()) ->setBody(<<addMethod($init); + $class->addMethod($constructor); return $class->render(); } diff --git a/test/Type/InputFilterTest.php b/test/Type/InputFilterTest.php index d151783..a031754 100644 --- a/test/Type/InputFilterTest.php +++ b/test/Type/InputFilterTest.php @@ -477,7 +477,7 @@ private function dataProviderCreateResourceInputFilter(): string */ class CreateBookStoreInputFilter extends AbstractInputFilter { - public function __construct() + public function init(): self { // chain inputs below @@ -510,7 +510,7 @@ private function dataProviderDeleteResourceInputFilter(): string */ class DeleteBookStoreInputFilter extends AbstractInputFilter { - public function __construct() + public function init(): self { // chain inputs below @@ -541,7 +541,7 @@ private function dataProviderEditResourceInputFilter(): string */ class EditBookStoreInputFilter extends AbstractInputFilter { - public function __construct() + public function init(): self { // chain inputs below