[kotlin] better oneOf, anyOf support (#18382)

* add validteJsonElement

* add oneOf support

* various fixes, add tests

* minor fixes

* minor fixes

* update data class

* remove comments

* array support, add test

* update api client constructor

* add anyOf support

* add new files

* fix merge

* update

* update

* update

* update
This commit is contained in:
William Cheng
2024-05-31 12:22:27 +08:00
committed by GitHub
parent 1c7e5c4726
commit 353320cb04
648 changed files with 8996 additions and 6249 deletions

View File

@@ -2,11 +2,11 @@
# ModelApiResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**code** | **kotlin.Int** | | [optional]
**type** | **kotlin.String** | | [optional]
**message** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **code** | **kotlin.Int** | | [optional] |
| **type** | **kotlin.String** | | [optional] |
| **message** | **kotlin.String** | | [optional] |

View File

@@ -2,10 +2,10 @@
# Category
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@@ -2,21 +2,21 @@
# Order
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**petId** | **kotlin.Long** | | [optional]
**quantity** | **kotlin.Int** | | [optional]
**shipDate** | [**kotlinx.datetime.Instant**](kotlinx.datetime.Instant.md) | | [optional]
**status** | [**inline**](#Status) | Order Status | [optional]
**complete** | **kotlin.Boolean** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **petId** | **kotlin.Long** | | [optional] |
| **quantity** | **kotlin.Int** | | [optional] |
| **shipDate** | [**kotlinx.datetime.Instant**](kotlinx.datetime.Instant.md) | | [optional] |
| **status** | [**inline**](#Status) | Order Status | [optional] |
| **complete** | **kotlin.Boolean** | | [optional] |
<a id="Status"></a>
## Enum: status
Name | Value
---- | -----
status | placed, approved, delivered
| Name | Value |
| ---- | ----- |
| status | placed, approved, delivered |

View File

@@ -2,21 +2,21 @@
# Pet
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **kotlin.String** | |
**photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | |
**id** | **kotlin.Long** | | [optional]
**category** | [**Category**](Category.md) | | [optional]
**tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional]
**status** | [**inline**](#Status) | pet status in the store | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **name** | **kotlin.String** | | |
| **photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
| **id** | **kotlin.Long** | | [optional] |
| **category** | [**Category**](Category.md) | | [optional] |
| **tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional] |
| **status** | [**inline**](#Status) | pet status in the store | [optional] |
<a id="Status"></a>
## Enum: status
Name | Value
---- | -----
status | available, pending, sold
| Name | Value |
| ---- | ----- |
| status | available, pending, sold |

View File

@@ -2,16 +2,16 @@
All URIs are relative to *http://petstore.swagger.io/v2*
Method | HTTP request | Description
------------- | ------------- | -------------
[**addPet**](PetApi.md#addPet) | **POST** /pet | Add a new pet to the store
[**deletePet**](PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet
[**findPetsByStatus**](PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status
[**findPetsByTags**](PetApi.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags
[**getPetById**](PetApi.md#getPetById) | **GET** /pet/{petId} | Find pet by ID
[**updatePet**](PetApi.md#updatePet) | **PUT** /pet | Update an existing pet
[**updatePetWithForm**](PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data
[**uploadFile**](PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**addPet**](PetApi.md#addPet) | **POST** /pet | Add a new pet to the store |
| [**deletePet**](PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet |
| [**findPetsByStatus**](PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status |
| [**findPetsByTags**](PetApi.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags |
| [**getPetById**](PetApi.md#getPetById) | **GET** /pet/{petId} | Find pet by ID |
| [**updatePet**](PetApi.md#updatePet) | **PUT** /pet | Update an existing pet |
| [**updatePetWithForm**](PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data |
| [**uploadFile**](PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image |
<a id="addPet"></a>
@@ -40,10 +40,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**Pet**](Pet.md)| Pet object that needs to be added to the store |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | |
### Return type
@@ -87,11 +86,10 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**petId** | **kotlin.Long**| Pet id to delete |
**apiKey** | **kotlin.String**| | [optional]
| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -137,10 +135,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**status** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| Status values that need to be considered for filter | [enum: available, pending, sold]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **status** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| Status values that need to be considered for filter | [enum: available, pending, sold] |
### Return type
@@ -186,10 +183,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tags** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| Tags to filter by |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **tags** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| Tags to filter by | |
### Return type
@@ -235,10 +231,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**petId** | **kotlin.Long**| ID of pet to return |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **petId** | **kotlin.Long**| ID of pet to return | |
### Return type
@@ -282,10 +277,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**Pet**](Pet.md)| Pet object that needs to be added to the store |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | |
### Return type
@@ -330,12 +324,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**petId** | **kotlin.Long**| ID of pet that needs to be updated |
**name** | **kotlin.String**| Updated name of the pet | [optional]
**status** | **kotlin.String**| Updated status of the pet | [optional]
| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -381,12 +374,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**petId** | **kotlin.Long**| ID of pet to update |
**additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional]
**file** | **io.ktor.client.request.forms.InputProvider**| file to upload | [optional]
| **petId** | **kotlin.Long**| ID of pet to update | |
| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **file** | **io.ktor.client.request.forms.InputProvider**| file to upload | [optional] |
### Return type

View File

@@ -2,12 +2,12 @@
All URIs are relative to *http://petstore.swagger.io/v2*
Method | HTTP request | Description
------------- | ------------- | -------------
[**deleteOrder**](StoreApi.md#deleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID
[**getInventory**](StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status
[**getOrderById**](StoreApi.md#getOrderById) | **GET** /store/order/{orderId} | Find purchase order by ID
[**placeOrder**](StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**deleteOrder**](StoreApi.md#deleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID |
| [**getInventory**](StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status |
| [**getOrderById**](StoreApi.md#getOrderById) | **GET** /store/order/{orderId} | Find purchase order by ID |
| [**placeOrder**](StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet |
<a id="deleteOrder"></a>
@@ -38,10 +38,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**orderId** | **kotlin.String**| ID of the order that needs to be deleted |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **orderId** | **kotlin.String**| ID of the order that needs to be deleted | |
### Return type
@@ -131,10 +130,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**orderId** | **kotlin.Long**| ID of pet that needs to be fetched |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **orderId** | **kotlin.Long**| ID of pet that needs to be fetched | |
### Return type
@@ -176,10 +174,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**Order**](Order.md)| order placed for purchasing the pet |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | [**Order**](Order.md)| order placed for purchasing the pet | |
### Return type

View File

@@ -2,10 +2,10 @@
# Tag
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@@ -2,16 +2,16 @@
# User
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**username** | **kotlin.String** | | [optional]
**firstName** | **kotlin.String** | | [optional]
**lastName** | **kotlin.String** | | [optional]
**email** | **kotlin.String** | | [optional]
**password** | **kotlin.String** | | [optional]
**phone** | **kotlin.String** | | [optional]
**userStatus** | **kotlin.Int** | User Status | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **username** | **kotlin.String** | | [optional] |
| **firstName** | **kotlin.String** | | [optional] |
| **lastName** | **kotlin.String** | | [optional] |
| **email** | **kotlin.String** | | [optional] |
| **password** | **kotlin.String** | | [optional] |
| **phone** | **kotlin.String** | | [optional] |
| **userStatus** | **kotlin.Int** | User Status | [optional] |

View File

@@ -2,16 +2,16 @@
All URIs are relative to *http://petstore.swagger.io/v2*
Method | HTTP request | Description
------------- | ------------- | -------------
[**createUser**](UserApi.md#createUser) | **POST** /user | Create user
[**createUsersWithArrayInput**](UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array
[**createUsersWithListInput**](UserApi.md#createUsersWithListInput) | **POST** /user/createWithList | Creates list of users with given input array
[**deleteUser**](UserApi.md#deleteUser) | **DELETE** /user/{username} | Delete user
[**getUserByName**](UserApi.md#getUserByName) | **GET** /user/{username} | Get user by user name
[**loginUser**](UserApi.md#loginUser) | **GET** /user/login | Logs user into the system
[**logoutUser**](UserApi.md#logoutUser) | **GET** /user/logout | Logs out current logged in user session
[**updateUser**](UserApi.md#updateUser) | **PUT** /user/{username} | Updated user
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**createUser**](UserApi.md#createUser) | **POST** /user | Create user |
| [**createUsersWithArrayInput**](UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array |
| [**createUsersWithListInput**](UserApi.md#createUsersWithListInput) | **POST** /user/createWithList | Creates list of users with given input array |
| [**deleteUser**](UserApi.md#deleteUser) | **DELETE** /user/{username} | Delete user |
| [**getUserByName**](UserApi.md#getUserByName) | **GET** /user/{username} | Get user by user name |
| [**loginUser**](UserApi.md#loginUser) | **GET** /user/login | Logs user into the system |
| [**logoutUser**](UserApi.md#logoutUser) | **GET** /user/logout | Logs out current logged in user session |
| [**updateUser**](UserApi.md#updateUser) | **PUT** /user/{username} | Updated user |
<a id="createUser"></a>
@@ -42,10 +42,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**User**](User.md)| Created user object |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | [**User**](User.md)| Created user object | |
### Return type
@@ -86,10 +85,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**kotlin.collections.List&lt;User&gt;**](User.md)| List of user object |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | [**kotlin.collections.List&lt;User&gt;**](User.md)| List of user object | |
### Return type
@@ -130,10 +128,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**kotlin.collections.List&lt;User&gt;**](User.md)| List of user object |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | [**kotlin.collections.List&lt;User&gt;**](User.md)| List of user object | |
### Return type
@@ -176,10 +173,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | **kotlin.String**| The name that needs to be deleted |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **username** | **kotlin.String**| The name that needs to be deleted | |
### Return type
@@ -221,10 +217,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | **kotlin.String**| The name that needs to be fetched. Use user1 for testing. |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **username** | **kotlin.String**| The name that needs to be fetched. Use user1 for testing. | |
### Return type
@@ -267,11 +262,10 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | **kotlin.String**| The user name for login |
**password** | **kotlin.String**| The password for login in clear text |
| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -355,11 +349,10 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | **kotlin.String**| name that need to be deleted |
**body** | [**User**](User.md)| Updated user object |
| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | [**User**](User.md)| Updated user object | |
### Return type