From 2ae584615942ae915624ca759c7ece36481458c5 Mon Sep 17 00:00:00 2001 From: Jose Andres Tejerina Date: Thu, 13 Nov 2025 13:46:29 -0300 Subject: [PATCH 1/2] feat: Extend Swagger Coverage for controller ReleasesApiController --- .../Apis/ReleasesApiController.php | 25 +++++++++++++ app/Swagger/ReleasesSchemas.php | 36 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 app/Swagger/ReleasesSchemas.php diff --git a/app/Http/Controllers/Apis/ReleasesApiController.php b/app/Http/Controllers/Apis/ReleasesApiController.php index d1b6534f9..3c2681384 100644 --- a/app/Http/Controllers/Apis/ReleasesApiController.php +++ b/app/Http/Controllers/Apis/ReleasesApiController.php @@ -17,6 +17,8 @@ use Illuminate\Support\Facades\Log; use models\oauth2\IResourceServerContext; use ModelSerializers\SerializerRegistry; +use OpenApi\Attributes as OA; +use Symfony\Component\HttpFoundation\Response; /** * Class ReleasesApiController @@ -42,6 +44,29 @@ public function __construct /** * @return \Illuminate\Http\JsonResponse|mixed|void */ + #[OA\Get( + path: '/api/v1/releases/current', + operationId: 'getCurrentRelease', + description: 'Retrieve the current OpenStack release', + tags: ['Releases'], + responses: [ + new OA\Response( + response: Response::HTTP_OK, + description: 'Current OpenStack release', + content: new OA\JsonContent( + ref: '#/components/schemas/OpenStackRelease' + ) + ), + new OA\Response( + response: Response::HTTP_NOT_FOUND, + description: 'Current release not found' + ), + new OA\Response( + response: Response::HTTP_INTERNAL_SERVER_ERROR, + description: 'Server Error' + ), + ] + )] public function getCurrent(){ try{ $current = $this->repository->getCurrent(); diff --git a/app/Swagger/ReleasesSchemas.php b/app/Swagger/ReleasesSchemas.php new file mode 100644 index 000000000..6d7a96bfb --- /dev/null +++ b/app/Swagger/ReleasesSchemas.php @@ -0,0 +1,36 @@ + Date: Fri, 5 Dec 2025 20:40:33 +0000 Subject: [PATCH 2/2] fix: move OpenStackRelease schema to its own file, remove previous definition and fix incorrect route --- .../Apis/ReleasesApiController.php | 6 ++-- app/Swagger/Models/OpenStackReleaseSchema.php | 5 ++- app/Swagger/ReleasesSchemas.php | 32 +------------------ 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/app/Http/Controllers/Apis/ReleasesApiController.php b/app/Http/Controllers/Apis/ReleasesApiController.php index 3c2681384..3df900ccf 100644 --- a/app/Http/Controllers/Apis/ReleasesApiController.php +++ b/app/Http/Controllers/Apis/ReleasesApiController.php @@ -45,10 +45,10 @@ public function __construct * @return \Illuminate\Http\JsonResponse|mixed|void */ #[OA\Get( - path: '/api/v1/releases/current', + path: '/api/public/v1/releases/current', operationId: 'getCurrentRelease', description: 'Retrieve the current OpenStack release', - tags: ['Releases'], + tags: ['Releases (Public)'], responses: [ new OA\Response( response: Response::HTTP_OK, @@ -82,4 +82,4 @@ public function getCurrent(){ return $this->error500($ex); } } -} \ No newline at end of file +} diff --git a/app/Swagger/Models/OpenStackReleaseSchema.php b/app/Swagger/Models/OpenStackReleaseSchema.php index 9a646695a..c6277f8c0 100644 --- a/app/Swagger/Models/OpenStackReleaseSchema.php +++ b/app/Swagger/Models/OpenStackReleaseSchema.php @@ -13,6 +13,9 @@ new OA\Property(property: 'created', type: 'integer', example: 1), new OA\Property(property: 'last_edited', type: 'integer', example: 1), new OA\Property(property: 'name', type: 'string'), + new OA\Property(property: 'release_number', type: 'string', example: '2024.2'), + new OA\Property(property: 'release_date', type: 'integer', description: 'Unix timestamp', example: 1729123200), + new OA\Property(property: 'status', type: 'string', example: 'current'), new OA\Property(property: 'components', type: 'array', items: new OA\Items( oneOf: [ new OA\Schema(type: 'integer'), @@ -23,4 +26,4 @@ ] class OpenStackReleaseSchema { -} \ No newline at end of file +} diff --git a/app/Swagger/ReleasesSchemas.php b/app/Swagger/ReleasesSchemas.php index 6d7a96bfb..2371c5c43 100644 --- a/app/Swagger/ReleasesSchemas.php +++ b/app/Swagger/ReleasesSchemas.php @@ -1,36 +1,6 @@ -