Phred/src/Providers/Core/OpenApiServiceProvider.php
Funky Waddle 54303282d7
Some checks failed
CI / PHP ${{ matrix.php }} (8.1) (push) Has been cancelled
CI / PHP ${{ matrix.php }} (8.2) (push) Has been cancelled
CI / PHP ${{ matrix.php }} (8.3) (push) Has been cancelled
Too many things
2026-01-06 11:02:05 -06:00

32 lines
1 KiB
PHP

<?php
declare(strict_types=1);
namespace Phred\Providers\Core;
use DI\Container;
use DI\ContainerBuilder;
use Phred\Http\Routing\RouteRegistry;
use Phred\Support\Contracts\ConfigInterface;
use Phred\Support\Contracts\ServiceProviderInterface;
use Phred\Http\Controllers\OpenApiJsonController;
use Phred\Http\Controllers\OpenApiUiController;
final class OpenApiServiceProvider implements ServiceProviderInterface
{
public function register(ContainerBuilder $builder, ConfigInterface $config): void
{
// No special bindings needed for OpenApi controllers as they can be autowired
}
public function boot(Container $container): void
{
RouteRegistry::add(static function ($r, $router): void {
$router->group('/_phred', static function ($router): void {
$router->get('/openapi', OpenApiJsonController::class);
$router->get('/openapi.json', OpenApiJsonController::class);
$router->get('/docs', OpenApiUiController::class);
});
});
}
}