From 34ccec889a50f95e76706a561c1ee393c1a425d4 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 28 May 2020 21:42:10 +0800 Subject: [PATCH] remove scala oas3 samples (#6446) --- .../scala-sttp/.openapi-generator-ignore | 23 --- .../scala-sttp/.openapi-generator/FILES | 17 -- .../scala-sttp/.openapi-generator/VERSION | 1 - .../client/petstore/scala-sttp/README.md | 115 ------------ .../client/petstore/scala-sttp/build.sbt | 24 --- .../client/petstore/scala-sttp/pom.xml | 32 ---- .../client/api/EnumsSerializers.scala | 51 ------ .../org/openapitools/client/api/PetApi.scala | 163 ----------------- .../openapitools/client/api/StoreApi.scala | 92 ---------- .../org/openapitools/client/api/UserApi.scala | 170 ------------------ .../openapitools/client/core/ApiInvoker.scala | 60 ------- .../client/core/Serializers.scala | 31 ---- .../openapitools/client/core/requests.scala | 58 ------ .../client/model/ApiResponse.scala | 26 --- .../openapitools/client/model/Category.scala | 25 --- .../client/model/InlineObject.scala | 23 --- .../client/model/InlineObject1.scala | 24 --- .../org/openapitools/client/model/Order.scala | 41 ----- .../org/openapitools/client/model/Pet.scala | 40 ----- .../org/openapitools/client/model/Tag.scala | 25 --- .../org/openapitools/client/model/User.scala | 32 ---- 21 files changed, 1073 deletions(-) delete mode 100644 samples/openapi3/client/petstore/scala-sttp/.openapi-generator-ignore delete mode 100644 samples/openapi3/client/petstore/scala-sttp/.openapi-generator/FILES delete mode 100644 samples/openapi3/client/petstore/scala-sttp/.openapi-generator/VERSION delete mode 100644 samples/openapi3/client/petstore/scala-sttp/README.md delete mode 100644 samples/openapi3/client/petstore/scala-sttp/build.sbt delete mode 100644 samples/openapi3/client/petstore/scala-sttp/pom.xml delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/EnumsSerializers.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/PetApi.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/StoreApi.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/UserApi.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/ApiInvoker.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/Serializers.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/requests.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/ApiResponse.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Category.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject1.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Order.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Pet.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Tag.scala delete mode 100644 samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/User.scala diff --git a/samples/openapi3/client/petstore/scala-sttp/.openapi-generator-ignore b/samples/openapi3/client/petstore/scala-sttp/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a38..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/openapi3/client/petstore/scala-sttp/.openapi-generator/FILES b/samples/openapi3/client/petstore/scala-sttp/.openapi-generator/FILES deleted file mode 100644 index ffe27d280813..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/.openapi-generator/FILES +++ /dev/null @@ -1,17 +0,0 @@ -README.md -build.sbt -src/main/scala/org/openapitools/client/api/EnumsSerializers.scala -src/main/scala/org/openapitools/client/api/PetApi.scala -src/main/scala/org/openapitools/client/api/StoreApi.scala -src/main/scala/org/openapitools/client/api/UserApi.scala -src/main/scala/org/openapitools/client/core/ApiInvoker.scala -src/main/scala/org/openapitools/client/core/Serializers.scala -src/main/scala/org/openapitools/client/core/requests.scala -src/main/scala/org/openapitools/client/model/ApiResponse.scala -src/main/scala/org/openapitools/client/model/Category.scala -src/main/scala/org/openapitools/client/model/InlineObject.scala -src/main/scala/org/openapitools/client/model/InlineObject1.scala -src/main/scala/org/openapitools/client/model/Order.scala -src/main/scala/org/openapitools/client/model/Pet.scala -src/main/scala/org/openapitools/client/model/Tag.scala -src/main/scala/org/openapitools/client/model/User.scala diff --git a/samples/openapi3/client/petstore/scala-sttp/.openapi-generator/VERSION b/samples/openapi3/client/petstore/scala-sttp/.openapi-generator/VERSION deleted file mode 100644 index d99e7162d01f..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -5.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/scala-sttp/README.md b/samples/openapi3/client/petstore/scala-sttp/README.md deleted file mode 100644 index 891ebf40fc01..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/README.md +++ /dev/null @@ -1,115 +0,0 @@ -# 'scala-sttp-petstore' - -OpenAPI Petstore -- API version: 1.0.0 - -This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - - -*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)* - -## Requirements - -Building the API client library requires: -1. Java 1.7+ -2. Maven/Gradle/SBT - -## Installation - -To install the API client library to your local Maven repository, simply execute: - -```shell -mvn clean install -``` - -To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: - -```shell -mvn clean deploy -``` - -Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information. - -### Maven users - -Add this dependency to your project's POM: - -```xml - - org.openapitools - 'scala-sttp-petstore' - 1.0.0 - compile - -``` - -### Gradle users - -Add this dependency to your project's build file: - -```groovy -compile "org.openapitools:'scala-sttp-petstore':1.0.0" -``` - -### SBT users - -```scala -libraryDependencies += "org.openapitools" % "'scala-sttp-petstore'" % "1.0.0" -``` - -## Getting Started - -## Documentation for API Endpoints - -All URIs are relative to *http://petstore.swagger.io/v2* - -Class | Method | HTTP request | Description ------------- | ------------- | ------------- | ------------- -*PetApi* | **addPet** | **POST** /pet | Add a new pet to the store -*PetApi* | **deletePet** | **DELETE** /pet/${petId} | Deletes a pet -*PetApi* | **findPetsByStatus** | **GET** /pet/findByStatus | Finds Pets by status -*PetApi* | **findPetsByTags** | **GET** /pet/findByTags | Finds Pets by tags -*PetApi* | **getPetById** | **GET** /pet/${petId} | Find pet by ID -*PetApi* | **updatePet** | **PUT** /pet | Update an existing pet -*PetApi* | **updatePetWithForm** | **POST** /pet/${petId} | Updates a pet in the store with form data -*PetApi* | **uploadFile** | **POST** /pet/${petId}/uploadImage | uploads an image -*StoreApi* | **deleteOrder** | **DELETE** /store/order/${orderId} | Delete purchase order by ID -*StoreApi* | **getInventory** | **GET** /store/inventory | Returns pet inventories by status -*StoreApi* | **getOrderById** | **GET** /store/order/${orderId} | Find purchase order by ID -*StoreApi* | **placeOrder** | **POST** /store/order | Place an order for a pet -*UserApi* | **createUser** | **POST** /user | Create user -*UserApi* | **createUsersWithArrayInput** | **POST** /user/createWithArray | Creates list of users with given input array -*UserApi* | **createUsersWithListInput** | **POST** /user/createWithList | Creates list of users with given input array -*UserApi* | **deleteUser** | **DELETE** /user/${username} | Delete user -*UserApi* | **getUserByName** | **GET** /user/${username} | Get user by user name -*UserApi* | **loginUser** | **GET** /user/login | Logs user into the system -*UserApi* | **logoutUser** | **GET** /user/logout | Logs out current logged in user session -*UserApi* | **updateUser** | **PUT** /user/${username} | Updated user - - -## Documentation for Models - - - [ApiResponse](ApiResponse.md) - - [Category](Category.md) - - [InlineObject](InlineObject.md) - - [InlineObject1](InlineObject1.md) - - [Order](Order.md) - - [Pet](Pet.md) - - [Tag](Tag.md) - - [User](User.md) - - -## Documentation for Authorization - -Authentication schemes defined for the API: -### api_key - -- **Type**: API key -- **API key parameter name**: api_key -- **Location**: HTTP header - - -## Author - - - diff --git a/samples/openapi3/client/petstore/scala-sttp/build.sbt b/samples/openapi3/client/petstore/scala-sttp/build.sbt deleted file mode 100644 index 68b09b1d6dd8..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/build.sbt +++ /dev/null @@ -1,24 +0,0 @@ -version := "1.0.0" -name := "'scala-sttp-petstore'" -organization := "org.openapitools" - -scalaVersion := "2.13.0" - -crossScalaVersions := Seq(scalaVersion.value, "2.12.10", "2.11.12") - -libraryDependencies ++= Seq( - "com.softwaremill.sttp.client" %% "core" % "2.0.0", - "com.softwaremill.sttp.client" %% "json4s" % "2.0.0", - "org.json4s" %% "json4s-jackson" % "3.6.7", - // test dependencies - "org.scalatest" %% "scalatest" % "3.0.8" % Test, - "junit" % "junit" % "4.13" % "test" -) - -scalacOptions := Seq( - "-unchecked", - "-deprecation", - "-feature" -) - -publishArtifact in (Compile, packageDoc) := false \ No newline at end of file diff --git a/samples/openapi3/client/petstore/scala-sttp/pom.xml b/samples/openapi3/client/petstore/scala-sttp/pom.xml deleted file mode 100644 index 6b6a83b21e2d..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - org.openapitools - scalaz-sttp-petstore-client - pom - 1.0-SNAPSHOT - scala-sttp-petstore-client - - - - org.codehaus.mojo - exec-maven-plugin - 1.5.0 - - - sbt-test - integration-test - - exec - - - sbt - - test - - - - - - - - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/EnumsSerializers.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/EnumsSerializers.scala deleted file mode 100644 index 71ad618e31fb..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/EnumsSerializers.scala +++ /dev/null @@ -1,51 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.api - -import org.openapitools.client.model._ -import org.json4s._ -import scala.reflect.ClassTag - -object EnumsSerializers { - - def all: Seq[Serializer[_]] = Seq[Serializer[_]]() :+ - new EnumNameSerializer(OrderEnums.Status) :+ - new EnumNameSerializer(PetEnums.Status) - - private class EnumNameSerializer[E <: Enumeration: ClassTag](enum: E) - extends Serializer[E#Value] { - import JsonDSL._ - - val EnumerationClass: Class[E#Value] = classOf[E#Value] - - def deserialize(implicit format: Formats): - PartialFunction[(TypeInfo, JValue), E#Value] = { - case (t @ TypeInfo(EnumerationClass, _), json) if isValid(json) => - json match { - case JString(value) => - enum.withName(value) - case value => - throw new MappingException(s"Can't convert $value to $EnumerationClass") - } - } - - private[this] def isValid(json: JValue) = json match { - case JString(value) if enum.values.exists(_.toString == value) => true - case _ => false - } - - def serialize(implicit format: Formats): PartialFunction[Any, JValue] = { - case i: E#Value => i.toString - } - } - -} diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/PetApi.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/PetApi.scala deleted file mode 100644 index 5211d09c9c5c..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/PetApi.scala +++ /dev/null @@ -1,163 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.api - -import org.openapitools.client.model.ApiResponse -import java.io.File -import org.openapitools.client.model.Pet -import org.openapitools.client.core._ -import alias._ -import sttp.client._ -import sttp.model.Method - -object PetApi { - - def apply(baseUrl: String = "http://petstore.swagger.io/v2")(implicit serializer: SttpSerializer) = new PetApi(baseUrl) -} - -class PetApi(baseUrl: String)(implicit serializer: SttpSerializer) { - - import Helpers._ - import serializer._ - - /** - * Expected answers: - * code 200 : Pet (successful operation) - * code 405 : (Invalid input) - * - * @param pet Pet object that needs to be added to the store - */ - def addPet(pet: Pet): ApiRequestT[Pet] = - basicRequest - .method(Method.POST, uri"$baseUrl/pet") - .contentType("application/json") - .body(pet) - .response(asJson[Pet]) - - /** - * Expected answers: - * code 400 : (Invalid pet value) - * - * @param petId Pet id to delete - * @param apiKey - */ - def deletePet(petId: Long, apiKey: Option[String] = None): ApiRequestT[Unit] = - basicRequest - .method(Method.DELETE, uri"$baseUrl/pet/${petId}") - .contentType("application/json") - .header("api_key", apiKey) - .response(asJson[Unit]) - - /** - * Multiple status values can be provided with comma separated strings - * - * Expected answers: - * code 200 : Seq[Pet] (successful operation) - * code 400 : (Invalid status value) - * - * @param status Status values that need to be considered for filter - */ - def findPetsByStatus(status: Seq[String]): ApiRequestT[Seq[Pet]] = - basicRequest - .method(Method.GET, uri"$baseUrl/pet/findByStatus?status=$status") - .contentType("application/json") - .response(asJson[Seq[Pet]]) - - /** - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * - * Expected answers: - * code 200 : Seq[Pet] (successful operation) - * code 400 : (Invalid tag value) - * - * @param tags Tags to filter by - */ - def findPetsByTags(tags: Seq[String]): ApiRequestT[Seq[Pet]] = - basicRequest - .method(Method.GET, uri"$baseUrl/pet/findByTags?tags=$tags") - .contentType("application/json") - .response(asJson[Seq[Pet]]) - - /** - * Returns a single pet - * - * Expected answers: - * code 200 : Pet (successful operation) - * code 400 : (Invalid ID supplied) - * code 404 : (Pet not found) - * - * Available security schemes: - * api_key (apiKey) - * - * @param petId ID of pet to return - */ - def getPetById(petId: Long)(implicit apiKey: ApiKeyValue): ApiRequestT[Pet] = - basicRequest - .method(Method.GET, uri"$baseUrl/pet/${petId}") - .contentType("application/json") - .header("api_key", apiKey.value) - .response(asJson[Pet]) - - /** - * Expected answers: - * code 200 : Pet (successful operation) - * code 400 : (Invalid ID supplied) - * code 404 : (Pet not found) - * code 405 : (Validation exception) - * - * @param pet Pet object that needs to be added to the store - */ - def updatePet(pet: Pet): ApiRequestT[Pet] = - basicRequest - .method(Method.PUT, uri"$baseUrl/pet") - .contentType("application/json") - .body(pet) - .response(asJson[Pet]) - - /** - * Expected answers: - * code 405 : (Invalid input) - * - * @param petId ID of pet that needs to be updated - * @param name Updated name of the pet - * @param status Updated status of the pet - */ - def updatePetWithForm(petId: Long, name: Option[String] = None, status: Option[String] = None): ApiRequestT[Unit] = - basicRequest - .method(Method.POST, uri"$baseUrl/pet/${petId}") - .contentType("application/x-www-form-urlencoded") - .body(Map( - "name" -> name, - "status" -> status, - )) - .response(asJson[Unit]) - - /** - * Expected answers: - * code 200 : ApiResponse (successful operation) - * - * @param petId ID of pet to update - * @param additionalMetadata Additional data to pass to server - * @param file file to upload - */ - def uploadFile(petId: Long, additionalMetadata: Option[String] = None, file: Option[File] = None): ApiRequestT[ApiResponse] = - basicRequest - .method(Method.POST, uri"$baseUrl/pet/${petId}/uploadImage") - .contentType("multipart/form-data") - .body(Map( - "additionalMetadata" -> additionalMetadata, - "file" -> file, - )) - .response(asJson[ApiResponse]) - -} - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/StoreApi.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/StoreApi.scala deleted file mode 100644 index 907cc9f42f0f..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/StoreApi.scala +++ /dev/null @@ -1,92 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.api - -import org.openapitools.client.model.Order -import org.openapitools.client.core._ -import alias._ -import sttp.client._ -import sttp.model.Method - -object StoreApi { - - def apply(baseUrl: String = "http://petstore.swagger.io/v2")(implicit serializer: SttpSerializer) = new StoreApi(baseUrl) -} - -class StoreApi(baseUrl: String)(implicit serializer: SttpSerializer) { - - import Helpers._ - import serializer._ - - /** - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * - * Expected answers: - * code 400 : (Invalid ID supplied) - * code 404 : (Order not found) - * - * @param orderId ID of the order that needs to be deleted - */ - def deleteOrder(orderId: String): ApiRequestT[Unit] = - basicRequest - .method(Method.DELETE, uri"$baseUrl/store/order/${orderId}") - .contentType("application/json") - .response(asJson[Unit]) - - /** - * Returns a map of status codes to quantities - * - * Expected answers: - * code 200 : Map[String, Int] (successful operation) - * - * Available security schemes: - * api_key (apiKey) - */ - def getInventory()(implicit apiKey: ApiKeyValue): ApiRequestT[Map[String, Int]] = - basicRequest - .method(Method.GET, uri"$baseUrl/store/inventory") - .contentType("application/json") - .header("api_key", apiKey.value) - .response(asJson[Map[String, Int]]) - - /** - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * - * Expected answers: - * code 200 : Order (successful operation) - * code 400 : (Invalid ID supplied) - * code 404 : (Order not found) - * - * @param orderId ID of pet that needs to be fetched - */ - def getOrderById(orderId: Long): ApiRequestT[Order] = - basicRequest - .method(Method.GET, uri"$baseUrl/store/order/${orderId}") - .contentType("application/json") - .response(asJson[Order]) - - /** - * Expected answers: - * code 200 : Order (successful operation) - * code 400 : (Invalid Order) - * - * @param order order placed for purchasing the pet - */ - def placeOrder(order: Order): ApiRequestT[Order] = - basicRequest - .method(Method.POST, uri"$baseUrl/store/order") - .contentType("application/json") - .body(order) - .response(asJson[Order]) - -} - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/UserApi.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/UserApi.scala deleted file mode 100644 index 34679dea5d7a..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/api/UserApi.scala +++ /dev/null @@ -1,170 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.api - -import org.openapitools.client.model.User -import org.openapitools.client.core._ -import alias._ -import sttp.client._ -import sttp.model.Method - -object UserApi { - - def apply(baseUrl: String = "http://petstore.swagger.io/v2")(implicit serializer: SttpSerializer) = new UserApi(baseUrl) -} - -class UserApi(baseUrl: String)(implicit serializer: SttpSerializer) { - - import Helpers._ - import serializer._ - - /** - * This can only be done by the logged in user. - * - * Expected answers: - * code 0 : (successful operation) - * - * Available security schemes: - * api_key (apiKey) - * - * @param user Created user object - */ - def createUser(user: User)(implicit apiKey: ApiKeyValue): ApiRequestT[Unit] = - basicRequest - .method(Method.POST, uri"$baseUrl/user") - .contentType("application/json") - .header("api_key", apiKey.value) - .body(user) - .response(asJson[Unit]) - - /** - * Expected answers: - * code 0 : (successful operation) - * - * Available security schemes: - * api_key (apiKey) - * - * @param user List of user object - */ - def createUsersWithArrayInput(user: Seq[User])(implicit apiKey: ApiKeyValue): ApiRequestT[Unit] = - basicRequest - .method(Method.POST, uri"$baseUrl/user/createWithArray") - .contentType("application/json") - .header("api_key", apiKey.value) - .body(user) - .response(asJson[Unit]) - - /** - * Expected answers: - * code 0 : (successful operation) - * - * Available security schemes: - * api_key (apiKey) - * - * @param user List of user object - */ - def createUsersWithListInput(user: Seq[User])(implicit apiKey: ApiKeyValue): ApiRequestT[Unit] = - basicRequest - .method(Method.POST, uri"$baseUrl/user/createWithList") - .contentType("application/json") - .header("api_key", apiKey.value) - .body(user) - .response(asJson[Unit]) - - /** - * This can only be done by the logged in user. - * - * Expected answers: - * code 400 : (Invalid username supplied) - * code 404 : (User not found) - * - * Available security schemes: - * api_key (apiKey) - * - * @param username The name that needs to be deleted - */ - def deleteUser(username: String)(implicit apiKey: ApiKeyValue): ApiRequestT[Unit] = - basicRequest - .method(Method.DELETE, uri"$baseUrl/user/${username}") - .contentType("application/json") - .header("api_key", apiKey.value) - .response(asJson[Unit]) - - /** - * Expected answers: - * code 200 : User (successful operation) - * code 400 : (Invalid username supplied) - * code 404 : (User not found) - * - * @param username The name that needs to be fetched. Use user1 for testing. - */ - def getUserByName(username: String): ApiRequestT[User] = - basicRequest - .method(Method.GET, uri"$baseUrl/user/${username}") - .contentType("application/json") - .response(asJson[User]) - - /** - * Expected answers: - * code 200 : String (successful operation) - * Headers : - * Set-Cookie - Cookie authentication key for use with the `api_key` apiKey authentication. - * X-Rate-Limit - calls per hour allowed by the user - * X-Expires-After - date in UTC when toekn expires - * code 400 : (Invalid username/password supplied) - * - * @param username The user name for login - * @param password The password for login in clear text - */ - def loginUser(username: String, password: String): ApiRequestT[String] = - basicRequest - .method(Method.GET, uri"$baseUrl/user/login?username=$username&password=$password") - .contentType("application/json") - .response(asJson[String]) - - /** - * Expected answers: - * code 0 : (successful operation) - * - * Available security schemes: - * api_key (apiKey) - */ - def logoutUser()(implicit apiKey: ApiKeyValue): ApiRequestT[Unit] = - basicRequest - .method(Method.GET, uri"$baseUrl/user/logout") - .contentType("application/json") - .header("api_key", apiKey.value) - .response(asJson[Unit]) - - /** - * This can only be done by the logged in user. - * - * Expected answers: - * code 400 : (Invalid user supplied) - * code 404 : (User not found) - * - * Available security schemes: - * api_key (apiKey) - * - * @param username name that need to be deleted - * @param user Updated user object - */ - def updateUser(username: String, user: User)(implicit apiKey: ApiKeyValue): ApiRequestT[Unit] = - basicRequest - .method(Method.PUT, uri"$baseUrl/user/${username}") - .contentType("application/json") - .header("api_key", apiKey.value) - .body(user) - .response(asJson[Unit]) - -} - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/ApiInvoker.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/ApiInvoker.scala deleted file mode 100644 index dc98ff4d1365..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/ApiInvoker.scala +++ /dev/null @@ -1,60 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.core - -import org.json4s._ -import sttp.client._ -import sttp.model.StatusCode -import org.openapitools.client.api.EnumsSerializers -import sttp.client.json4s.SttpJson4sApi -import sttp.client.monad.MonadError - -class SttpSerializer(implicit val format: Formats = DefaultFormats ++ EnumsSerializers.all ++ Serializers.all, - implicit val serialization: org.json4s.Serialization = org.json4s.jackson.Serialization) extends SttpJson4sApi - -class HttpException(val statusCode: StatusCode, val statusText: String, val message: String) extends Exception(s"[$statusCode] $statusText: $message") - -object Helpers { - - // Helper to handle Optional header parameters - implicit class optionalParams(val request: RequestT[Identity, Either[String, String], Nothing]) extends AnyVal { - def header( header: String, optValue: Option[Any]): RequestT[Identity, Either[String, String], Nothing] = { - optValue.map( value => request.header(header, value.toString)).getOrElse(request) - } - } - -} - -object ApiInvoker { - - /** - * Allows request execution without calling apiInvoker.execute(request) - * request.result can be used to get a monad wrapped content. - * - * @param request the apiRequest to be executed - */ - implicit class ApiRequestImprovements[R[_], T](request: RequestT[Identity, Either[ResponseError[Exception], T], Nothing]) { - - def result(implicit backend: SttpBackend[R, Nothing, Nothing]): R[T] = { - val responseT = request.send() - val ME: MonadError[R] = backend.responseMonad - ME.flatMap(responseT) { - response => - response.body match { - case Left(ex) => ME.error[T](new HttpException(response.code, response.statusText, ex.body)) - case Right(value) => ME.unit(value) - } - } - } - } - -} diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/Serializers.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/Serializers.scala deleted file mode 100644 index dbd13545c738..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/Serializers.scala +++ /dev/null @@ -1,31 +0,0 @@ -package org.openapitools.client.core - -import java.time.{LocalDate, LocalDateTime, OffsetDateTime, ZoneId} -import java.time.format.DateTimeFormatter -import scala.util.Try -import org.json4s.{Serializer, CustomSerializer, JNull} -import org.json4s.JsonAST.JString - -object Serializers { - - case object DateTimeSerializer extends CustomSerializer[OffsetDateTime](_ => ( { - case JString(s) => - Try(OffsetDateTime.parse(s, DateTimeFormatter.ISO_OFFSET_DATE_TIME)) orElse - Try(LocalDateTime.parse(s).atZone(ZoneId.systemDefault()).toOffsetDateTime) getOrElse (null) - case JNull => null - }, { - case d: OffsetDateTime => - JString(d.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)) - })) - - case object LocalDateSerializer extends CustomSerializer[LocalDate]( _ => ( { - case JString(s) => LocalDate.parse(s) - case JNull => null - }, { - case d: LocalDate => - JString(d.format(DateTimeFormatter.ISO_LOCAL_DATE)) - })) - - def all: Seq[Serializer[_]] = Seq[Serializer[_]]() :+ LocalDateSerializer :+ DateTimeSerializer - -} diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/requests.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/requests.scala deleted file mode 100644 index 1f45be8103e1..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/requests.scala +++ /dev/null @@ -1,58 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.core - -import sttp.client.{Identity, RequestT, ResponseError} - -/** - * This trait needs to be added to any model defined by the api. - */ -trait ApiModel - -/** - * Sttp type aliases - */ -object alias { - type ApiRequestT[T] = RequestT[Identity, Either[ResponseError[Exception], T], Nothing] -} - -/** - * Single trait defining a credential that can be transformed to a paramName / paramValue tupple - */ -sealed trait Credentials { - def asQueryParam: Option[(String, String)] = None -} - -sealed case class BasicCredentials(user: String, password: String) extends Credentials - -sealed case class BearerToken(token: String) extends Credentials - -sealed case class ApiKeyCredentials(key: ApiKeyValue, keyName: String, location: ApiKeyLocation) extends Credentials { - override def asQueryParam: Option[(String, String)] = location match { - case ApiKeyLocations.QUERY => Some((keyName, key.value)) - case _ => None - } -} - -sealed case class ApiKeyValue(value: String) - -sealed trait ApiKeyLocation - -object ApiKeyLocations { - - case object QUERY extends ApiKeyLocation - - case object HEADER extends ApiKeyLocation - - case object COOKIE extends ApiKeyLocation - -} diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/ApiResponse.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/ApiResponse.scala deleted file mode 100644 index 3a3b6d6f499a..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/ApiResponse.scala +++ /dev/null @@ -1,26 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import org.openapitools.client.core.ApiModel - - /** - * An uploaded response - * Describes the result of uploading an image resource - */ -case class ApiResponse( - code: Option[Int] = None, - `type`: Option[String] = None, - message: Option[String] = None -) extends ApiModel - - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Category.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Category.scala deleted file mode 100644 index 011164617cfb..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Category.scala +++ /dev/null @@ -1,25 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import org.openapitools.client.core.ApiModel - - /** - * Pet category - * A category for a pet - */ -case class Category( - id: Option[Long] = None, - name: Option[String] = None -) extends ApiModel - - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject.scala deleted file mode 100644 index a8c5493161a1..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject.scala +++ /dev/null @@ -1,23 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import org.openapitools.client.core.ApiModel - -case class InlineObject( - /* Updated name of the pet */ - name: Option[String] = None, - /* Updated status of the pet */ - status: Option[String] = None -) extends ApiModel - - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject1.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject1.scala deleted file mode 100644 index 480cf8c2e10a..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/InlineObject1.scala +++ /dev/null @@ -1,24 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import java.io.File -import org.openapitools.client.core.ApiModel - -case class InlineObject1( - /* Additional data to pass to server */ - additionalMetadata: Option[String] = None, - /* file to upload */ - file: Option[File] = None -) extends ApiModel - - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Order.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Order.scala deleted file mode 100644 index baa0c0cb14a6..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Order.scala +++ /dev/null @@ -1,41 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import java.time.OffsetDateTime -import org.openapitools.client.core.ApiModel - - /** - * Pet Order - * An order for a pets from the pet store - */ -case class Order( - id: Option[Long] = None, - petId: Option[Long] = None, - quantity: Option[Int] = None, - shipDate: Option[OffsetDateTime] = None, - /* Order Status */ - status: Option[OrderEnums.Status] = None, - complete: Option[Boolean] = None -) extends ApiModel - -object OrderEnums { - - type Status = Status.Value - object Status extends Enumeration { - val Placed = Value("placed") - val Approved = Value("approved") - val Delivered = Value("delivered") - } - -} - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Pet.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Pet.scala deleted file mode 100644 index 75b528c3c0a1..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Pet.scala +++ /dev/null @@ -1,40 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import org.openapitools.client.core.ApiModel - - /** - * a Pet - * A pet for sale in the pet store - */ -case class Pet( - id: Option[Long] = None, - category: Option[Category] = None, - name: String, - photoUrls: Seq[String], - tags: Option[Seq[Tag]] = None, - /* pet status in the store */ - status: Option[PetEnums.Status] = None -) extends ApiModel - -object PetEnums { - - type Status = Status.Value - object Status extends Enumeration { - val Available = Value("available") - val Pending = Value("pending") - val Sold = Value("sold") - } - -} - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Tag.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Tag.scala deleted file mode 100644 index 299ee5161a8b..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/Tag.scala +++ /dev/null @@ -1,25 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import org.openapitools.client.core.ApiModel - - /** - * Pet Tag - * A tag for a pet - */ -case class Tag( - id: Option[Long] = None, - name: Option[String] = None -) extends ApiModel - - diff --git a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/User.scala b/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/User.scala deleted file mode 100644 index bd2e6c3ba2a7..000000000000 --- a/samples/openapi3/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/model/User.scala +++ /dev/null @@ -1,32 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.client.model - -import org.openapitools.client.core.ApiModel - - /** - * a User - * A User who is purchasing from the pet store - */ -case class User( - id: Option[Long] = None, - username: Option[String] = None, - firstName: Option[String] = None, - lastName: Option[String] = None, - email: Option[String] = None, - password: Option[String] = None, - phone: Option[String] = None, - /* User Status */ - userStatus: Option[Int] = None -) extends ApiModel - -