Skip to content

Commit c9a267c

Browse files
committed
Collections
1 parent 62344bc commit c9a267c

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

config/openapi.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
// Leave uri null to disable.
3636
'route' => [
3737
'uri' => '/openapi',
38+
'middleware' => [],
3839
],
3940

4041
],

routes/api.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
<?php
22

3+
use Illuminate\Support\Arr;
34
use Illuminate\Support\Facades\Route;
45
use Vyuldashev\LaravelOpenApi\Http\OpenApiController;
56

6-
Route::group(['as' => 'open-api.'], function () {
7-
Route::get(config('openapi.route.uri'), [OpenApiController::class, 'show'])->name('specification');
7+
Route::group(['as' => 'openapi.'], function () {
8+
foreach (config('openapi.collections') as $name => $config) {
9+
$uri = Arr::get($config, 'route.uri');
10+
11+
if (!$uri) {
12+
continue;
13+
}
14+
15+
Route::get($uri, [OpenApiController::class, 'show'])
16+
->name($name . '.specification')
17+
->middleware(Arr::get($config, 'route.middleware'));
18+
}
819
});

src/Annotations/Collection.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
namespace Vyuldashev\LaravelOpenApi\Annotations;
44

5+
use Doctrine\Common\Annotations\Annotation\Target;
6+
57
/**
68
* @Annotation
9+
*
10+
* @Target({"CLASS", "METHOD"})
711
*/
812
class Collection
913
{

src/OpenApiServiceProvider.php

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,7 @@ public function boot(): void
4848
);
4949
});
5050

51-
// TODO routes for all collections
52-
foreach (config('openapi.collections', []) as $collection) {
53-
//
54-
}
55-
56-
if ((string)config('openapi.route.uri') !== '') {
57-
$this->loadRoutesFrom(__DIR__ . '/../routes/api.php');
58-
}
51+
$this->loadRoutesFrom(__DIR__ . '/../routes/api.php');
5952
}
6053

6154
public function register(): void

0 commit comments

Comments
 (0)