From ba1206e314b4c72446660495db0934facdbc193a Mon Sep 17 00:00:00 2001 From: root Date: Tue, 10 Mar 2026 18:29:09 -0400 Subject: [PATCH] fix swagger docs --- app/Services/Docs/OpenApiRouteExporter.php | 23 ++++++++++++++++++++- resources/docs/openapi.json | 2 +- resources/views/docs/swagger.blade.php | 2 +- school_api | Bin 622592 -> 622592 bytes 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/Services/Docs/OpenApiRouteExporter.php b/app/Services/Docs/OpenApiRouteExporter.php index 382d330c..a915d536 100644 --- a/app/Services/Docs/OpenApiRouteExporter.php +++ b/app/Services/Docs/OpenApiRouteExporter.php @@ -4,6 +4,7 @@ namespace App\Services\Docs; use Illuminate\Routing\Route; use Illuminate\Support\Facades\Route as RouteFacade; +use Illuminate\Support\Str; class OpenApiRouteExporter { @@ -28,6 +29,10 @@ class OpenApiRouteExporter private function mergeRoute(array &$paths, Route $route): void { + if (!$this->isApiControllerRoute($route)) { + return; + } + $uriRaw = ltrim($route->uri(), '/'); if (str_starts_with($uriRaw, 'api/')) { $uri = '/' . $uriRaw; @@ -65,6 +70,16 @@ class OpenApiRouteExporter } } + private function isApiControllerRoute(Route $route): bool + { + $action = $route->getActionName(); + if (!is_string($action)) { + return false; + } + + return str_starts_with($action, 'App\\Http\\Controllers\\Api\\'); + } + private function resolveTag(string $uri): string { $trimmed = trim(str_replace('/api/v1', '', $uri), '/'); @@ -72,7 +87,13 @@ class OpenApiRouteExporter return 'api'; } $segments = explode('/', $trimmed); - return $segments[0] ?: 'api'; + $segment = $segments[0] ?: 'api'; + $normalized = Str::title(str_replace('-', ' ', $segment)); + $overrides = [ + 'Whatsapp' => 'WhatsApp', + ]; + + return $overrides[$normalized] ?? $normalized; } private function summaryFromAction(Route $route): string diff --git a/resources/docs/openapi.json b/resources/docs/openapi.json index 524eb3ae..743f1dfd 100755 --- a/resources/docs/openapi.json +++ b/resources/docs/openapi.json @@ -3,7 +3,7 @@ "info": { "title": "Alrahma Unified API", "version": "1.0.0", - "description": "HTTP endpoints that power the Alrahma platform. Routes are namespaced under `/api/v1` unless noted otherwise." + "description": "HTTP endpoints that power the Alrahma platform. Routes are namespaced under /api/v1 unless noted otherwise." }, "servers": [ { diff --git a/resources/views/docs/swagger.blade.php b/resources/views/docs/swagger.blade.php index 7d3fcdc1..837751d8 100755 --- a/resources/views/docs/swagger.blade.php +++ b/resources/views/docs/swagger.blade.php @@ -7,7 +7,7 @@ Alrahma API Docs diff --git a/school_api b/school_api index 292098782d4299d6ec76ac2419b4305bbe4cddd0..57e5ac8e8a733d7ca1dd9cd5d16a5dcefc47b51f 100644 GIT binary patch delta 58 zcmZo@P-|#Vn;^|-GEv5v(WEhNC$4U;_XfkP;>U delta 58 zcmZo@P-|#Vn;^}oGEv5vQKd1VHG#1;fvGitxix{MHG#D?fvq)xy)}VjYXavyf2NtH O+X6WM>NC$YWdi^gU=mCK