fix swagger docs
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user