Skip to content

Commit 98705f9

Browse files
author
andrewwilsonnew
committed
fixing types
1 parent bdf13a6 commit 98705f9

29 files changed

Lines changed: 178 additions & 286 deletions

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinMiskServerCodegen.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ public KotlinMiskServerCodegen() {
106106

107107
apiTemplateFiles.clear();
108108
apiTemplateFiles.put("apiController.mustache", "Controller.kt");
109-
apiTemplateFiles.put("apiImpl.mustache", "Impl.kt");
110-
apiTemplateFiles.put("apiInterface.mustache", ".kt");
109+
//apiTemplateFiles.put("apiImpl.mustache", "Impl.kt");
110+
//apiTemplateFiles.put("apiInterface.mustache", ".kt");
111111
modelTemplateFiles.put("model.mustache", ".kt");
112112

113113
apiPackage = rootPackage + ".api";

modules/openapi-generator/src/main/resources/kotlin-misk/apiController.mustache

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,21 @@ import misk.web.interceptors.LogRequestResponse
3535
import misk.web.mediatype.MediaTypes
3636
import okhttp3.Headers
3737

38-
{{#useBeanValidation}}
39-
@Validated
40-
{{/useBeanValidation}}
4138
{{#operations}}
4239
@Singleton
4340
class {{classname}}Controller @Inject constructor(
44-
private val {{#lambda.camelcase}}{{classname}}{{/lambda.camelcase}}: {{classname}}
45-
) : {{classname}}, WebAction {
41+
//private val {{#lambda.camelcase}}{{classname}}{{/lambda.camelcase}}: {{classname}}
42+
) : WebAction {
4643
{{#operation}}
4744

4845
@{{httpMethod}}("{{path}}")
4946
@Description("{{{summary}}}"){{#hasConsumes}}
5047
@RequestContentType({{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}){{/hasConsumes}}{{#hasProduces}}
5148
@ResponseContentType({{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}
5249
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
53-
override fun {{operationId}}({{#allParams}}{{#isQueryParam}}@QueryParam {{{paramName}}}: {{>optionalDataType}}{{/isQueryParam}}{{#isPathParam}}@PathParam("{{baseName}}") {{{paramName}}}: {{>optionalDataType}}{{/isPathParam}}{{#isHeaderParam}} @RequestHeaders headers: Headers{{/isHeaderParam}}{{#isCookieParam}}{{{paramName}}}: HttpCall{{/isCookieParam}}{{#isBodyParam}}@RequestBody {{{paramName}}}: {{>optionalDataType}}{{/isBodyParam}}{{^-last}},{{/-last}}{{/allParams}}) =
54-
{{#lambda.camelcase}}{{classname}}{{/lambda.camelcase}}.{{operationId}}({{#allParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/allParams}})
50+
fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}},{{/-last}}{{/allParams}}) {
51+
TODO()
52+
}
5553
{{/operation}}
5654
}
5755
{{/operations}}

modules/openapi-generator/src/main/resources/kotlin-misk/api_test.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test
1010
@MiskTest(startService = true)
1111
internal class {{classname}}Test {
1212
13-
@Inject private lateinit var {{classname}} : {{classname}}
13+
@Inject private lateinit var {{classname}} : {{classname}}Controller
1414

1515
{{#operations}}
1616
{{#operation}}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{{#isContainer}}{{^isPrimitiveType}}{{^isEnum}}
2+
@field:Valid{{/isEnum}}{{/isPrimitiveType}}{{/isContainer}}{{!
3+
}}{{^isContainer}}{{^isPrimitiveType}}{{^isNumber}}{{^isUuid}}{{^isDateTime}}
4+
@field:Valid{{/isDateTime}}{{/isUuid}}{{/isNumber}}{{/isPrimitiveType}}{{/isContainer}}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{{! RequestBody required param is responsible for optional and nullability }}{{>beanValidationCore}}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{{#isEmail}}@Email {{/isEmail}}{{!
2+
pattern set
3+
}}{{#pattern}}@Pattern(regexp="{{{.}}}") {{/pattern}}{{!
4+
minLength && maxLength set
5+
}}{{#minLength}}{{#maxLength}}@Size(min={{minLength}},max={{maxLength}}) {{/maxLength}}{{/minLength}}{{!
6+
minLength set, maxLength not
7+
}}{{#minLength}}{{^maxLength}}@Size(min={{minLength}}) {{/maxLength}}{{/minLength}}{{!
8+
minLength not set, maxLength set
9+
}}{{^minLength}}{{#maxLength}}@Size(max={{.}}) {{/maxLength}}{{/minLength}}{{!
10+
@Size: minItems && maxItems set
11+
}}{{#minItems}}{{#maxItems}}@Size(min={{minItems}},max={{maxItems}}) {{/maxItems}}{{/minItems}}{{!
12+
@Size: minItems set, maxItems not
13+
}}{{#minItems}}{{^maxItems}}@Size(min={{minItems}}) {{/maxItems}}{{/minItems}}{{!
14+
@Size: minItems not set && maxItems set
15+
}}{{^minItems}}{{#maxItems}}@Size(max={{.}}) {{/maxItems}}{{/minItems}}{{!
16+
check for integer or long / all others=decimal type with @Decimal*
17+
isInteger set
18+
}}{{#isInteger}}{{#minimum}}@Min({{.}}){{/minimum}}{{#maximum}} @Max({{.}}) {{/maximum}}{{/isInteger}}{{!
19+
isLong set
20+
}}{{#isLong}}{{#minimum}}@Min({{.}}L){{/minimum}}{{#maximum}} @Max({{.}}L) {{/maximum}}{{/isLong}}{{!
21+
Not Integer, not Long => we have a decimal value!
22+
}}{{^isInteger}}{{^isLong}}{{#minimum}}@DecimalMin("{{.}}"){{/minimum}}{{#maximum}} @DecimalMax("{{.}}") {{/maximum}}{{/isLong}}{{/isInteger}}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{{!
2+
format: email
3+
}}{{#isEmail}}
4+
@get:Email{{/isEmail}}{{!
5+
pattern set
6+
}}{{#pattern}}
7+
@get:Pattern(regexp="{{{pattern}}}"{{#vendorExtensions.x-pattern-message}}, message="{{vendorExtensions.x-pattern-message}}"{{/vendorExtensions.x-pattern-message}}){{/pattern}}{{!
8+
minLength && maxLength set
9+
}}{{#minLength}}{{#maxLength}}
10+
@get:Size(min={{minLength}},max={{maxLength}}){{/maxLength}}{{/minLength}}{{!
11+
minLength set, maxLength not
12+
}}{{#minLength}}{{^maxLength}}
13+
@get:Size(min={{minLength}}){{/maxLength}}{{/minLength}}{{!
14+
minLength not set, maxLength set
15+
}}{{^minLength}}{{#maxLength}}
16+
@get:Size(max={{.}}){{/maxLength}}{{/minLength}}{{!
17+
@Size: minItems && maxItems set
18+
}}{{#minItems}}{{#maxItems}}
19+
@get:Size(min={{minItems}},max={{maxItems}}) {{/maxItems}}{{/minItems}}{{!
20+
@Size: minItems set, maxItems not
21+
}}{{#minItems}}{{^maxItems}}
22+
@get:Size(min={{minItems}}){{/maxItems}}{{/minItems}}{{!
23+
@Size: minItems not set && maxItems set
24+
}}{{^minItems}}{{#maxItems}}
25+
@get:Size(max={{.}}){{/maxItems}}{{/minItems}}{{!
26+
check for integer or long / all others=decimal type with @Decimal*
27+
isInteger set
28+
}}{{#isInteger}}{{#minimum}}
29+
@get:Min({{.}}){{/minimum}}{{#maximum}}
30+
@get:Max({{.}}){{/maximum}}{{/isInteger}}{{!
31+
isLong set
32+
}}{{#isLong}}{{#minimum}}
33+
@get:Min({{.}}L){{/minimum}}{{#maximum}}
34+
@get:Max({{.}}L){{/maximum}}{{/isLong}}{{!
35+
Not Integer, not Long => we have a decimal value!
36+
}}{{^isInteger}}{{^isLong}}{{#minimum}}
37+
@get:DecimalMin("{{.}}"){{/minimum}}{{#maximum}}
38+
@get:DecimalMax("{{.}}"){{/maximum}}{{/isLong}}{{/isInteger}}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{{! PathParam is always required, no @NotNull necessary }}{{>beanValidationCore}}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{{#required}}@NotNull {{/required}}{{>beanValidationCore}}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{{#isBodyParam}}{{#useBeanValidation}}@Valid{{>beanValidationBodyParams}}{{/useBeanValidation}} @RequestBody{{^required}}(required = false){{/required}} {{{paramName}}}: {{^reactive}}{{>optionalDataType}}{{/reactive}}{{#reactive}}{{^isArray}}{{>optionalDataType}}{{/isArray}}{{#isArray}}Flow<{{{baseType}}}>{{/isArray}}{{/reactive}}{{/isBodyParam}}

0 commit comments

Comments
 (0)