diff --git a/bin/createApi.php b/bin/createApi.php index 6e9efa8..b2628c8 100644 --- a/bin/createApi.php +++ b/bin/createApi.php @@ -21,6 +21,7 @@ $cqrsDirectoryPath = $projectSourceDirectory . 'HandlingDomain/' . $cqrsNamespac # API Handler $apiHandlerName = $apiName . 'Handler'; $apiHandlerNamespace = $projectNamespace . '\\API\\' . $apiType . '\\' . $apiNamespace . '\\Handler'; +$apiHandlerUsingNamespace = $apiHandlerNamespace . '\\' . $apiHandlerName; $apiHandlerFilePath = $apiDirectoryPath . 'src/Handler/' . $apiHandlerName . '.php'; # Response Formatter @@ -74,8 +75,67 @@ function writeToFile($path, $content) { } if (!file_exists($apiDirectoryPath)) { + + $routesFileContent = " 'TODO.TODO', + 'path' => '/api/TODO/TODO[/]', + 'allowed_methods' => ['POST'], + 'middleware' => [ + {$apiHandlerName}::class, + ], + ], +]; +"; $routesFilePath = $apiDirectoryPath . 'config/routes.php'; + writeToFile($routesFilePath, $routesFileContent); + + $serviceManagerFileContent = " [ + // Handler + {$apiHandlerName}::class => AutoWiringFactory::class, + + // Response Formatter + {$$apiResponseFormatterName}::class => AutoWiringFactory::class, + ], +]; +"; $serviceManagerFilePath = $apiDirectoryPath . 'config/service_manager.php'; + writeToFile($serviceManagerFilePath, $serviceManagerFileContent); + + $configProviderFileContent = " require __DIR__ . './../config/service_manager.php', + 'routes' => require __DIR__ . '/./../config/routes.php', + ]; + } +} +"; + $configProviderFilePath = $apiDirectoryPath . 'src/ConfigProvider.php'; + writeToFile($configProviderFilePath, $configProviderFileContent); } $apiHandlerFileContent = "