Skip to content

Commit 2e004b9

Browse files
authored
Merge pull request #129 from Lomkit/fix/bug_documentation-routes
🐛 documentation routes
2 parents c5d525f + 7573bf1 commit 2e004b9

File tree

3 files changed

+39
-34
lines changed

3 files changed

+39
-34
lines changed

src/Documentation/Schemas/OpenAPI.php

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -265,18 +265,17 @@ public function generatePaths()
265265
$controller = $route->getController();
266266

267267
if ($controller instanceof Controller) {
268-
$path = match (Str::afterLast($route->getName(), '.')) {
269-
'details' => (new Path())->generateDetailAndDestroy($controller),
270-
'search' => (new Path())->generateSearch($controller),
271-
'mutate' => (new Path())->generateMutate($controller),
272-
'operate' => (new Path())->generateActions($controller),
273-
'restore' => (new Path())->generateRestore($controller),
274-
'forceDelete' => (new Path())->generateForceDelete($controller),
275-
default => null
276-
};
277-
278-
if (!is_null($path)) {
279-
$paths['/'.$route->uri()] = $path;
268+
switch ($actionMethod = $route->getActionMethod()) {
269+
case 'mutate':
270+
case 'search':
271+
case 'operate':
272+
case 'restore':
273+
case 'forceDelete':
274+
case 'details':
275+
case 'destroy':
276+
$path = $paths['/'.$route->uri()] ?? new Path();
277+
$paths['/'.$route->uri()] = $path->{'generate'.Str::ucfirst($actionMethod)}($controller);
278+
break;
280279
}
281280
}
282281
}

src/Documentation/Schemas/Operation.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ public function generate(): Schema
192192
*
193193
* @return Operation
194194
*/
195-
public function generateDetail(Controller $controller): Operation
195+
public function generateDetails(Controller $controller): Operation
196196
{
197197
return $controller->generateDocumentationDetailOperation(
198198
$this
@@ -267,7 +267,7 @@ public function generateMutate(Controller $controller): Operation
267267
*
268268
* @return Operation
269269
*/
270-
public function generateActions(Controller $controller): Operation
270+
public function generateOperate(Controller $controller): Operation
271271
{
272272
return $controller->generateDocumentationActionsOperation(
273273
$this

src/Documentation/Schemas/Path.php

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -380,24 +380,35 @@ public function generate(): Path
380380
}
381381

382382
/**
383-
* Generates a Path schema with operations for retrieving resource details and performing resource deletion.
383+
* Generates a Path schema with operations for performing resource deletion.
384384
*
385385
* @param Controller $controller The controller instance used for generating documentation.
386386
*
387387
* @return Path
388388
*/
389-
public function generateDetailAndDestroy(Controller $controller): Path
389+
public function generateDestroy(Controller $controller): Path
390390
{
391391
return $this
392-
->withGet(
393-
(new Operation())
394-
->generateDetail($controller)
395-
)
396392
->withDelete(
397393
(new Operation())
398394
->generateDestroy($controller)
399-
)
400-
->generate();
395+
);
396+
}
397+
398+
/**
399+
* Generates a Path schema with operations for retrieving resource details.
400+
*
401+
* @param Controller $controller The controller instance used for generating documentation.
402+
*
403+
* @return Path
404+
*/
405+
public function generateDetails(Controller $controller): Path
406+
{
407+
return $this
408+
->withGet(
409+
(new Operation())
410+
->generateDetails($controller)
411+
);
401412
}
402413

403414
/**
@@ -413,8 +424,7 @@ public function generateSearch(Controller $controller): Path
413424
->withPost(
414425
(new Operation())
415426
->generateSearch($controller)
416-
)
417-
->generate();
427+
);
418428
}
419429

420430
/**
@@ -430,8 +440,7 @@ public function generateMutate(Controller $controller): Path
430440
->withPost(
431441
(new Operation())
432442
->generateMutate($controller)
433-
)
434-
->generate();
443+
);
435444
}
436445

437446
/**
@@ -441,12 +450,12 @@ public function generateMutate(Controller $controller): Path
441450
*
442451
* @return Path
443452
*/
444-
public function generateActions(Controller $controller): Path
453+
public function generateOperate(Controller $controller): Path
445454
{
446455
return $this
447456
->withPost(
448457
(new Operation())
449-
->generateActions($controller)
458+
->generateOperate($controller)
450459
)
451460
->withParameters(
452461
[
@@ -462,8 +471,7 @@ public function generateActions(Controller $controller): Path
462471
->withRequired()
463472
->generate(),
464473
]
465-
)
466-
->generate();
474+
);
467475
}
468476

469477
/**
@@ -479,8 +487,7 @@ public function generateRestore(Controller $controller): Path
479487
->withPost(
480488
(new Operation())
481489
->generateRestore($controller)
482-
)
483-
->generate();
490+
);
484491
}
485492

486493
/**
@@ -496,7 +503,6 @@ public function generateForceDelete(Controller $controller): Path
496503
->withDelete(
497504
(new Operation())
498505
->generateForceDelete($controller)
499-
)
500-
->generate();
506+
);
501507
}
502508
}

0 commit comments

Comments
 (0)