Skip to content

Commit

Permalink
Properly support OpenAPI (#54)
Browse files Browse the repository at this point in the history
* Update generator.php to properly support OpenAPI

* Resolve styleci issue and switch to using version_compare instead

* Update the test annotations from OAS to OA
  • Loading branch information
stcktrce authored and DarkaOnLine committed Jul 31, 2018
1 parent c786918 commit 4fd9a49
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 22 deletions.
7 changes: 6 additions & 1 deletion src/Generator.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ public static function generateDocs()

File::makeDirectory($docDir);
$excludeDirs = config('swagger-lume.paths.excludes');
$swagger = \Swagger\scan($appDir, ['exclude' => $excludeDirs]);

if (version_compare(config('swagger-lume.swagger_version'), '3.0', '>=')) {
$swagger = \OpenApi\scan($appDir, ['exclude' => $excludeDirs]);
} else {
$swagger = \Swagger\scan($appDir, ['exclude' => $excludeDirs]);
}

if (config('swagger-lume.paths.base') !== null) {
$swagger->basePath = config('swagger-lume.paths.base');
Expand Down
42 changes: 21 additions & 21 deletions tests/storage/annotations/OpenApi/Anotations.php
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
<?php

/**
* @OAS\Info(
* @OA\Info(
* version="1.0.0",
* title="SwaggerLume OpenApi",
* description="SwaggerLume OpenApi description",
* @OAS\Contact(
* @OA\Contact(
* email="[email protected]"
* ),
* @OAS\License(
* @OA\License(
* name="Apache 2.0",
* url="http://www.apache.org/licenses/LICENSE-2.0.html"
* )
* )
*/

/**
* @OAS\Server(
* @OA\Server(
* url=SWAGGER_LUME_CONST_HOST,
* description="SwaggerLume OpenApi dynamic host server"
* )
*
* @OAS\Server(
* @OA\Server(
* url="https://projects.dev/api/v1",
* description="SwaggerLume OpenApi Server"
* )
*/

/**
* @OAS\SecurityScheme(
* @OA\SecurityScheme(
* type="oauth2",
* description="Use a global client_id / client_secret and your username / password combo to obtain a token",
* name="Password Based",
* in="header",
* scheme="https",
* securityScheme="Password Based",
* @OAS\Flow(
* @OA\Flow(
* flow="password",
* authorizationUrl="/oauth/authorize",
* tokenUrl="/oauth/token",
Expand All @@ -45,41 +45,41 @@
*/

/**
* @OAS\Tag(
* @OA\Tag(
* name="project",
* description="Everything about your Projects",
* @OAS\ExternalDocumentation(
* @OA\ExternalDocumentation(
* description="Find out more",
* url="http://swagger.io"
* )
* )
*
* @OAS\Tag(
* @OA\Tag(
* name="user",
* description="Operations about user",
* @OAS\ExternalDocumentation(
* @OA\ExternalDocumentation(
* description="Find out more about",
* url="http://swagger.io"
* )
* )
* @OAS\ExternalDocumentation(
* @OA\ExternalDocumentation(
* description="Find out more about Swagger",
* url="http://swagger.io"
* )
*/

/**
* @OAS\Get(
* @OA\Get(
* path="/projects",
* operationId="getProjectsList",
* tags={"Projects"},
* summary="Get list of projects",
* description="Returns list of projects",
* @OAS\Response(
* @OA\Response(
* response=200,
* description="successful operation"
* ),
* @OAS\Response(response=400, description="Bad request"),
* @OA\Response(response=400, description="Bad request"),
* security={
* {"api_key_security_example": {}}
* }
Expand All @@ -89,27 +89,27 @@
*/

/**
* @OAS\Get(
* @OA\Get(
* path="/projects/{id}",
* operationId="getProjectById",
* tags={"Projects"},
* summary="Get project information",
* description="Returns project data",
* @OAS\Parameter(
* @OA\Parameter(
* name="id",
* description="Project id",
* required=true,
* in="path",
* @OAS\Schema(
* @OA\Schema(
* type="integer"
* )
* ),
* @OAS\Response(
* @OA\Response(
* response=200,
* description="successful operation"
* ),
* @OAS\Response(response=400, description="Bad request"),
* @OAS\Response(response=404, description="Resource Not Found"),
* @OA\Response(response=400, description="Bad request"),
* @OA\Response(response=404, description="Resource Not Found"),
* security={
* {
* "oauth2_security_example": {"write:projects", "read:projects"}
Expand Down

0 comments on commit 4fd9a49

Please sign in to comment.