|
3 | 3 | namespace Cachet;
|
4 | 4 |
|
5 | 5 | use BladeUI\Icons\Factory;
|
6 |
| -use Cachet\Documentation\AddAuthenticationToOperation; |
7 | 6 | use Cachet\Listeners\SendWebhookListener;
|
8 | 7 | use Cachet\Listeners\WebhookCallEventListener;
|
9 | 8 | use Cachet\Models\Incident;
|
|
12 | 11 | use Cachet\View\ViewManager;
|
13 | 12 | use Dedoc\Scramble\Scramble;
|
14 | 13 | use Dedoc\Scramble\Support\Generator\OpenApi;
|
| 14 | +use Dedoc\Scramble\Support\Generator\Operation; |
15 | 15 | use Dedoc\Scramble\Support\Generator\SecurityScheme;
|
| 16 | +use Dedoc\Scramble\Support\RouteInfo; |
16 | 17 | use Filament\Support\Colors\Color;
|
17 | 18 | use Filament\Support\Facades\FilamentColor;
|
18 | 19 | use Illuminate\Cache\RateLimiting\Limit;
|
|
26 | 27 | use Illuminate\Support\Facades\RateLimiter;
|
27 | 28 | use Illuminate\Support\Facades\Route;
|
28 | 29 | use Illuminate\Support\ServiceProvider;
|
| 30 | +use Illuminate\Support\Str; |
29 | 31 | use Spatie\WebhookServer\Events\WebhookCallFailedEvent;
|
30 | 32 | use Spatie\WebhookServer\Events\WebhookCallSucceededEvent;
|
31 | 33 |
|
@@ -214,14 +216,18 @@ private function configureScramble(): void
|
214 | 216 | return;
|
215 | 217 | }
|
216 | 218 |
|
217 |
| - Scramble::afterOpenApiGenerated(function (OpenApi $openApi) { |
218 |
| - $openApi->info->description = 'API documentation for Cachet, the open-source, self-hosted status page system.'; |
| 219 | + Scramble::configure() |
| 220 | + ->withDocumentTransformers(function (OpenApi $openApi) { |
| 221 | + $openApi->info->description = 'API documentation for Cachet, the open-source, self-hosted status page system.'; |
219 | 222 |
|
220 |
| - $openApi->secure( |
221 |
| - SecurityScheme::http('bearer') |
222 |
| - ); |
223 |
| - }); |
| 223 | + $openApi->secure(SecurityScheme::http('bearer')); |
| 224 | + }) |
| 225 | + ->withOperationTransformers(function (Operation $operation, RouteInfo $routeInfo) { |
| 226 | + $hasAuthMiddleware = collect($routeInfo->route->gatherMiddleware())->contains(fn ($m) => Str::startsWith($m, 'auth:')); |
224 | 227 |
|
225 |
| - Scramble::registerExtension(AddAuthenticationToOperation::class); |
| 228 | + if (! $hasAuthMiddleware) { |
| 229 | + $operation->security = []; |
| 230 | + } |
| 231 | + }); |
226 | 232 | }
|
227 | 233 | }
|
0 commit comments