Skip to content

Commit f41e5bb

Browse files
author
andrewwilsonnew
committed
final final final changes
1 parent 10f2915 commit f41e5bb

17 files changed

Lines changed: 339 additions & 280 deletions

File tree

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package {{package}}
22

3-
{{#imports}}import {{import}}
4-
{{/imports}}
5-
3+
import {{javaxPackage}}.inject.Inject
4+
import {{javaxPackage}}.inject.Singleton
65
{{#useBeanValidation}}
76
import {{javaxPackage}}.validation.Valid
87
import {{javaxPackage}}.validation.constraints.DecimalMax
@@ -14,10 +13,6 @@ import {{javaxPackage}}.validation.constraints.NotNull
1413
import {{javaxPackage}}.validation.constraints.Pattern
1514
import {{javaxPackage}}.validation.constraints.Size
1615
{{/useBeanValidation}}
17-
18-
import {{javaxPackage}}.inject.Inject
19-
import {{javaxPackage}}.inject.Singleton
20-
2116
import misk.web.Delete
2217
import misk.web.Description
2318
import misk.web.Get
@@ -35,22 +30,27 @@ import misk.web.actions.WebAction
3530
import misk.web.interceptors.LogRequestResponse
3631
import misk.web.mediatype.MediaTypes
3732
import okhttp3.Headers
33+
{{#imports}}import {{import}}
34+
{{/imports}}
3835

3936
{{#operations}}
40-
@Singleton
41-
class {{classname}}Controller @Inject constructor(
42-
private val {{#lambda.camelcase}}{{classname}}{{/lambda.camelcase}}: {{classname}}
43-
) : WebAction implements {{classname}} {
44-
{{#operation}}
37+
/**
38+
* Generated file, please change {{classname}}Controller.
39+
*/
40+
@Singleton
41+
class {{classname}}Controller @Inject constructor(
42+
private val {{#lambda.camelcase}}{{classname}}{{/lambda.camelcase}}: {{classname}}
43+
) : WebAction, {{classname}} {
44+
{{#operation}}
4545

46-
@{{httpMethod}}("{{path}}")
47-
@Description("{{{summary}}}"){{#hasConsumes}}
48-
@RequestContentType({{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}){{/hasConsumes}}{{#hasProduces}}
49-
@ResponseContentType({{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}
50-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
51-
override fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}){{#returnType}}: {{{returnType}}}{{/returnType}} {
52-
TODO()
53-
}
54-
{{/operation}}
46+
@{{httpMethod}}("{{path}}")
47+
@Description("{{{summary}}}"){{#hasConsumes}}
48+
@RequestContentType({{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}){{/hasConsumes}}{{#hasProduces}}
49+
@ResponseContentType({{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}
50+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
51+
override fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}){{#returnType}}: {{{returnType}}}{{/returnType}} {
52+
TODO()
5553
}
54+
{{/operation}}
55+
}
5656
{{/operations}}

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

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package {{package}}
22

3-
{{#imports}}import {{import}}
4-
{{/imports}}
5-
3+
import {{javaxPackage}}.inject.Inject
4+
import {{javaxPackage}}.inject.Singleton
65
{{#useBeanValidation}}
76
import {{javaxPackage}}.validation.Valid
87
import {{javaxPackage}}.validation.constraints.DecimalMax
@@ -14,18 +13,22 @@ import {{javaxPackage}}.validation.constraints.NotNull
1413
import {{javaxPackage}}.validation.constraints.Pattern
1514
import {{javaxPackage}}.validation.constraints.Size
1615
{{/useBeanValidation}}
17-
18-
import {{javaxPackage}}.inject.Inject
19-
import {{javaxPackage}}.inject.Singleton
16+
import misk.web.HttpCall
17+
import misk.web.PathParam
18+
import misk.web.QueryParam
19+
import misk.web.RequestBody
20+
import misk.web.RequestHeaders
2021
import okhttp3.Headers
22+
{{#imports}}import {{import}}
23+
{{/imports}}
2124

2225
/**
2326
* @TODO("Fill out implementation")
2427
*/
2528
{{#operations}}
2629
@Singleton
2730
class {{classname}}Impl @Inject constructor(
28-
) implements {{classname}} {
31+
): {{classname}} {
2932
{{#operation}}
3033

3134
override fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}){{#returnType}}: {{{returnType}}}{{/returnType}} {
Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
11
package {{package}}
22

33
{{#useBeanValidation}}
4-
import {{javaxPackage}}.validation.Valid
5-
import {{javaxPackage}}.validation.constraints.DecimalMax
6-
import {{javaxPackage}}.validation.constraints.DecimalMin
7-
import {{javaxPackage}}.validation.constraints.Email
8-
import {{javaxPackage}}.validation.constraints.Max
9-
import {{javaxPackage}}.validation.constraints.Min
10-
import {{javaxPackage}}.validation.constraints.NotNull
11-
import {{javaxPackage}}.validation.constraints.Pattern
12-
import {{javaxPackage}}.validation.constraints.Size
4+
import {{javaxPackage}}.validation.Valid
5+
import {{javaxPackage}}.validation.constraints.DecimalMax
6+
import {{javaxPackage}}.validation.constraints.DecimalMin
7+
import {{javaxPackage}}.validation.constraints.Email
8+
import {{javaxPackage}}.validation.constraints.Max
9+
import {{javaxPackage}}.validation.constraints.Min
10+
import {{javaxPackage}}.validation.constraints.NotNull
11+
import {{javaxPackage}}.validation.constraints.Pattern
12+
import {{javaxPackage}}.validation.constraints.Size
1313
{{/useBeanValidation}}
14-
14+
import misk.web.HttpCall
15+
import misk.web.PathParam
16+
import misk.web.QueryParam
17+
import misk.web.RequestBody
18+
import misk.web.RequestHeaders
19+
import okhttp3.Headers
1520
{{#imports}}import {{import}}
1621
{{/imports}}
17-
import okhttp3.Headers
1822

1923
{{#operations}}
2024
interface {{classname}} {
2125
{{#operation}}
2226

23-
fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}){{#returnType}}: {{{returnType}}}{{/returnType}} {
27+
fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}){{#returnType}}: {{{returnType}}}{{/returnType}}
2428
{{/operation}}
2529
}
2630
{{/operations}}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ package {{package}}
33
import {{javaxPackage}}.inject.Inject
44
import misk.testing.MiskTest
55
import org.junit.jupiter.api.Test
6+
7+
import misk.web.HttpCall
8+
import misk.web.PathParam
9+
import misk.web.QueryParam
10+
import misk.web.RequestBody
11+
import misk.web.RequestHeaders
12+
613
{{#imports}}import {{import}}
714
{{/imports}}
815
import okhttp3.Headers

samples/server/petstore/kotlin-misk/.openapi-generator/FILES

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,6 @@ src/main/kotlin/org/openapitools/server/api/model/Order.kt
2626
src/main/kotlin/org/openapitools/server/api/model/Pet.kt
2727
src/main/kotlin/org/openapitools/server/api/model/Tag.kt
2828
src/main/kotlin/org/openapitools/server/api/model/User.kt
29+
src/test/kotlin/org/openapitools/server/api/api/PetApiTest.kt
30+
src/test/kotlin/org/openapitools/server/api/api/StoreApiTest.kt
31+
src/test/kotlin/org/openapitools/server/api/api/UserApiTest.kt
Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,38 @@
11
package org.openapitools.server.api.api
22

3-
import jakarta.validation.Valid
4-
import jakarta.validation.constraints.DecimalMax
5-
import jakarta.validation.constraints.DecimalMin
6-
import jakarta.validation.constraints.Email
7-
import jakarta.validation.constraints.Max
8-
import jakarta.validation.constraints.Min
9-
import jakarta.validation.constraints.NotNull
10-
import jakarta.validation.constraints.Pattern
11-
import jakarta.validation.constraints.Size
12-
3+
import jakarta.validation.Valid
4+
import jakarta.validation.constraints.DecimalMax
5+
import jakarta.validation.constraints.DecimalMin
6+
import jakarta.validation.constraints.Email
7+
import jakarta.validation.constraints.Max
8+
import jakarta.validation.constraints.Min
9+
import jakarta.validation.constraints.NotNull
10+
import jakarta.validation.constraints.Pattern
11+
import jakarta.validation.constraints.Size
12+
import misk.web.HttpCall
13+
import misk.web.PathParam
14+
import misk.web.QueryParam
15+
import misk.web.RequestBody
16+
import misk.web.RequestHeaders
17+
import okhttp3.Headers
1318
import org.openapitools.server.api.model.ModelApiResponse
1419
import org.openapitools.server.api.model.Pet
15-
import okhttp3.Headers
1620

1721
interface PetApi {
1822

19-
fun addPet(@Valid @RequestBody pet: Pet): Pet {
23+
fun addPet(@Valid @RequestBody pet: Pet): Pet
2024

21-
fun deletePet(@PathParam("petId") petId: kotlin.Long, apiKey: Headers) {
25+
fun deletePet(@PathParam("petId") petId: kotlin.Long, apiKey: Headers)
2226

23-
fun findPetsByStatus( @QueryParam(value = "status") status: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
27+
fun findPetsByStatus( @QueryParam(value = "status") status: kotlin.Array<kotlin.String>): kotlin.Array<Pet>
2428

25-
fun findPetsByTags( @QueryParam(value = "tags") tags: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
29+
fun findPetsByTags( @QueryParam(value = "tags") tags: kotlin.Array<kotlin.String>): kotlin.Array<Pet>
2630

27-
fun getPetById(@PathParam("petId") petId: kotlin.Long): Pet {
31+
fun getPetById(@PathParam("petId") petId: kotlin.Long): Pet
2832

29-
fun updatePet(@Valid @RequestBody pet: Pet): Pet {
33+
fun updatePet(@Valid @RequestBody pet: Pet): Pet
3034

31-
fun updatePetWithForm(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "name") name: kotlin.String? , @QueryParam(value = "status") status: kotlin.String? ) {
35+
fun updatePetWithForm(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "name") name: kotlin.String? , @QueryParam(value = "status") status: kotlin.String? )
3236

33-
fun uploadFile(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "additionalMetadata") additionalMetadata: kotlin.String? , @Valid file: HttpCall): ModelApiResponse {
37+
fun uploadFile(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "additionalMetadata") additionalMetadata: kotlin.String? , @Valid file: HttpCall): ModelApiResponse
3438
}
Lines changed: 69 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.openapitools.server.api.api
22

3-
import org.openapitools.server.api.model.ModelApiResponse
4-
import org.openapitools.server.api.model.Pet
5-
3+
import jakarta.inject.Inject
4+
import jakarta.inject.Singleton
65
import jakarta.validation.Valid
76
import jakarta.validation.constraints.DecimalMax
87
import jakarta.validation.constraints.DecimalMin
@@ -12,10 +11,6 @@ import jakarta.validation.constraints.Min
1211
import jakarta.validation.constraints.NotNull
1312
import jakarta.validation.constraints.Pattern
1413
import jakarta.validation.constraints.Size
15-
16-
import jakarta.inject.Inject
17-
import jakarta.inject.Singleton
18-
1914
import misk.web.Delete
2015
import misk.web.Description
2116
import misk.web.Get
@@ -33,75 +28,80 @@ import misk.web.actions.WebAction
3328
import misk.web.interceptors.LogRequestResponse
3429
import misk.web.mediatype.MediaTypes
3530
import okhttp3.Headers
31+
import org.openapitools.server.api.model.ModelApiResponse
32+
import org.openapitools.server.api.model.Pet
3633

37-
@Singleton
38-
class PetApiController @Inject constructor(
39-
private val petApi: PetApi
40-
) : WebAction implements PetApi {
34+
/**
35+
* Generated file, please change PetApiController.
36+
*/
37+
@Singleton
38+
class PetApiController @Inject constructor(
39+
private val petApi: PetApi
40+
) : WebAction, PetApi {
4141

42-
@Post("/pet")
43-
@Description("Add a new pet to the store")
44-
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
45-
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
46-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
47-
override fun addPet(@Valid @RequestBody pet: Pet): Pet {
48-
TODO()
49-
}
42+
@Post("/pet")
43+
@Description("Add a new pet to the store")
44+
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
45+
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
46+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
47+
override fun addPet(@Valid @RequestBody pet: Pet): Pet {
48+
TODO()
49+
}
5050

51-
@Delete("/pet/{petId}")
52-
@Description("Deletes a pet")
53-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
54-
override fun deletePet(@PathParam("petId") petId: kotlin.Long, apiKey: Headers) {
55-
TODO()
56-
}
51+
@Delete("/pet/{petId}")
52+
@Description("Deletes a pet")
53+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
54+
override fun deletePet(@PathParam("petId") petId: kotlin.Long, apiKey: Headers) {
55+
TODO()
56+
}
5757

58-
@Get("/pet/findByStatus")
59-
@Description("Finds Pets by status")
60-
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
61-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
62-
override fun findPetsByStatus( @QueryParam(value = "status") status: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
63-
TODO()
64-
}
58+
@Get("/pet/findByStatus")
59+
@Description("Finds Pets by status")
60+
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
61+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
62+
override fun findPetsByStatus( @QueryParam(value = "status") status: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
63+
TODO()
64+
}
6565

66-
@Get("/pet/findByTags")
67-
@Description("Finds Pets by tags")
68-
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
69-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
70-
override fun findPetsByTags( @QueryParam(value = "tags") tags: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
71-
TODO()
72-
}
66+
@Get("/pet/findByTags")
67+
@Description("Finds Pets by tags")
68+
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
69+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
70+
override fun findPetsByTags( @QueryParam(value = "tags") tags: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
71+
TODO()
72+
}
7373

74-
@Get("/pet/{petId}")
75-
@Description("Find pet by ID")
76-
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
77-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
78-
override fun getPetById(@PathParam("petId") petId: kotlin.Long): Pet {
79-
TODO()
80-
}
74+
@Get("/pet/{petId}")
75+
@Description("Find pet by ID")
76+
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
77+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
78+
override fun getPetById(@PathParam("petId") petId: kotlin.Long): Pet {
79+
TODO()
80+
}
8181

82-
@Put("/pet")
83-
@Description("Update an existing pet")
84-
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
85-
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
86-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
87-
override fun updatePet(@Valid @RequestBody pet: Pet): Pet {
88-
TODO()
89-
}
82+
@Put("/pet")
83+
@Description("Update an existing pet")
84+
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
85+
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
86+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
87+
override fun updatePet(@Valid @RequestBody pet: Pet): Pet {
88+
TODO()
89+
}
9090

91-
@Post("/pet/{petId}")
92-
@Description("Updates a pet in the store with form data")
93-
@RequestContentType(MediaTypes.APPLICATION_FORM_URLENCODED)
94-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
95-
override fun updatePetWithForm(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "name") name: kotlin.String? , @QueryParam(value = "status") status: kotlin.String? ) {
96-
TODO()
97-
}
91+
@Post("/pet/{petId}")
92+
@Description("Updates a pet in the store with form data")
93+
@RequestContentType(MediaTypes.APPLICATION_FORM_URLENCODED)
94+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
95+
override fun updatePetWithForm(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "name") name: kotlin.String? , @QueryParam(value = "status") status: kotlin.String? ) {
96+
TODO()
97+
}
9898

99-
@Post("/pet/{petId}/uploadImage")
100-
@Description("uploads an image")
101-
@RequestContentType(MediaTypes.APPLICATION_OCTETSTREAM /* unknown -> multipart/form-data */ )
102-
@ResponseContentType(MediaTypes.APPLICATION_JSON)
103-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
104-
override fun uploadFile(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "additionalMetadata") additionalMetadata: kotlin.String? , @Valid file: HttpCall): ModelApiResponse {
105-
TODO()
106-
}
99+
@Post("/pet/{petId}/uploadImage")
100+
@Description("uploads an image")
101+
@RequestContentType(MediaTypes.APPLICATION_OCTETSTREAM /* unknown -> multipart/form-data */ )
102+
@ResponseContentType(MediaTypes.APPLICATION_JSON)
103+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
104+
override fun uploadFile(@PathParam("petId") petId: kotlin.Long, @QueryParam(value = "additionalMetadata") additionalMetadata: kotlin.String? , @Valid file: HttpCall): ModelApiResponse {
105+
TODO()
107106
}
107+
}

0 commit comments

Comments
 (0)