Add Model Docs to scala-akka generator as defined in its README (#11684)

Co-authored-by: Gustavo De Micheli <gustavo.de.micheli@lunatech.com>
This commit is contained in:
Gustavo De Micheli
2022-02-22 09:38:36 +01:00
committed by GitHub
parent 7dcfe62dee
commit f59c07b24a
12 changed files with 183 additions and 6 deletions

View File

@@ -43,6 +43,7 @@ public class ScalaAkkaClientCodegen extends AbstractScalaCodegen implements Code
protected String artifactId = "openapi-client";
protected String artifactVersion = "1.0.0";
protected String resourcesFolder = "src/main/resources";
protected String modelDocPath = "docs/";
protected String configKey = "apiRequest";
protected int defaultTimeoutInMs = 5000;
protected String configKeyPath = mainPackage;
@@ -85,6 +86,7 @@ public class ScalaAkkaClientCodegen extends AbstractScalaCodegen implements Code
outputFolder = "generated-code/scala-akka";
modelTemplateFiles.put("model.mustache", ".scala");
apiTemplateFiles.put("api.mustache", ".scala");
modelDocTemplateFiles.put("model_doc.mustache", ".md");
embeddedTemplateDir = templateDir = "scala-akka-client";
apiPackage = mainPackage + ".api";
modelPackage = mainPackage + ".model";
@@ -164,6 +166,7 @@ public class ScalaAkkaClientCodegen extends AbstractScalaCodegen implements Code
}
}
additionalProperties.put(CodegenConstants.INVOKER_PACKAGE, invokerPackage);
additionalProperties.put("modelDocPath", modelDocPath);
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
supportingFiles.add(new SupportingFile("build.sbt.mustache", "", "build.sbt"));
@@ -360,4 +363,9 @@ public class ScalaAkkaClientCodegen extends AbstractScalaCodegen implements Code
public void setMainPackage(String mainPackage) {
this.configKeyPath = this.mainPackage = mainPackage;
}
@Override
public String modelDocFileFolder() {
return (outputFolder + File.separator + modelDocPath).replace('/', File.separatorChar);
}
}

View File

@@ -0,0 +1,32 @@
# {{#vendorExtensions.x-is-one-of-interface}}Trait {{/vendorExtensions.x-is-one-of-interface}}{{classname}}
{{#description}}{{&description}}
{{/description}}
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
{{#vars}}**{{name}}** | {{#isEnum}}[**{{datatypeWithEnum}}**](#{{datatypeWithEnum}}){{/isEnum}}{{^isEnum}}{{#isContainer}}{{#isArray}}{{#items}}{{#isModel}}[{{/isModel}}{{/items}}**{{baseType}}{{#items}}&lt;{{dataType}}&gt;**{{#isModel}}]({{^baseType}}{{dataType}}{{/baseType}}{{baseType}}.md){{/isModel}}{{/items}}{{/isArray}}{{#isMap}}{{#items}}{{#isModel}}[{{/isModel}}**Map&lt;String, {{dataType}}&gt;**{{#isModel}}]({{^baseType}}{{dataType}}{{/baseType}}{{baseType}}.md){{/isModel}}{{/items}}{{/isMap}}{{/isContainer}}{{^isContainer}}{{#isModel}}[{{/isModel}}**{{dataType}}**{{#isModel}}]({{^baseType}}{{dataType}}{{/baseType}}{{baseType}}.md){{/isModel}}{{/isContainer}}{{/isEnum}} | {{description}} | {{^required}} [optional]{{/required}}{{#isReadOnly}} [readonly]{{/isReadOnly}}
{{/vars}}
{{#vars}}{{#isEnum}}
## Enum: {{datatypeWithEnum}}
Allowed values: {{#allowableValues}}[{{#values}}{{{.}}}{{^-last}}, {{/-last}}{{/values}}]{{/allowableValues}}
{{/isEnum}}{{/vars}}
{{#vendorExtensions.x-implements.0}}
## Implemented Interfaces
{{#vendorExtensions.x-implements}}
* {{{.}}}
{{/vendorExtensions.x-implements}}
{{/vendorExtensions.x-implements.0}}
{{#vendorExtensions.x-is-one-of-interface}}
## Implementing Classes
{{#oneOf}}
* {{{.}}}
{{/oneOf}}
{{/vendorExtensions.x-is-one-of-interface}}

View File

@@ -0,0 +1,7 @@
# {{classname}}
## Enum
{{#allowableValues}}{{#enumVars}}
* `{{name}}` (value: `{{{value}}}`)
{{/enumVars}}{{/allowableValues}}

View File

@@ -0,0 +1,9 @@
{{#models}}{{#model}}
{{#isEnum}}
{{>enum_doc}}
{{/isEnum}}
{{^isEnum}}
{{>class_doc}}
{{/isEnum}}
{{/model}}{{/models}}

View File

@@ -1,5 +1,11 @@
README.md
build.sbt
docs/ApiResponse.md
docs/Category.md
docs/Order.md
docs/Pet.md
docs/Tag.md
docs/User.md
project/build.properties
src/main/resources/reference.conf
src/main/scala/org/openapitools/client/api/EnumsSerializers.scala

View File

@@ -89,12 +89,12 @@ Class | Method | HTTP request | Description
## Documentation for Models
- [ApiResponse](ApiResponse.md)
- [Category](Category.md)
- [Order](Order.md)
- [Pet](Pet.md)
- [Tag](Tag.md)
- [User](User.md)
- [ApiResponse](docs/ApiResponse.md)
- [Category](docs/Category.md)
- [Order](docs/Order.md)
- [Pet](docs/Pet.md)
- [Tag](docs/Tag.md)
- [User](docs/User.md)
## Documentation for Authorization

View File

@@ -0,0 +1,16 @@
# ApiResponse
Describes the result of uploading an image resource
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**code** | **Int** | | [optional]
**`type`** | **String** | | [optional]
**message** | **String** | | [optional]

View File

@@ -0,0 +1,15 @@
# Category
A category for a pet
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **Long** | | [optional]
**name** | **String** | | [optional]

View File

@@ -0,0 +1,24 @@
# Order
An order for a pets from the pet store
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **Long** | | [optional]
**petId** | **Long** | | [optional]
**quantity** | **Int** | | [optional]
**shipDate** | **OffsetDateTime** | | [optional]
**status** | [**Status**](#Status) | Order Status | [optional]
**complete** | **Boolean** | | [optional]
## Enum: Status
Allowed values: [placed, approved, delivered]

View File

@@ -0,0 +1,24 @@
# Pet
A pet for sale in the pet store
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **Long** | | [optional]
**category** | [**Category**](Category.md) | | [optional]
**name** | **String** | |
**photoUrls** | **Seq&lt;String&gt;** | |
**tags** | [**Seq&lt;Tag&gt;**](Tag.md) | | [optional]
**status** | [**Status**](#Status) | pet status in the store | [optional]
## Enum: Status
Allowed values: [available, pending, sold]

View File

@@ -0,0 +1,15 @@
# Tag
A tag for a pet
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **Long** | | [optional]
**name** | **String** | | [optional]

View File

@@ -0,0 +1,21 @@
# User
A User who is purchasing from the pet store
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **Long** | | [optional]
**username** | **String** | | [optional]
**firstName** | **String** | | [optional]
**lastName** | **String** | | [optional]
**email** | **String** | | [optional]
**password** | **String** | | [optional]
**phone** | **String** | | [optional]
**userStatus** | **Int** | User Status | [optional]