Skip to content

Commit 6657af3

Browse files
naokiwakatawakata_sansan
authored andcommitted
replace petstore with focused spec for non-discriminator oneOf/anyOf sample
1 parent b0f96e5 commit 6657af3

62 files changed

Lines changed: 796 additions & 3073 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
generatorName: kotlin
22
outputDir: samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization
3-
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/petstore.yaml
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/oneof-anyof-non-discriminator.yaml
44
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
55
additionalProperties:
66
artifactId: kotlin-oneOf-anyOf-kotlinx-serialization
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
openapi: 3.0.1
2+
info:
3+
title: oneOf/anyOf non-discriminator example
4+
description: Test non-discriminator oneOf and anyOf with model, primitive, and array types
5+
version: '0.1'
6+
servers:
7+
- url: http://example.org
8+
tags:
9+
- name: test
10+
paths:
11+
'/v1/test/oneOf':
12+
get:
13+
tags:
14+
- test
15+
operationId: get-oneOf
16+
responses:
17+
'200':
18+
description: OK
19+
content:
20+
application/json:
21+
schema:
22+
$ref: '#/components/schemas/UserOrPet'
23+
'/v1/test/oneOfArray':
24+
get:
25+
tags:
26+
- test
27+
operationId: get-oneOf-array
28+
responses:
29+
'200':
30+
description: OK
31+
content:
32+
application/json:
33+
schema:
34+
$ref: '#/components/schemas/UserOrPetOrArrayString'
35+
'/v1/test/oneOfPrimitive':
36+
get:
37+
tags:
38+
- test
39+
operationId: get-oneOf-primitive
40+
responses:
41+
'200':
42+
description: OK
43+
content:
44+
application/json:
45+
schema:
46+
$ref: '#/components/schemas/StringOrLong'
47+
'/v1/test/oneOfBooleanPrimitive':
48+
get:
49+
tags:
50+
- test
51+
operationId: get-oneOf-boolean-primitive
52+
responses:
53+
'200':
54+
description: OK
55+
content:
56+
application/json:
57+
schema:
58+
$ref: '#/components/schemas/BooleanOrLong'
59+
'/v1/test/anyOf':
60+
get:
61+
tags:
62+
- test
63+
operationId: get-anyOf
64+
responses:
65+
'200':
66+
description: OK
67+
content:
68+
application/json:
69+
schema:
70+
$ref: '#/components/schemas/AnyOfUserOrPet'
71+
'/v1/test/anyOfArray':
72+
get:
73+
tags:
74+
- test
75+
operationId: get-anyOf-array
76+
responses:
77+
'200':
78+
description: OK
79+
content:
80+
application/json:
81+
schema:
82+
$ref: '#/components/schemas/AnyOfUserOrPetOrArrayString'
83+
components:
84+
schemas:
85+
User:
86+
type: object
87+
properties:
88+
id:
89+
type: integer
90+
format: int64
91+
username:
92+
type: string
93+
required:
94+
- id
95+
- username
96+
Pet:
97+
type: object
98+
properties:
99+
id:
100+
type: integer
101+
format: int64
102+
name:
103+
type: string
104+
required:
105+
- id
106+
- name
107+
UserOrPet:
108+
oneOf:
109+
- $ref: '#/components/schemas/User'
110+
- $ref: '#/components/schemas/Pet'
111+
UserOrPetOrArrayString:
112+
oneOf:
113+
- $ref: '#/components/schemas/User'
114+
- $ref: '#/components/schemas/Pet'
115+
- type: array
116+
items:
117+
type: string
118+
StringOrLong:
119+
oneOf:
120+
- type: string
121+
- type: integer
122+
format: int64
123+
BooleanOrLong:
124+
oneOf:
125+
- type: boolean
126+
- type: integer
127+
format: int64
128+
AnyOfUserOrPet:
129+
anyOf:
130+
- $ref: '#/components/schemas/User'
131+
- $ref: '#/components/schemas/Pet'
132+
AnyOfUserOrPetOrArrayString:
133+
anyOf:
134+
- $ref: '#/components/schemas/User'
135+
- $ref: '#/components/schemas/Pet'
136+
- type: array
137+
items:
138+
type: string
Lines changed: 9 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,13 @@
11
.openapi-generator-ignore
22
README.md
33
build.gradle
4-
docs/Annotation.md
54
docs/AnyOfUserOrPet.md
65
docs/AnyOfUserOrPetOrArrayString.md
7-
docs/ApiResponse.md
8-
docs/Category.md
9-
docs/FakeApi.md
10-
docs/Order.md
6+
docs/BooleanOrLong.md
117
docs/Pet.md
12-
docs/PetApi.md
13-
docs/StoreApi.md
14-
docs/Tag.md
8+
docs/StringOrLong.md
9+
docs/TestApi.md
1510
docs/User.md
16-
docs/UserApi.md
1711
docs/UserOrPet.md
1812
docs/UserOrPetOrArrayString.md
1913
gradle/wrapper/gradle-wrapper.jar
@@ -22,14 +16,7 @@ gradlew
2216
gradlew.bat
2317
proguard-rules.pro
2418
settings.gradle
25-
src/main/kotlin/org/openapitools/client/apis/FakeApi.kt
26-
src/main/kotlin/org/openapitools/client/apis/PetApi.kt
27-
src/main/kotlin/org/openapitools/client/apis/StoreApi.kt
28-
src/main/kotlin/org/openapitools/client/apis/UserApi.kt
29-
src/main/kotlin/org/openapitools/client/auth/ApiKeyAuth.kt
30-
src/main/kotlin/org/openapitools/client/auth/OAuth.kt
31-
src/main/kotlin/org/openapitools/client/auth/OAuthFlow.kt
32-
src/main/kotlin/org/openapitools/client/auth/OAuthOkHttpClient.kt
19+
src/main/kotlin/org/openapitools/client/apis/TestApi.kt
3320
src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
3421
src/main/kotlin/org/openapitools/client/infrastructure/AtomicBooleanAdapter.kt
3522
src/main/kotlin/org/openapitools/client/infrastructure/AtomicIntegerAdapter.kt
@@ -46,29 +33,20 @@ src/main/kotlin/org/openapitools/client/infrastructure/StringBuilderAdapter.kt
4633
src/main/kotlin/org/openapitools/client/infrastructure/URIAdapter.kt
4734
src/main/kotlin/org/openapitools/client/infrastructure/URLAdapter.kt
4835
src/main/kotlin/org/openapitools/client/infrastructure/UUIDAdapter.kt
49-
src/main/kotlin/org/openapitools/client/models/Annotation.kt
5036
src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt
5137
src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt
52-
src/main/kotlin/org/openapitools/client/models/Category.kt
53-
src/main/kotlin/org/openapitools/client/models/ModelApiResponse.kt
54-
src/main/kotlin/org/openapitools/client/models/Order.kt
38+
src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt
5539
src/main/kotlin/org/openapitools/client/models/Pet.kt
56-
src/main/kotlin/org/openapitools/client/models/Tag.kt
40+
src/main/kotlin/org/openapitools/client/models/StringOrLong.kt
5741
src/main/kotlin/org/openapitools/client/models/User.kt
5842
src/main/kotlin/org/openapitools/client/models/UserOrPet.kt
5943
src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt
60-
src/test/kotlin/org/openapitools/client/apis/FakeApiTest.kt
61-
src/test/kotlin/org/openapitools/client/apis/PetApiTest.kt
62-
src/test/kotlin/org/openapitools/client/apis/StoreApiTest.kt
63-
src/test/kotlin/org/openapitools/client/apis/UserApiTest.kt
64-
src/test/kotlin/org/openapitools/client/models/AnnotationTest.kt
44+
src/test/kotlin/org/openapitools/client/apis/TestApiTest.kt
6545
src/test/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayStringTest.kt
6646
src/test/kotlin/org/openapitools/client/models/AnyOfUserOrPetTest.kt
67-
src/test/kotlin/org/openapitools/client/models/ApiResponseTest.kt
68-
src/test/kotlin/org/openapitools/client/models/CategoryTest.kt
69-
src/test/kotlin/org/openapitools/client/models/OrderTest.kt
47+
src/test/kotlin/org/openapitools/client/models/BooleanOrLongTest.kt
7048
src/test/kotlin/org/openapitools/client/models/PetTest.kt
71-
src/test/kotlin/org/openapitools/client/models/TagTest.kt
49+
src/test/kotlin/org/openapitools/client/models/StringOrLongTest.kt
7250
src/test/kotlin/org/openapitools/client/models/UserOrPetOrArrayStringTest.kt
7351
src/test/kotlin/org/openapitools/client/models/UserOrPetTest.kt
7452
src/test/kotlin/org/openapitools/client/models/UserTest.kt
Lines changed: 13 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# org.openapitools.client - Kotlin client library for OpenAPI Petstore
1+
# org.openapitools.client - Kotlin client library for oneOf/anyOf non-discriminator example
22

3-
This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
3+
Test non-discriminator oneOf and anyOf with model, primitive, and array types
44

55
## Overview
66
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
77

8-
- API version: 1.0.0
8+
- API version: 0.1
99
- Package version:
1010
- Generator version: 7.21.0-SNAPSHOT
1111
- Build package: org.openapitools.codegen.languages.KotlinClientCodegen
@@ -41,45 +41,26 @@ This runs all tests and packages the library.
4141
<a id="documentation-for-api-endpoints"></a>
4242
## Documentation for API Endpoints
4343

44-
All URIs are relative to *http://petstore.swagger.io/v2*
44+
All URIs are relative to *http://example.org*
4545

4646
| Class | Method | HTTP request | Description |
4747
| ------------ | ------------- | ------------- | ------------- |
48-
| *FakeApi* | [**annotations**](docs/FakeApi.md#annotations) | **POST** fake/annotations | annotate |
49-
| *FakeApi* | [**updatePetWithFormNumber**](docs/FakeApi.md#updatepetwithformnumber) | **PUT** fake/annotations | Updates a pet in the store with form data (number) |
50-
| *PetApi* | [**addPet**](docs/PetApi.md#addpet) | **POST** pet | Add a new pet to the store |
51-
| *PetApi* | [**deletePet**](docs/PetApi.md#deletepet) | **DELETE** pet/{petId} | Deletes a pet |
52-
| *PetApi* | [**findPetsByStatus**](docs/PetApi.md#findpetsbystatus) | **GET** pet/findByStatus | Finds Pets by status |
53-
| *PetApi* | [**findPetsByTags**](docs/PetApi.md#findpetsbytags) | **GET** pet/findByTags | Finds Pets by tags |
54-
| *PetApi* | [**getPetById**](docs/PetApi.md#getpetbyid) | **GET** pet/{petId} | Find pet by ID |
55-
| *PetApi* | [**updatePet**](docs/PetApi.md#updatepet) | **PUT** pet | Update an existing pet |
56-
| *PetApi* | [**updatePetWithForm**](docs/PetApi.md#updatepetwithform) | **POST** pet/{petId} | Updates a pet in the store with form data |
57-
| *PetApi* | [**uploadFile**](docs/PetApi.md#uploadfile) | **POST** pet/{petId}/uploadImage | uploads an image |
58-
| *StoreApi* | [**deleteOrder**](docs/StoreApi.md#deleteorder) | **DELETE** store/order/{orderId} | Delete purchase order by ID |
59-
| *StoreApi* | [**getInventory**](docs/StoreApi.md#getinventory) | **GET** store/inventory | Returns pet inventories by status |
60-
| *StoreApi* | [**getOrderById**](docs/StoreApi.md#getorderbyid) | **GET** store/order/{orderId} | Find purchase order by ID |
61-
| *StoreApi* | [**placeOrder**](docs/StoreApi.md#placeorder) | **POST** store/order | Place an order for a pet |
62-
| *UserApi* | [**createUser**](docs/UserApi.md#createuser) | **POST** user | Create user |
63-
| *UserApi* | [**createUsersWithArrayInput**](docs/UserApi.md#createuserswitharrayinput) | **POST** user/createWithArray | Creates list of users with given input array |
64-
| *UserApi* | [**createUsersWithListInput**](docs/UserApi.md#createuserswithlistinput) | **POST** user/createWithList | Creates list of users with given input array |
65-
| *UserApi* | [**deleteUser**](docs/UserApi.md#deleteuser) | **DELETE** user/{username} | Delete user |
66-
| *UserApi* | [**getUserByName**](docs/UserApi.md#getuserbyname) | **GET** user/{username} | Get user by user name |
67-
| *UserApi* | [**loginUser**](docs/UserApi.md#loginuser) | **GET** user/login | Logs user into the system |
68-
| *UserApi* | [**logoutUser**](docs/UserApi.md#logoutuser) | **GET** user/logout | Logs out current logged in user session |
69-
| *UserApi* | [**updateUser**](docs/UserApi.md#updateuser) | **PUT** user/{username} | Updated user |
48+
| *TestApi* | [**getAnyOf**](docs/TestApi.md#getanyof) | **GET** v1/test/anyOf | |
49+
| *TestApi* | [**getAnyOfArray**](docs/TestApi.md#getanyofarray) | **GET** v1/test/anyOfArray | |
50+
| *TestApi* | [**getOneOf**](docs/TestApi.md#getoneof) | **GET** v1/test/oneOf | |
51+
| *TestApi* | [**getOneOfArray**](docs/TestApi.md#getoneofarray) | **GET** v1/test/oneOfArray | |
52+
| *TestApi* | [**getOneOfBooleanPrimitive**](docs/TestApi.md#getoneofbooleanprimitive) | **GET** v1/test/oneOfBooleanPrimitive | |
53+
| *TestApi* | [**getOneOfPrimitive**](docs/TestApi.md#getoneofprimitive) | **GET** v1/test/oneOfPrimitive | |
7054

7155

7256
<a id="documentation-for-models"></a>
7357
## Documentation for Models
7458

75-
- [org.openapitools.client.models.Annotation](docs/Annotation.md)
7659
- [org.openapitools.client.models.AnyOfUserOrPet](docs/AnyOfUserOrPet.md)
7760
- [org.openapitools.client.models.AnyOfUserOrPetOrArrayString](docs/AnyOfUserOrPetOrArrayString.md)
78-
- [org.openapitools.client.models.Category](docs/Category.md)
79-
- [org.openapitools.client.models.ModelApiResponse](docs/ModelApiResponse.md)
80-
- [org.openapitools.client.models.Order](docs/Order.md)
61+
- [org.openapitools.client.models.BooleanOrLong](docs/BooleanOrLong.md)
8162
- [org.openapitools.client.models.Pet](docs/Pet.md)
82-
- [org.openapitools.client.models.Tag](docs/Tag.md)
63+
- [org.openapitools.client.models.StringOrLong](docs/StringOrLong.md)
8364
- [org.openapitools.client.models.User](docs/User.md)
8465
- [org.openapitools.client.models.UserOrPet](docs/UserOrPet.md)
8566
- [org.openapitools.client.models.UserOrPetOrArrayString](docs/UserOrPetOrArrayString.md)
@@ -88,22 +69,5 @@ All URIs are relative to *http://petstore.swagger.io/v2*
8869
<a id="documentation-for-authorization"></a>
8970
## Documentation for Authorization
9071

91-
92-
Authentication schemes defined for the API:
93-
<a id="petstore_auth"></a>
94-
### petstore_auth
95-
96-
- **Type**: OAuth
97-
- **Flow**: implicit
98-
- **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog
99-
- **Scopes**:
100-
- write:pets: modify pets in your account
101-
- read:pets: read your pets
102-
103-
<a id="api_key"></a>
104-
### api_key
105-
106-
- **Type**: API key
107-
- **API key parameter name**: api_key
108-
- **Location**: HTTP header
72+
Endpoints do not require authorization.
10973

samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ test {
5858
dependencies {
5959
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
6060
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0"
61-
implementation "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.2"
6261
implementation "com.squareup.okhttp3:logging-interceptor:5.1.0"
6362
implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
6463
implementation "com.squareup.retrofit2:converter-kotlinx-serialization:$retrofitVersion"

samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/docs/AnyOfUserOrPet.md

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,9 @@
44
## Properties
55
| Name | Type | Description | Notes |
66
| ------------ | ------------- | ------------- | ------------- |
7+
| **id** | **kotlin.Long** | | |
78
| **username** | **kotlin.String** | | |
89
| **name** | **kotlin.String** | | |
9-
| **photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
10-
| **id** | **kotlin.Long** | | [optional] |
11-
| **firstName** | **kotlin.String** | | [optional] |
12-
| **lastName** | **kotlin.String** | | [optional] |
13-
| **email** | **kotlin.String** | | [optional] |
14-
| **password** | **kotlin.String** | | [optional] |
15-
| **phone** | **kotlin.String** | | [optional] |
16-
| **userStatus** | **kotlin.Int** | User Status | [optional] |
17-
| **category** | [**Category**](Category.md) | | [optional] |
18-
| **tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional] |
19-
| **status** | [**inline**](#Status) | pet status in the store | [optional] |
20-
21-
22-
<a id="Status"></a>
23-
## Enum: status
24-
| Name | Value |
25-
| ---- | ----- |
26-
| status | available, pending, sold |
2710

2811

2912

samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/docs/AnyOfUserOrPetOrArrayString.md

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,9 @@
44
## Properties
55
| Name | Type | Description | Notes |
66
| ------------ | ------------- | ------------- | ------------- |
7+
| **id** | **kotlin.Long** | | |
78
| **username** | **kotlin.String** | | |
89
| **name** | **kotlin.String** | | |
9-
| **photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
10-
| **id** | **kotlin.Long** | | [optional] |
11-
| **firstName** | **kotlin.String** | | [optional] |
12-
| **lastName** | **kotlin.String** | | [optional] |
13-
| **email** | **kotlin.String** | | [optional] |
14-
| **password** | **kotlin.String** | | [optional] |
15-
| **phone** | **kotlin.String** | | [optional] |
16-
| **userStatus** | **kotlin.Int** | User Status | [optional] |
17-
| **category** | [**Category**](Category.md) | | [optional] |
18-
| **tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional] |
19-
| **status** | [**inline**](#Status) | pet status in the store | [optional] |
20-
21-
22-
<a id="Status"></a>
23-
## Enum: status
24-
| Name | Value |
25-
| ---- | ----- |
26-
| status | available, pending, sold |
2710

2811

2912

samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/docs/ApiResponse.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)