Skip to content

Commit 3e96fa7

Browse files
Bump Scramble to stable 0.12.x (#258)
Co-authored-by: romalytvynenko <[email protected]>
1 parent 2b15d50 commit 3e96fa7

File tree

5 files changed

+18
-30
lines changed

5 files changed

+18
-30
lines changed

.github/workflows/build-api-docs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
run: |
3131
composer config repositories.scramble-pro '{"type": "composer", "url": "https://satis.dedoc.co"}'
3232
composer config http-basic.satis.dedoc.co ${{ secrets.SCRAMBLE_USERNAME }} ${{ secrets.SCRAMBLE_KEY }}
33-
composer require dedoc/scramble-pro:0.7.0-alpha.1 --dev
33+
composer require dedoc/scramble-pro:^0.7.4 --dev
3434
3535
- name: Checkout documentation repository
3636
uses: actions/checkout@v4

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"twig/twig": "^3.0"
4242
},
4343
"require-dev": {
44-
"dedoc/scramble": "0.12.0-alpha.1",
44+
"dedoc/scramble": "^0.12.11",
4545
"larastan/larastan": "^3.0",
4646
"laravel/pail": "^1.1",
4747
"orchestra/testbench": "^9.5.1",

src/CachetCoreServiceProvider.php

+14-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
namespace Cachet;
44

55
use BladeUI\Icons\Factory;
6-
use Cachet\Documentation\AddAuthenticationToOperation;
76
use Cachet\Listeners\SendWebhookListener;
87
use Cachet\Listeners\WebhookCallEventListener;
98
use Cachet\Models\Incident;
@@ -12,7 +11,9 @@
1211
use Cachet\View\ViewManager;
1312
use Dedoc\Scramble\Scramble;
1413
use Dedoc\Scramble\Support\Generator\OpenApi;
14+
use Dedoc\Scramble\Support\Generator\Operation;
1515
use Dedoc\Scramble\Support\Generator\SecurityScheme;
16+
use Dedoc\Scramble\Support\RouteInfo;
1617
use Filament\Support\Colors\Color;
1718
use Filament\Support\Facades\FilamentColor;
1819
use Illuminate\Cache\RateLimiting\Limit;
@@ -26,6 +27,7 @@
2627
use Illuminate\Support\Facades\RateLimiter;
2728
use Illuminate\Support\Facades\Route;
2829
use Illuminate\Support\ServiceProvider;
30+
use Illuminate\Support\Str;
2931
use Spatie\WebhookServer\Events\WebhookCallFailedEvent;
3032
use Spatie\WebhookServer\Events\WebhookCallSucceededEvent;
3133

@@ -214,14 +216,18 @@ private function configureScramble(): void
214216
return;
215217
}
216218

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.';
219222

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:'));
224227

225-
Scramble::registerExtension(AddAuthenticationToOperation::class);
228+
if (! $hasAuthMiddleware) {
229+
$operation->security = [];
230+
}
231+
});
226232
}
227233
}

src/Documentation/AddAuthenticationToOperation.php

-20
This file was deleted.

src/Http/Controllers/Api/ScheduleController.php

+2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
use Cachet\Models\Schedule;
1515
use Dedoc\Scramble\Attributes\Group;
1616
use Dedoc\Scramble\Attributes\QueryParameter;
17+
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
1718
use Illuminate\Http\Response;
19+
use Illuminate\Pagination\Paginator;
1820
use Illuminate\Routing\Controller;
1921
use Spatie\QueryBuilder\AllowedFilter;
2022
use Spatie\QueryBuilder\QueryBuilder;

0 commit comments

Comments
 (0)