diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 9c562c0..224ea88 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -53,8 +53,15 @@ jobs: uses: actions/github-script@v7 with: script: | - const labels = context.payload.pull_request.labels.map((label) => label.name); - const versionLabels = labels.filter((name) => /^v\d+\.\d+(\.\d+)?$/.test(name)); + const {owner, repo} = context.repo; + const pull_number = context.payload.pull_request.number; + const {data: labels} = await github.rest.issues.listLabelsOnIssue({ + owner, + repo, + issue_number: pull_number, + }); + const labelNames = labels.map((label) => label.name); + const versionLabels = labelNames.filter((name) => /^v\d+\.\d+(\.\d+)?$/.test(name)); if (versionLabels.length !== 1) { core.setFailed(`Pull request must have exactly one version label like v0.6. Found: ${versionLabels.join(', ') || 'none'}`); diff --git a/Engine/App.php b/Engine/App.php index d6246bc..9647609 100755 --- a/Engine/App.php +++ b/Engine/App.php @@ -3,11 +3,16 @@ namespace Engine; use Engine\Error\HttpError; +use Engine\Response\JsonResponse; +use Engine\Response\Response; +use Engine\Response\ResponseEmitter; use Engine\Routing\Attributes\Body; use Engine\Routing\Attributes\Header; use Engine\Routing\Attributes\PathParam; use Engine\Routing\Attributes\QueryParam; use Engine\Routing\Attributes\Status; +use Engine\Routing\Router\Router; +use Engine\Service\ServiceContainer; use JsonException; use ReflectionClass; use ReflectionException; diff --git a/Engine/Console/Commands/RouteList.php b/Engine/Console/Commands/RouteList.php index 5d33409..05048c8 100644 --- a/Engine/Console/Commands/RouteList.php +++ b/Engine/Console/Commands/RouteList.php @@ -5,7 +5,7 @@ use Engine\Console\Cli; use Engine\Console\CommandInterface; use Engine\Modules\ModuleLoader; -use Engine\Router; +use Engine\Routing\Router\Router; class RouteList implements CommandInterface { diff --git a/Engine/Controller.php b/Engine/Controller.php index d986efd..76fa991 100755 --- a/Engine/Controller.php +++ b/Engine/Controller.php @@ -2,6 +2,9 @@ namespace Engine; +use Engine\Response\JsonResponse; +use Engine\Response\Response; +use Engine\Service\ServiceContainer; use JsonException; /** diff --git a/Engine/Modules/AbstractModule.php b/Engine/Modules/AbstractModule.php index 37d530f..40f763a 100644 --- a/Engine/Modules/AbstractModule.php +++ b/Engine/Modules/AbstractModule.php @@ -2,8 +2,8 @@ namespace Engine\Modules; -use Engine\Router; -use Engine\ServiceContainer; +use Engine\Routing\Router\Router; +use Engine\Service\ServiceContainer; abstract class AbstractModule implements ModuleInterface { diff --git a/Engine/Modules/ModuleInterface.php b/Engine/Modules/ModuleInterface.php index b006d94..012be35 100644 --- a/Engine/Modules/ModuleInterface.php +++ b/Engine/Modules/ModuleInterface.php @@ -2,8 +2,8 @@ namespace Engine\Modules; -use Engine\Router; -use Engine\ServiceContainer; +use Engine\Routing\Router\Router; +use Engine\Service\ServiceContainer; interface ModuleInterface { diff --git a/Engine/Modules/ModuleLoader.php b/Engine/Modules/ModuleLoader.php index 39b2bc6..acfb2d0 100644 --- a/Engine/Modules/ModuleLoader.php +++ b/Engine/Modules/ModuleLoader.php @@ -2,8 +2,8 @@ namespace Engine\Modules; -use Engine\Router; -use Engine\ServiceContainer; +use Engine\Routing\Router\Router; +use Engine\Service\ServiceContainer; class ModuleLoader { diff --git a/Engine/JsonResponse.php b/Engine/Response/JsonResponse.php similarity index 97% rename from Engine/JsonResponse.php rename to Engine/Response/JsonResponse.php index 08d91d8..706e3a2 100644 --- a/Engine/JsonResponse.php +++ b/Engine/Response/JsonResponse.php @@ -1,6 +1,6 @@ singletons); } -} \ No newline at end of file +} diff --git a/Engine/ServiceInterface.php b/Engine/Service/ServiceInterface.php similarity index 92% rename from Engine/ServiceInterface.php rename to Engine/Service/ServiceInterface.php index ab55e72..6ce20cf 100644 --- a/Engine/ServiceInterface.php +++ b/Engine/Service/ServiceInterface.php @@ -1,6 +1,6 @@ statusCode = $response->getStatusCode(); $this->headers = $response->getHeaders(); @@ -112,7 +113,7 @@ function makeRequest(string $method, string $uri, string $body = '', array $quer (new AttributeRouteLoader())->load($router, [TestAttributeController::class]); $routes = array_map( - static fn (\Engine\Route $route): string => $route->getMethod() . ' ' . $route->getPath(), + static fn (Route $route): string => $route->getMethod() . ' ' . $route->getPath(), $router->getRoutes() ); @@ -224,7 +225,7 @@ function makeRequest(string $method, string $uri, string $body = '', array $quer assertSameValue(true, $container->has(HealthService::class), 'Health module service should be registered.'); $routes = array_map( - static fn (\Engine\Route $route): string => $route->getMethod() . ' ' . $route->getPath(), + static fn (Route $route): string => $route->getMethod() . ' ' . $route->getPath(), $router->getRoutes() );