forked from loafle/openapi-generator-original
add new generator: typescript-rxjs (#1884)
* Merged in feature/rxjs (pull request #2) Feature/rxjs * feat: duplicate typescript-fetch, add docs * duplicate fetch codegen to use for rxjs * remove mapping helpers from modesl * introduce rxjs, adjust apis * make middlewares work * fix namespace issue with babel * fix enum generation * fix formatting of enum * remove other readme * feat: duplicate typescript-fetch, add docs * duplicate fetch codegen to use for rxjs * remove mapping helpers from modesl * introduce rxjs, adjust apis * make middlewares work * fix namespace issue with babel * fix enum generation * fix formatting of enum * remove other readme * add bash scripts to generate samples * remove environment import * add rxjs dependency to package.mustache * add genereated samples * add docs * add windows scripts * adjust license info * update "ensure-up-to-date" by typescript-rxjs * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * Update modules/openapi-generator/src/main/resources/typescript-rxjs/apis.mustache Co-Authored-By: denyo <hacker.bernd@gmail.com> * fix missing return for Observable<void> * use shorthand syntax * improve linting * improve linting * revert previous changes * Revert "Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache" This reverts commit 26f65ca4ce29ab9ab4602e7cb0367895e93ddf4e. * recreate typescript-rxjs samples
This commit is contained in:
parent
956512a9bf
commit
d33c4bb4a3
@ -38,7 +38,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
|
|||||||
|
|
||||||
| | Languages/Frameworks |
|
| | Languages/Frameworks |
|
||||||
|-|-|
|
|-|-|
|
||||||
**API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart (1.x, 2.x)**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (rust, rust-server), **Scala** (akka, http4s, scalaz, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (AngularJS, Angular (2.x - 7.x), Aurelia, Axios, Fetch, Inversify, jQuery, Node)
|
**API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart (1.x, 2.x)**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (rust, rust-server), **Scala** (akka, http4s, scalaz, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (AngularJS, Angular (2.x - 7.x), Aurelia, Axios, Fetch, Inversify, jQuery, Node, Rxjs)
|
||||||
**Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go** (net/http, Gin), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples)), **Kotlin** (Spring Boot), **PHP** (Laravel, Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), Scalatra)
|
**Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go** (net/http, Gin), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples)), **Kotlin** (Spring Boot), **PHP** (Laravel, Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), Scalatra)
|
||||||
**API documentation generators** | **HTML**, **Confluence Wiki**
|
**API documentation generators** | **HTML**, **Confluence Wiki**
|
||||||
**Configuration files** | [**Apache2**](https://httpd.apache.org/)
|
**Configuration files** | [**Apache2**](https://httpd.apache.org/)
|
||||||
@ -619,6 +619,7 @@ Here is a list of template creators:
|
|||||||
* TypeScript (Fetch): @leonyu
|
* TypeScript (Fetch): @leonyu
|
||||||
* TypeScript (jQuery): @bherila
|
* TypeScript (jQuery): @bherila
|
||||||
* TypeScript (Node): @mhardorf
|
* TypeScript (Node): @mhardorf
|
||||||
|
* TypeScript (Rxjs): @denyo
|
||||||
* Server Stubs
|
* Server Stubs
|
||||||
* Ada: @stcarrez
|
* Ada: @stcarrez
|
||||||
* C# ASP.NET5: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
|
* C# ASP.NET5: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
|
||||||
|
6
bin/typescript-rxjs-petstore-all.sh
Executable file
6
bin/typescript-rxjs-petstore-all.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
./bin/typescript-rxjs-petstore-target-es6.sh
|
||||||
|
./bin/typescript-rxjs-petstore-with-npm-version.sh
|
||||||
|
./bin/typescript-rxjs-petstore-interfaces.sh
|
||||||
|
./bin/typescript-rxjs-petstore.sh
|
32
bin/typescript-rxjs-petstore-interfaces.sh
Executable file
32
bin/typescript-rxjs-petstore-interfaces.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SCRIPT="$0"
|
||||||
|
echo "# START SCRIPT: $SCRIPT"
|
||||||
|
|
||||||
|
while [ -h "$SCRIPT" ] ; do
|
||||||
|
ls=`ls -ld "$SCRIPT"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
SCRIPT="$link"
|
||||||
|
else
|
||||||
|
SCRIPT=`dirname "$SCRIPT"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -d "${APP_DIR}" ]; then
|
||||||
|
APP_DIR=`dirname "$SCRIPT"`/..
|
||||||
|
APP_DIR=`cd "${APP_DIR}"; pwd`
|
||||||
|
fi
|
||||||
|
|
||||||
|
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
|
||||||
|
|
||||||
|
if [ ! -f "$executable" ]
|
||||||
|
then
|
||||||
|
mvn -B clean package
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if you've executed sbt assembly previously it will use that instead.
|
||||||
|
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
|
||||||
|
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -o samples/client/petstore/typescript-rxjs/builds/with-interfaces -D withInterfaces=true $@"
|
||||||
|
|
||||||
|
java $JAVA_OPTS -jar $executable $ags
|
7
bin/typescript-rxjs-petstore-target-es6.json
Normal file
7
bin/typescript-rxjs-petstore-target-es6.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"npmName": "@swagger/typescript-rxjs-petstore",
|
||||||
|
"npmVersion": "1.0.0",
|
||||||
|
"npmRepository" : "https://skimdb.npmjs.com/registry",
|
||||||
|
"snapshot" : false,
|
||||||
|
"supportsES6": true
|
||||||
|
}
|
32
bin/typescript-rxjs-petstore-target-es6.sh
Executable file
32
bin/typescript-rxjs-petstore-target-es6.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SCRIPT="$0"
|
||||||
|
echo "# START SCRIPT: $SCRIPT"
|
||||||
|
|
||||||
|
while [ -h "$SCRIPT" ] ; do
|
||||||
|
ls=`ls -ld "$SCRIPT"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
SCRIPT="$link"
|
||||||
|
else
|
||||||
|
SCRIPT=`dirname "$SCRIPT"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -d "${APP_DIR}" ]; then
|
||||||
|
APP_DIR=`dirname "$SCRIPT"`/..
|
||||||
|
APP_DIR=`cd "${APP_DIR}"; pwd`
|
||||||
|
fi
|
||||||
|
|
||||||
|
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
|
||||||
|
|
||||||
|
if [ ! -f "$executable" ]
|
||||||
|
then
|
||||||
|
mvn -B clean package
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if you've executed sbt assembly previously it will use that instead.
|
||||||
|
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
|
||||||
|
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -c bin/typescript-rxjs-petstore-target-es6.json -o samples/client/petstore/typescript-rxjs/builds/es6-target $@"
|
||||||
|
|
||||||
|
java $JAVA_OPTS -jar $executable $ags
|
6
bin/typescript-rxjs-petstore-with-npm-version.json
Normal file
6
bin/typescript-rxjs-petstore-with-npm-version.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"npmName": "@swagger/typescript-rxjs-petstore",
|
||||||
|
"npmVersion": "1.0.0",
|
||||||
|
"npmRepository" : "https://skimdb.npmjs.com/registry",
|
||||||
|
"snapshot" : false
|
||||||
|
}
|
32
bin/typescript-rxjs-petstore-with-npm-version.sh
Executable file
32
bin/typescript-rxjs-petstore-with-npm-version.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SCRIPT="$0"
|
||||||
|
echo "# START SCRIPT: $SCRIPT"
|
||||||
|
|
||||||
|
while [ -h "$SCRIPT" ] ; do
|
||||||
|
ls=`ls -ld "$SCRIPT"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
SCRIPT="$link"
|
||||||
|
else
|
||||||
|
SCRIPT=`dirname "$SCRIPT"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -d "${APP_DIR}" ]; then
|
||||||
|
APP_DIR=`dirname "$SCRIPT"`/..
|
||||||
|
APP_DIR=`cd "${APP_DIR}"; pwd`
|
||||||
|
fi
|
||||||
|
|
||||||
|
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
|
||||||
|
|
||||||
|
if [ ! -f "$executable" ]
|
||||||
|
then
|
||||||
|
mvn -B clean package
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if you've executed sbt assembly previously it will use that instead.
|
||||||
|
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
|
||||||
|
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -c bin/typescript-rxjs-petstore-with-npm-version.json -o samples/client/petstore/typescript-rxjs/builds/with-npm-version $@"
|
||||||
|
|
||||||
|
java $JAVA_OPTS -jar $executable $ags
|
32
bin/typescript-rxjs-petstore.sh
Executable file
32
bin/typescript-rxjs-petstore.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SCRIPT="$0"
|
||||||
|
echo "# START SCRIPT: $SCRIPT"
|
||||||
|
|
||||||
|
while [ -h "$SCRIPT" ] ; do
|
||||||
|
ls=`ls -ld "$SCRIPT"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
SCRIPT="$link"
|
||||||
|
else
|
||||||
|
SCRIPT=`dirname "$SCRIPT"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -d "${APP_DIR}" ]; then
|
||||||
|
APP_DIR=`dirname "$SCRIPT"`/..
|
||||||
|
APP_DIR=`cd "${APP_DIR}"; pwd`
|
||||||
|
fi
|
||||||
|
|
||||||
|
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
|
||||||
|
|
||||||
|
if [ ! -f "$executable" ]
|
||||||
|
then
|
||||||
|
mvn -B clean package
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if you've executed sbt assembly previously it will use that instead.
|
||||||
|
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
|
||||||
|
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -o samples/client/petstore/typescript-rxjs/builds/default $@"
|
||||||
|
|
||||||
|
java $JAVA_OPTS -jar $executable $ags
|
@ -32,6 +32,7 @@ declare -a scripts=("./bin/openapi3/ruby-client-petstore.sh"
|
|||||||
"./bin/typescript-fetch-petstore-all.sh"
|
"./bin/typescript-fetch-petstore-all.sh"
|
||||||
"./bin/typescript-node-petstore-all.sh"
|
"./bin/typescript-node-petstore-all.sh"
|
||||||
"./bin/typescript-inversify-petstore.sh"
|
"./bin/typescript-inversify-petstore.sh"
|
||||||
|
"./bin/typescript-rxjs-petstore.sh"
|
||||||
"./bin/rust-server-petstore.sh"
|
"./bin/rust-server-petstore.sh"
|
||||||
"./bin/haskell-http-client-petstore.sh"
|
"./bin/haskell-http-client-petstore.sh"
|
||||||
"./bin/csharp-petstore.sh"
|
"./bin/csharp-petstore.sh"
|
||||||
|
6
bin/windows/typescript-rxjs-petstore-all.bat
Normal file
6
bin/windows/typescript-rxjs-petstore-all.bat
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
call bin\windows\typescript-rxjs-petstore.bat
|
||||||
|
call bin\windows\typescript-rxjs-petstore-target-es6.bat
|
||||||
|
call bin\windows\typescript-rxjs-petstore-with-npm-version.bat
|
||||||
|
call bin\windows\typescript-rxjs-petstore-interfaces.bat
|
12
bin/windows/typescript-rxjs-petstore-interfaces.bat
Normal file
12
bin/windows/typescript-rxjs-petstore-interfaces.bat
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
|
||||||
|
|
||||||
|
If Not Exist %executable% (
|
||||||
|
mvn clean package
|
||||||
|
)
|
||||||
|
|
||||||
|
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
|
||||||
|
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -o samples\client\petstore\typescript-rxjs\builds\with-interfaces -D withInterfaces=true
|
||||||
|
|
||||||
|
java %JAVA_OPTS% -jar %executable% %ags%
|
12
bin/windows/typescript-rxjs-petstore-target-es6.bat
Normal file
12
bin/windows/typescript-rxjs-petstore-target-es6.bat
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
|
||||||
|
|
||||||
|
If Not Exist %executable% (
|
||||||
|
mvn clean package
|
||||||
|
)
|
||||||
|
|
||||||
|
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
|
||||||
|
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -c bin\typescript-rxjs-petstore-target-es6.json -o samples\client\petstore\typescript-rxjs\builds\es6-target
|
||||||
|
|
||||||
|
java %JAVA_OPTS% -jar %executable% %ags%
|
12
bin/windows/typescript-rxjs-petstore-with-npm-version.bat
Normal file
12
bin/windows/typescript-rxjs-petstore-with-npm-version.bat
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
|
||||||
|
|
||||||
|
If Not Exist %executable% (
|
||||||
|
mvn clean package
|
||||||
|
)
|
||||||
|
|
||||||
|
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
|
||||||
|
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -c bin\typescript-rxjs-petstore-with-npm-version.json -o samples\client\petstore\typescript-rxjs\builds\with-npm-version
|
||||||
|
|
||||||
|
java %JAVA_OPTS% -jar %executable% %ags%
|
14
bin/windows/typescript-rxjs-petstore.bat
Normal file
14
bin/windows/typescript-rxjs-petstore.bat
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
|
||||||
|
|
||||||
|
If Not Exist %executable% (
|
||||||
|
mvn clean package
|
||||||
|
)
|
||||||
|
|
||||||
|
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
|
||||||
|
|
||||||
|
echo
|
||||||
|
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -o samples\client\petstore\typescript-rxjs\builds\default
|
||||||
|
|
||||||
|
java %JAVA_OPTS% -jar %executable% %ags%
|
@ -55,6 +55,7 @@ The following generators are available:
|
|||||||
- [typescript-inversify](typescript-inversify.md)
|
- [typescript-inversify](typescript-inversify.md)
|
||||||
- [typescript-jquery](typescript-jquery.md)
|
- [typescript-jquery](typescript-jquery.md)
|
||||||
- [typescript-node](typescript-node.md)
|
- [typescript-node](typescript-node.md)
|
||||||
|
- [typescript-rxjs](typescript-rxjs.md)
|
||||||
|
|
||||||
|
|
||||||
* SERVER generators:
|
* SERVER generators:
|
||||||
|
37
docs/generators/typescript-rxjs.md
Normal file
37
docs/generators/typescript-rxjs.md
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
CONFIG OPTIONS for typescript-rxjs
|
||||||
|
|
||||||
|
sortParamsByRequiredFlag
|
||||||
|
Sort method arguments to place required parameters before optional parameters. (Default: true)
|
||||||
|
|
||||||
|
ensureUniqueParams
|
||||||
|
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
|
||||||
|
|
||||||
|
allowUnicodeIdentifiers
|
||||||
|
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
|
||||||
|
|
||||||
|
prependFormOrBodyParameters
|
||||||
|
Add form or body parameters to the beginning of the parameter list. (Default: false)
|
||||||
|
|
||||||
|
modelPropertyNaming
|
||||||
|
Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
|
||||||
|
|
||||||
|
supportsES6
|
||||||
|
Generate code that conforms to ES6. (Default: false)
|
||||||
|
|
||||||
|
npmName
|
||||||
|
The name under which you want to publish generated npm package
|
||||||
|
|
||||||
|
npmVersion
|
||||||
|
The version of your npm package
|
||||||
|
|
||||||
|
npmRepository
|
||||||
|
Use this property to set an url your private npmRepo in the package.json
|
||||||
|
|
||||||
|
snapshot
|
||||||
|
When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
|
||||||
|
|
||||||
|
withInterfaces
|
||||||
|
Setting this property to true will generate interfaces next to the default class implementations. (Default: false)
|
||||||
|
|
||||||
|
Back to the [generators list](README.md)
|
@ -0,0 +1,250 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
|
||||||
|
* See: https://opensource.stackexchange.com/questions/7300/copyright-notice-in-the-file-header-apache-v2-license/7301#7301
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.openapitools.codegen.languages;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.models.media.ArraySchema;
|
||||||
|
import io.swagger.v3.oas.models.media.Schema;
|
||||||
|
import io.swagger.v3.parser.util.SchemaTypeUtil;
|
||||||
|
import org.openapitools.codegen.CliOption;
|
||||||
|
import org.openapitools.codegen.CodegenModel;
|
||||||
|
import org.openapitools.codegen.CodegenOperation;
|
||||||
|
import org.openapitools.codegen.CodegenParameter;
|
||||||
|
import org.openapitools.codegen.CodegenConstants;
|
||||||
|
import org.openapitools.codegen.SupportingFile;
|
||||||
|
import org.openapitools.codegen.CodegenConstants.MODEL_PROPERTY_NAMING_TYPE;
|
||||||
|
import org.openapitools.codegen.utils.ModelUtils;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TypeScriptRxjsClientCodegen extends AbstractTypeScriptClientCodegen {
|
||||||
|
private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm", Locale.ROOT);
|
||||||
|
|
||||||
|
public static final String NPM_NAME = "npmName";
|
||||||
|
public static final String NPM_VERSION = "npmVersion";
|
||||||
|
public static final String NPM_REPOSITORY = "npmRepository";
|
||||||
|
public static final String SNAPSHOT = "snapshot";
|
||||||
|
public static final String WITH_INTERFACES = "withInterfaces";
|
||||||
|
|
||||||
|
protected String npmName = null;
|
||||||
|
protected String npmVersion = "1.0.0";
|
||||||
|
protected String npmRepository = null;
|
||||||
|
|
||||||
|
public TypeScriptRxjsClientCodegen() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
// clear import mapping (from default generator) as TS does not use it
|
||||||
|
// at the moment
|
||||||
|
importMapping.clear();
|
||||||
|
|
||||||
|
outputFolder = "generated-code/typescript-rxjs";
|
||||||
|
embeddedTemplateDir = templateDir = "typescript-rxjs";
|
||||||
|
|
||||||
|
this.apiPackage = "apis";
|
||||||
|
this.apiTemplateFiles.put("apis.mustache", ".ts");
|
||||||
|
this.modelPackage = "models";
|
||||||
|
this.modelTemplateFiles.put("models.mustache", ".ts");
|
||||||
|
this.addExtraReservedWords();
|
||||||
|
|
||||||
|
this.cliOptions.add(new CliOption(NPM_NAME, "The name under which you want to publish generated npm package"));
|
||||||
|
this.cliOptions.add(new CliOption(NPM_VERSION, "The version of your npm package"));
|
||||||
|
this.cliOptions.add(new CliOption(NPM_REPOSITORY, "Use this property to set an url your private npmRepo in the package.json"));
|
||||||
|
this.cliOptions.add(new CliOption(SNAPSHOT, "When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm", SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString()));
|
||||||
|
this.cliOptions.add(new CliOption(WITH_INTERFACES, "Setting this property to true will generate interfaces next to the default class implementations.", SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "typescript-rxjs";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getHelp() {
|
||||||
|
return "Generates a TypeScript client library using Rxjs API.";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNpmName() {
|
||||||
|
return npmName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNpmName(String npmName) {
|
||||||
|
this.npmName = npmName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNpmVersion() {
|
||||||
|
return npmVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNpmVersion(String npmVersion) {
|
||||||
|
this.npmVersion = npmVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNpmRepository() {
|
||||||
|
return npmRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNpmRepository(String npmRepository) {
|
||||||
|
this.npmRepository = npmRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processOpts() {
|
||||||
|
super.processOpts();
|
||||||
|
additionalProperties.put("isOriginalModelPropertyNaming", getModelPropertyNaming().equals("original"));
|
||||||
|
additionalProperties.put("modelPropertyNaming", getModelPropertyNaming());
|
||||||
|
supportingFiles.add(new SupportingFile("index.mustache", "", "index.ts"));
|
||||||
|
supportingFiles.add(new SupportingFile("runtime.mustache", "", "runtime.ts"));
|
||||||
|
supportingFiles.add(new SupportingFile("apis.index.mustache", apiPackage().replace('.', File.separatorChar), "index.ts"));
|
||||||
|
supportingFiles.add(new SupportingFile("models.index.mustache", modelPackage().replace('.', File.separatorChar), "index.ts"));
|
||||||
|
supportingFiles.add(new SupportingFile("tsconfig.mustache", "", "tsconfig.json"));
|
||||||
|
if (additionalProperties.containsKey(NPM_NAME)) {
|
||||||
|
addNpmPackageGeneration();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTypeDeclaration(Schema p) {
|
||||||
|
Schema inner;
|
||||||
|
if (ModelUtils.isArraySchema(p)) {
|
||||||
|
inner = ((ArraySchema) p).getItems();
|
||||||
|
return this.getSchemaType(p) + "<" + this.getTypeDeclaration(inner) + ">";
|
||||||
|
} else if (ModelUtils.isMapSchema(p)) {
|
||||||
|
inner = ModelUtils.getAdditionalProperties(p);
|
||||||
|
return "{ [key: string]: " + this.getTypeDeclaration(inner) + "; }";
|
||||||
|
} else if (ModelUtils.isFileSchema(p)) {
|
||||||
|
return "Blob";
|
||||||
|
} else if (ModelUtils.isBinarySchema(p)) {
|
||||||
|
return "Blob";
|
||||||
|
} else if (ModelUtils.isDateSchema(p)) {
|
||||||
|
return "Date";
|
||||||
|
} else if (ModelUtils.isDateTimeSchema(p)) {
|
||||||
|
return "Date";
|
||||||
|
}
|
||||||
|
return super.getTypeDeclaration(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) {
|
||||||
|
codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema));
|
||||||
|
addImport(codegenModel, codegenModel.additionalPropertiesType);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
||||||
|
// don't do enum modifications
|
||||||
|
return objs;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> postProcessAllModels(Map<String, Object> objs) {
|
||||||
|
Map<String, Object> result = super.postProcessAllModels(objs);
|
||||||
|
for (Map.Entry<String, Object> entry : result.entrySet()) {
|
||||||
|
Map<String, Object> inner = (Map<String, Object>) entry.getValue();
|
||||||
|
List<Map<String, Object>> models = (List<Map<String, Object>>) inner.get("models");
|
||||||
|
for (Map<String, Object> model : models) {
|
||||||
|
CodegenModel codegenModel = (CodegenModel) model.get("model");
|
||||||
|
model.put("hasImports", codegenModel.imports.size() > 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addNpmPackageGeneration() {
|
||||||
|
if (additionalProperties.containsKey(NPM_NAME)) {
|
||||||
|
this.setNpmName(additionalProperties.get(NPM_NAME).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey(NPM_VERSION)) {
|
||||||
|
this.setNpmVersion(additionalProperties.get(NPM_VERSION).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey(SNAPSHOT) && Boolean.valueOf(additionalProperties.get(SNAPSHOT).toString())) {
|
||||||
|
this.setNpmVersion(npmVersion + "-SNAPSHOT." + SNAPSHOT_SUFFIX_FORMAT.format(new Date()));
|
||||||
|
}
|
||||||
|
additionalProperties.put(NPM_VERSION, npmVersion);
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey(NPM_REPOSITORY)) {
|
||||||
|
this.setNpmRepository(additionalProperties.get(NPM_REPOSITORY).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Files for building our lib
|
||||||
|
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
|
||||||
|
supportingFiles.add(new SupportingFile("package.mustache", "", "package.json"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> postProcessOperationsWithModels(Map<String, Object> operations, List<Object> allModels) {
|
||||||
|
this.addOperationModelImportInfomation(operations);
|
||||||
|
this.updateOperationParameterEnumInformation(operations);
|
||||||
|
return operations;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addOperationModelImportInfomation(Map<String, Object> operations) {
|
||||||
|
// This method will add extra infomation to the operations.imports array.
|
||||||
|
// The api template uses this infomation to import all the required
|
||||||
|
// models for a given operation.
|
||||||
|
List<Map<String, Object>> imports = (List<Map<String, Object>>) operations.get("imports");
|
||||||
|
for (Map<String, Object> im : imports) {
|
||||||
|
im.put("className", im.get("import").toString().replace("models.", ""));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateOperationParameterEnumInformation(Map<String, Object> operations) {
|
||||||
|
// This method will add extra infomation as to whether or not we have enums and
|
||||||
|
// update their names with the operation.id prefixed.
|
||||||
|
Map<String, Object> _operations = (Map<String, Object>) operations.get("operations");
|
||||||
|
List<CodegenOperation> operationList = (List<CodegenOperation>) _operations.get("operation");
|
||||||
|
boolean hasEnum = false;
|
||||||
|
for (CodegenOperation op : operationList) {
|
||||||
|
for (CodegenParameter param : op.allParams) {
|
||||||
|
if (Boolean.TRUE.equals(param.isEnum)) {
|
||||||
|
hasEnum = true;
|
||||||
|
param.datatypeWithEnum = param.datatypeWithEnum
|
||||||
|
.replace(param.enumName, op.operationIdCamelCase + param.enumName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
operations.put("hasEnums", hasEnum);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addExtraReservedWords() {
|
||||||
|
this.reservedWords.add("BASE_PATH");
|
||||||
|
this.reservedWords.add("BaseAPI");
|
||||||
|
this.reservedWords.add("RequiredError");
|
||||||
|
this.reservedWords.add("COLLECTION_FORMATS");
|
||||||
|
this.reservedWords.add("ConfigurationParameters");
|
||||||
|
this.reservedWords.add("Configuration");
|
||||||
|
this.reservedWords.add("HttpMethod");
|
||||||
|
this.reservedWords.add("HttpHeaders");
|
||||||
|
this.reservedWords.add("HttpQuery");
|
||||||
|
this.reservedWords.add("HttpBody");
|
||||||
|
this.reservedWords.add("ModelPropertyNaming");
|
||||||
|
this.reservedWords.add("RequestArgs");
|
||||||
|
this.reservedWords.add("RequestOpts");
|
||||||
|
this.reservedWords.add("exists");
|
||||||
|
this.reservedWords.add("RequestContext");
|
||||||
|
this.reservedWords.add("ResponseContext");
|
||||||
|
this.reservedWords.add("Middleware");
|
||||||
|
this.reservedWords.add("AjaxResponse");
|
||||||
|
}
|
||||||
|
}
|
@ -102,3 +102,4 @@ org.openapitools.codegen.languages.TypeScriptFetchClientCodegen
|
|||||||
org.openapitools.codegen.languages.TypeScriptInversifyClientCodegen
|
org.openapitools.codegen.languages.TypeScriptInversifyClientCodegen
|
||||||
org.openapitools.codegen.languages.TypeScriptJqueryClientCodegen
|
org.openapitools.codegen.languages.TypeScriptJqueryClientCodegen
|
||||||
org.openapitools.codegen.languages.TypeScriptNodeClientCodegen
|
org.openapitools.codegen.languages.TypeScriptNodeClientCodegen
|
||||||
|
org.openapitools.codegen.languages.TypeScriptRxjsClientCodegen
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
## {{npmName}}@{{npmVersion}}
|
||||||
|
|
||||||
|
This generator creates TypeScript/JavaScript client that utilizes [Fetch API](https://fetch.spec.whatwg.org/). The generated Node module can be used in the following environments:
|
||||||
|
|
||||||
|
Environment
|
||||||
|
* Node.js
|
||||||
|
* Webpack
|
||||||
|
* Browserify
|
||||||
|
|
||||||
|
Language level
|
||||||
|
* ES5 - you must have a Promises/A+ library installed
|
||||||
|
* ES6
|
||||||
|
|
||||||
|
Module system
|
||||||
|
* CommonJS
|
||||||
|
* ES6 module system
|
||||||
|
|
||||||
|
It can be used in both TypeScript and JavaScript. In TypeScript, the definition should be automatically resolved via `package.json`. ([Reference](http://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html))
|
||||||
|
|
||||||
|
### Building
|
||||||
|
|
||||||
|
To build and compile the typescript sources to javascript use:
|
||||||
|
```
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Publishing
|
||||||
|
|
||||||
|
First build the package then run ```npm publish```
|
||||||
|
|
||||||
|
### Consuming
|
||||||
|
|
||||||
|
navigate to the folder of your consuming project and run one of the following commands.
|
||||||
|
|
||||||
|
_published:_
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install {{npmName}}@{{npmVersion}} --save
|
||||||
|
```
|
||||||
|
|
||||||
|
_unPublished (not recommended):_
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install PATH_TO_GENERATED_PACKAGE --save
|
@ -0,0 +1,7 @@
|
|||||||
|
{{#apiInfo}}
|
||||||
|
{{#apis}}
|
||||||
|
{{#operations}}
|
||||||
|
export * from './{{ classFilename }}';
|
||||||
|
{{/operations}}
|
||||||
|
{{/apis}}
|
||||||
|
{{/apiInfo}}
|
@ -0,0 +1,225 @@
|
|||||||
|
// tslint:disable
|
||||||
|
{{>licenseInfo}}
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
{{#imports.0}}
|
||||||
|
import {
|
||||||
|
{{#imports}}
|
||||||
|
{{className}},
|
||||||
|
{{/imports}}
|
||||||
|
} from '../models';
|
||||||
|
{{/imports.0}}
|
||||||
|
|
||||||
|
{{#operations}}
|
||||||
|
{{#operation}}
|
||||||
|
{{#allParams.0}}
|
||||||
|
export interface {{operationIdCamelCase}}Request {
|
||||||
|
{{#allParams}}
|
||||||
|
{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}};
|
||||||
|
{{/allParams}}
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/allParams.0}}
|
||||||
|
{{/operation}}
|
||||||
|
{{/operations}}
|
||||||
|
{{#operations}}
|
||||||
|
/**
|
||||||
|
* {{#description}}{{{description}}}{{/description}}{{^description}}no description{{/description}}
|
||||||
|
*/
|
||||||
|
export class {{classname}} extends BaseAPI {
|
||||||
|
|
||||||
|
{{#operation}}
|
||||||
|
/**
|
||||||
|
{{#notes}}
|
||||||
|
* {{¬es}}
|
||||||
|
{{/notes}}
|
||||||
|
{{#summary}}
|
||||||
|
* {{&summary}}
|
||||||
|
{{/summary}}
|
||||||
|
*/
|
||||||
|
{{nickname}}Raw({{#allParams.0}}requestParameters: {{operationIdCamelCase}}Request{{/allParams.0}}): Observable<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}> {
|
||||||
|
{{#allParams}}
|
||||||
|
{{#required}}
|
||||||
|
if (requestParameters.{{paramName}} === null || requestParameters.{{paramName}} === undefined) {
|
||||||
|
throw new RequiredError('{{paramName}}','Required parameter requestParameters.{{paramName}} was null or undefined when calling {{nickname}}.');
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/required}}
|
||||||
|
{{/allParams}}
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
{{#queryParams}}
|
||||||
|
{{#isListContainer}}
|
||||||
|
if (requestParameters.{{paramName}}) {
|
||||||
|
{{#isCollectionFormatMulti}}
|
||||||
|
queryParameters['{{baseName}}'] = requestParameters.{{paramName}};
|
||||||
|
{{/isCollectionFormatMulti}}
|
||||||
|
{{^isCollectionFormatMulti}}
|
||||||
|
queryParameters['{{baseName}}'] = requestParameters.{{paramName}}.join(COLLECTION_FORMATS["{{collectionFormat}}"]);
|
||||||
|
{{/isCollectionFormatMulti}}
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isListContainer}}
|
||||||
|
{{^isListContainer}}
|
||||||
|
if (requestParameters.{{paramName}} !== undefined && requestParameters.{{paramName}} !== null) {
|
||||||
|
{{#isDateTime}}
|
||||||
|
queryParameters['{{baseName}}'] = (requestParameters.{{paramName}} as any).toISOString();
|
||||||
|
{{/isDateTime}}
|
||||||
|
{{^isDateTime}}
|
||||||
|
{{#isDate}}
|
||||||
|
queryParameters['{{baseName}}'] = (requestParameters.{{paramName}} as any).toISOString();
|
||||||
|
{{/isDate}}
|
||||||
|
{{^isDate}}
|
||||||
|
queryParameters['{{baseName}}'] = requestParameters.{{paramName}};
|
||||||
|
{{/isDate}}
|
||||||
|
{{/isDateTime}}
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isListContainer}}
|
||||||
|
{{/queryParams}}
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
{{#bodyParam}}
|
||||||
|
{{^consumes}}
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
{{/consumes}}
|
||||||
|
{{#consumes.0}}
|
||||||
|
headerParameters['Content-Type'] = '{{{mediaType}}}';
|
||||||
|
|
||||||
|
{{/consumes.0}}
|
||||||
|
{{/bodyParam}}
|
||||||
|
{{#headerParams}}
|
||||||
|
{{#isListContainer}}
|
||||||
|
if (requestParameters.{{paramName}}) {
|
||||||
|
headerParameters['{{baseName}}'] = requestParameters.{{paramName}}.join(COLLECTION_FORMATS["{{collectionFormat}}"]));
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isListContainer}}
|
||||||
|
{{^isListContainer}}
|
||||||
|
if (requestParameters.{{paramName}} !== undefined && requestParameters.{{paramName}} !== null) {
|
||||||
|
headerParameters['{{baseName}}'] = String(requestParameters.{{paramName}});
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isListContainer}}
|
||||||
|
{{/headerParams}}
|
||||||
|
{{#authMethods}}
|
||||||
|
{{#isBasic}}
|
||||||
|
if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {
|
||||||
|
headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password);
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isBasic}}
|
||||||
|
{{#isApiKey}}
|
||||||
|
{{#isKeyInHeader}}
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["{{keyParamName}}"] = this.configuration.apiKey("{{keyParamName}}"); // {{name}} authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isKeyInHeader}}
|
||||||
|
{{#isKeyInQuery}}
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
queryParameters["{{keyParamName}}"] = this.configuration.apiKey("{{keyParamName}}"); // {{name}} authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isKeyInQuery}}
|
||||||
|
{{/isApiKey}}
|
||||||
|
{{#isOAuth}}
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("{{name}}", [{{#scopes}}"{{{scope}}}"{{^-last}}, {{/-last}}{{/scopes}}]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isOAuth}}
|
||||||
|
{{/authMethods}}
|
||||||
|
{{#hasFormParams}}
|
||||||
|
const formData = new FormData();
|
||||||
|
{{/hasFormParams}}
|
||||||
|
{{#formParams}}
|
||||||
|
{{#isListContainer}}
|
||||||
|
if (requestParameters.{{paramName}}) {
|
||||||
|
{{#isCollectionFormatMulti}}
|
||||||
|
requestParameters.{{paramName}}.forEach((element) => {
|
||||||
|
formData.append('{{baseName}}', element as any);
|
||||||
|
})
|
||||||
|
{{/isCollectionFormatMulti}}
|
||||||
|
{{^isCollectionFormatMulti}}
|
||||||
|
formData.append('{{baseName}}', requestParameters.{{paramName}}.join(COLLECTION_FORMATS["{{collectionFormat}}"]));
|
||||||
|
{{/isCollectionFormatMulti}}
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isListContainer}}
|
||||||
|
{{^isListContainer}}
|
||||||
|
if (requestParameters.{{paramName}} !== undefined) {
|
||||||
|
formData.append('{{baseName}}', requestParameters.{{paramName}} as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/isListContainer}}
|
||||||
|
{{/formParams}}
|
||||||
|
return this.request<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}>({
|
||||||
|
path: `{{{path}}}`{{#pathParams}}.replace(`{${"{{baseName}}"}}`, encodeURIComponent(String(requestParameters.{{paramName}}))){{/pathParams}},
|
||||||
|
method: '{{httpMethod}}',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
{{#hasBodyParam}}
|
||||||
|
{{#bodyParam}}
|
||||||
|
{{#isContainer}}
|
||||||
|
body: requestParameters.{{paramName}},
|
||||||
|
{{/isContainer}}
|
||||||
|
{{^isContainer}}
|
||||||
|
{{^isPrimitiveType}}
|
||||||
|
body: requestParameters.{{paramName}},
|
||||||
|
{{/isPrimitiveType}}
|
||||||
|
{{#isPrimitiveType}}
|
||||||
|
body: requestParameters.{{paramName}} as any,
|
||||||
|
{{/isPrimitiveType}}
|
||||||
|
{{/isContainer}}
|
||||||
|
{{/bodyParam}}
|
||||||
|
{{/hasBodyParam}}
|
||||||
|
{{#hasFormParams}}
|
||||||
|
body: formData,
|
||||||
|
{{/hasFormParams}}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
{{#notes}}
|
||||||
|
* {{¬es}}
|
||||||
|
{{/notes}}
|
||||||
|
{{#summary}}
|
||||||
|
* {{&summary}}
|
||||||
|
{{/summary}}
|
||||||
|
*/
|
||||||
|
{{nickname}}({{#allParams.0}}requestParameters: {{operationIdCamelCase}}Request{{/allParams.0}}): Observable<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}> {
|
||||||
|
return this.{{nickname}}Raw({{#allParams.0}}requestParameters{{/allParams.0}});
|
||||||
|
}
|
||||||
|
|
||||||
|
{{/operation}}
|
||||||
|
}
|
||||||
|
{{/operations}}
|
||||||
|
{{#hasEnums}}
|
||||||
|
|
||||||
|
{{#operations}}
|
||||||
|
{{#operation}}
|
||||||
|
{{#allParams}}
|
||||||
|
{{#isEnum}}
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum {{operationIdCamelCase}}{{enumName}} {
|
||||||
|
{{#allowableValues}}
|
||||||
|
{{#enumVars}}
|
||||||
|
{{{name}}} = {{{value}}}{{^-last}},{{/-last}}
|
||||||
|
{{/enumVars}}
|
||||||
|
{{/allowableValues}}
|
||||||
|
}
|
||||||
|
{{/isEnum}}
|
||||||
|
{{/allParams}}
|
||||||
|
{{/operation}}
|
||||||
|
{{/operations}}
|
||||||
|
{{/hasEnums}}
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './runtime';
|
||||||
|
export * from './apis';
|
||||||
|
export * from './models';
|
@ -0,0 +1,11 @@
|
|||||||
|
/**
|
||||||
|
* {{{appName}}}
|
||||||
|
* {{{appDescription}}}
|
||||||
|
*
|
||||||
|
* {{#version}}OpenAPI spec version: {{{version}}}{{/version}}
|
||||||
|
* {{#infoEmail}}Contact: {{{infoEmail}}}{{/infoEmail}}
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||||
|
* https://openapi-generator.tech
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
* {{{description}}}
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum {{classname}} {
|
||||||
|
{{#allowableValues}}
|
||||||
|
{{#enumVars}}
|
||||||
|
{{{name}}} = {{{value}}}{{^-last}},{{/-last}}
|
||||||
|
{{/enumVars}}
|
||||||
|
{{/allowableValues}}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
{{#hasImports}}
|
||||||
|
import {
|
||||||
|
{{#imports}}
|
||||||
|
{{{.}}},
|
||||||
|
{{/imports}}
|
||||||
|
} from './';
|
||||||
|
|
||||||
|
{{/hasImports}}
|
||||||
|
/**{{#description}}
|
||||||
|
* {{{description}}}{{/description}}
|
||||||
|
* @export
|
||||||
|
* @interface {{classname}}
|
||||||
|
*/
|
||||||
|
export interface {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
|
||||||
|
{{#additionalPropertiesType}}
|
||||||
|
[key: string]: {{{additionalPropertiesType}}}{{#hasVars}} | any{{/hasVars}};
|
||||||
|
{{/additionalPropertiesType}}
|
||||||
|
{{#vars}}
|
||||||
|
/**
|
||||||
|
* {{{description}}}
|
||||||
|
* @type {{=<% %>=}}{<%&datatype%>}<%={{ }}=%>
|
||||||
|
* @memberof {{classname}}
|
||||||
|
*/
|
||||||
|
{{#isReadOnly}}readonly {{/isReadOnly}}{{name}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{datatype}}}{{/isEnum}};
|
||||||
|
{{/vars}}
|
||||||
|
}{{#hasEnums}}
|
||||||
|
|
||||||
|
{{#vars}}
|
||||||
|
{{#isEnum}}
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum {{enumName}} {
|
||||||
|
{{#allowableValues}}
|
||||||
|
{{#enumVars}}
|
||||||
|
{{{name}}} = {{{value}}}{{^-last}},{{/-last}}
|
||||||
|
{{/enumVars}}
|
||||||
|
{{/allowableValues}}
|
||||||
|
}
|
||||||
|
{{/isEnum}}
|
||||||
|
{{/vars}}
|
||||||
|
{{/hasEnums}}
|
@ -0,0 +1,5 @@
|
|||||||
|
{{#models}}
|
||||||
|
{{#model}}
|
||||||
|
export * from './{{{ classFilename }}}';
|
||||||
|
{{/model}}
|
||||||
|
{{/models}}
|
@ -0,0 +1,12 @@
|
|||||||
|
// tslint:disable
|
||||||
|
{{>licenseInfo}}
|
||||||
|
{{#models}}
|
||||||
|
{{#model}}
|
||||||
|
{{#isEnum}}
|
||||||
|
{{>modelEnum}}
|
||||||
|
{{/isEnum}}
|
||||||
|
{{^isEnum}}
|
||||||
|
{{>modelGeneric}}
|
||||||
|
{{/isEnum}}
|
||||||
|
{{/model}}
|
||||||
|
{{/models}}
|
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "{{npmName}}",
|
||||||
|
"version": "{{npmVersion}}",
|
||||||
|
"description": "OpenAPI client for {{npmName}}",
|
||||||
|
"author": "OpenAPI-Generator",
|
||||||
|
"main": "./dist/index.js",
|
||||||
|
"typings": "./dist/index.d.ts",
|
||||||
|
"scripts" : {
|
||||||
|
"build": "tsc --outDir dist/",
|
||||||
|
"prepare": "npm run build"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"rxjs": "^6.3.3",
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"typescript": "^2.4"
|
||||||
|
}{{#npmRepository}},{{/npmRepository}}
|
||||||
|
{{#npmRepository}}
|
||||||
|
"publishConfig":{
|
||||||
|
"registry":"{{npmRepository}}"
|
||||||
|
}
|
||||||
|
{{/npmRepository}}
|
||||||
|
}
|
@ -0,0 +1,199 @@
|
|||||||
|
// tslint:disable
|
||||||
|
{{>licenseInfo}}
|
||||||
|
import { Observable, of } from 'rxjs';
|
||||||
|
import { ajax, AjaxResponse } from 'rxjs/ajax';
|
||||||
|
import { map, concatMap } from 'rxjs/operators';
|
||||||
|
|
||||||
|
export const BASE_PATH = '{{{basePath}}}'.replace(/\/+$/, '');
|
||||||
|
|
||||||
|
export interface ConfigurationParameters {
|
||||||
|
basePath?: string; // override base path
|
||||||
|
middleware?: Middleware[]; // middleware to apply before/after rxjs requests
|
||||||
|
username?: string; // parameter for basic security
|
||||||
|
password?: string; // parameter for basic security
|
||||||
|
apiKey?: string | ((name: string) => string); // parameter for apiKey security
|
||||||
|
accessToken?: string | ((name: string, scopes?: string[]) => string); // parameter for oauth2 security
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Configuration {
|
||||||
|
constructor(private configuration: ConfigurationParameters = {}) {}
|
||||||
|
|
||||||
|
get basePath(): string {
|
||||||
|
return this.configuration.basePath || BASE_PATH;
|
||||||
|
}
|
||||||
|
|
||||||
|
get middleware(): Middleware[] {
|
||||||
|
return this.configuration.middleware || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get username(): string | undefined {
|
||||||
|
return this.configuration.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
get password(): string | undefined {
|
||||||
|
return this.configuration.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
get apiKey(): ((name: string) => string) | undefined {
|
||||||
|
const apiKey = this.configuration.apiKey;
|
||||||
|
if (apiKey) {
|
||||||
|
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
get accessToken(): ((name: string, scopes?: string[]) => string) | undefined {
|
||||||
|
const accessToken = this.configuration.accessToken;
|
||||||
|
if (accessToken) {
|
||||||
|
return typeof accessToken === 'function' ? accessToken : () => accessToken;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the base class for all generated API classes.
|
||||||
|
*/
|
||||||
|
export class BaseAPI {
|
||||||
|
private middleware: Middleware[];
|
||||||
|
|
||||||
|
constructor(protected configuration = new Configuration()) {
|
||||||
|
this.middleware = configuration.middleware;
|
||||||
|
}
|
||||||
|
|
||||||
|
withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {
|
||||||
|
const next = this.clone<T>();
|
||||||
|
next.middleware = next.middleware.concat(...middlewares);
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {
|
||||||
|
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {
|
||||||
|
const middlewares = postMiddlewares.map((post) => ({ post }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected request<T>(context: RequestOpts): Observable<T> {
|
||||||
|
return this.rxjsRequest(this.createRequestArgs(context)).pipe(
|
||||||
|
map((res) => {
|
||||||
|
if (res.status >= 200 && res.status < 300) {
|
||||||
|
return res.response as T;
|
||||||
|
}
|
||||||
|
throw res;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private createRequestArgs(context: RequestOpts): RequestArgs {
|
||||||
|
let url = this.configuration.basePath + context.path;
|
||||||
|
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
||||||
|
// only add the querystring to the URL if there are query parameters.
|
||||||
|
// this is done to avoid urls ending with a '?' character which buggy webservers
|
||||||
|
// do not handle correctly sometimes.
|
||||||
|
url += '?' + querystring(context.query);
|
||||||
|
}
|
||||||
|
const body = context.body instanceof FormData ? context.body : JSON.stringify(context.body);
|
||||||
|
const options = {
|
||||||
|
method: context.method,
|
||||||
|
headers: context.headers,
|
||||||
|
body,
|
||||||
|
};
|
||||||
|
return { url, options };
|
||||||
|
}
|
||||||
|
|
||||||
|
private rxjsRequest(params: RequestContext): Observable<AjaxResponse> {
|
||||||
|
const preMiddlewares = this.middleware && this.middleware.filter((item) => item.pre);
|
||||||
|
const postMiddlewares = this.middleware && this.middleware.filter((item) => item.post);
|
||||||
|
|
||||||
|
return of(params).pipe(
|
||||||
|
map((args) => {
|
||||||
|
if (preMiddlewares) {
|
||||||
|
preMiddlewares.forEach((mw) => (args = mw.pre({ ...args })));
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}),
|
||||||
|
concatMap((args) =>
|
||||||
|
ajax({ url: args.url, ...args.options }).pipe(
|
||||||
|
map((response) => {
|
||||||
|
if (postMiddlewares) {
|
||||||
|
postMiddlewares.forEach((mw) => (response = mw.post({ ...params, response })));
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a shallow clone of `this` by constructing a new instance
|
||||||
|
* and then shallow cloning data members.
|
||||||
|
*/
|
||||||
|
private clone<T extends BaseAPI>(this: T): T {
|
||||||
|
const constructor = this.constructor as any;
|
||||||
|
const next = new constructor(this.configuration);
|
||||||
|
next.middleware = this.middleware.slice();
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class RequiredError extends Error {
|
||||||
|
name: 'RequiredError' = 'RequiredError';
|
||||||
|
constructor(public field: string, msg?: string) {
|
||||||
|
super(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const COLLECTION_FORMATS = {
|
||||||
|
csv: ',',
|
||||||
|
ssv: ' ',
|
||||||
|
tsv: '\t',
|
||||||
|
pipes: '|',
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Json = any;
|
||||||
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
|
||||||
|
export type HttpHeaders = { [key: string]: string };
|
||||||
|
export type HttpQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> };
|
||||||
|
export type HttpBody = Json | FormData;
|
||||||
|
export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';
|
||||||
|
|
||||||
|
export interface RequestArgs {
|
||||||
|
url: string;
|
||||||
|
options: RequestInit;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestOpts {
|
||||||
|
path: string;
|
||||||
|
method: HttpMethod;
|
||||||
|
headers: HttpHeaders;
|
||||||
|
query?: HttpQuery;
|
||||||
|
body?: HttpBody;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function querystring(params: HttpQuery): string {
|
||||||
|
return Object.keys(params)
|
||||||
|
.map((key) => {
|
||||||
|
const value = params[key];
|
||||||
|
if (value instanceof Array) {
|
||||||
|
return value.map((val) => `${encodeURIComponent(key)}=${encodeURIComponent(String(val))}`)
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
return `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`;
|
||||||
|
})
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestContext extends RequestArgs {}
|
||||||
|
export interface ResponseContext extends RequestArgs {
|
||||||
|
response: AjaxResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Middleware {
|
||||||
|
pre?(context: RequestContext): RequestArgs;
|
||||||
|
post?(context: ResponseContext): AjaxResponse;
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"declaration": true,
|
||||||
|
"target": "{{#supportsES6}}es6{{/supportsES6}}{{^supportsES6}}es5{{/supportsES6}}",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": "."{{^supportsES6}},
|
||||||
|
"lib": [
|
||||||
|
"es6",
|
||||||
|
"dom"
|
||||||
|
]
|
||||||
|
{{/supportsES6}}
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"dist",
|
||||||
|
"node_modules"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
# 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
|
@ -0,0 +1 @@
|
|||||||
|
4.0.0-SNAPSHOT
|
@ -0,0 +1,400 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
ApiResponse,
|
||||||
|
Pet,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface AddPetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeletePetRequest {
|
||||||
|
petId: number;
|
||||||
|
apiKey?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByStatusRequest {
|
||||||
|
status: Array<FindPetsByStatusStatusEnum>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByTagsRequest {
|
||||||
|
tags: Array<string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetPetByIdRequest {
|
||||||
|
petId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetWithFormRequest {
|
||||||
|
petId: number;
|
||||||
|
name?: string;
|
||||||
|
status?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UploadFileRequest {
|
||||||
|
petId: number;
|
||||||
|
additionalMetadata?: string;
|
||||||
|
file?: Blob;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class PetApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPetRaw(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPet(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
return this.addPetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePetRaw(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (requestParameters.apiKey !== undefined && requestParameters.apiKey !== null) {
|
||||||
|
headerParameters['api_key'] = String(requestParameters.apiKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePet(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
return this.deletePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.status === null || requestParameters.status === undefined) {
|
||||||
|
throw new RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.status) {
|
||||||
|
queryParameters['status'] = requestParameters.status.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByStatus`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatus(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByStatusRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.tags === null || requestParameters.tags === undefined) {
|
||||||
|
throw new RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.tags) {
|
||||||
|
queryParameters['tags'] = requestParameters.tags.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByTags`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTags(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByTagsRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetByIdRaw(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Pet>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetById(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
return this.getPetByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePetRaw(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePet(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
return this.updatePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.name !== undefined) {
|
||||||
|
formData.append('name', requestParameters.name as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.status !== undefined) {
|
||||||
|
formData.append('status', requestParameters.status as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithForm(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
return this.updatePetWithFormRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFileRaw(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.additionalMetadata !== undefined) {
|
||||||
|
formData.append('additionalMetadata', requestParameters.additionalMetadata as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.file !== undefined) {
|
||||||
|
formData.append('file', requestParameters.file as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<ApiResponse>({
|
||||||
|
path: `/pet/{petId}/uploadImage`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFile(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
return this.uploadFileRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum FindPetsByStatusStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
|
}
|
@ -0,0 +1,154 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
Order,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface DeleteOrderRequest {
|
||||||
|
orderId: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetOrderByIdRequest {
|
||||||
|
orderId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PlaceOrderRequest {
|
||||||
|
body: Order;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class StoreApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrderRaw(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrder(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
return this.deleteOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventoryRaw(): Observable<{ [key: string]: number; }> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<{ [key: string]: number; }>({
|
||||||
|
path: `/store/inventory`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventory(): Observable<{ [key: string]: number; }> {
|
||||||
|
return this.getInventoryRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderByIdRaw(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderById(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
return this.getOrderByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrderRaw(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrder(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
return this.placeOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,301 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
User,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface CreateUserRequest {
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithArrayInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithListInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeleteUserRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetUserByNameRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LoginUserRequest {
|
||||||
|
username: string;
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdateUserRequest {
|
||||||
|
username: string;
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class UserApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUserRaw(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUser(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
return this.createUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithArray`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithArrayInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithList`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithListInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUserRaw(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUser(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
return this.deleteUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByNameRaw(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<User>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByName(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
return this.getUserByNameRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUserRaw(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password === null || requestParameters.password === undefined) {
|
||||||
|
throw new RequiredError('password','Required parameter requestParameters.password was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.username !== undefined && requestParameters.username !== null) {
|
||||||
|
queryParameters['username'] = requestParameters.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password !== undefined && requestParameters.password !== null) {
|
||||||
|
queryParameters['password'] = requestParameters.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<string>({
|
||||||
|
path: `/user/login`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUser(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
return this.loginUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUserRaw(): Observable<void> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/logout`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUser(): Observable<void> {
|
||||||
|
return this.logoutUserRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUserRaw(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUser(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
return this.updateUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './PetApi';
|
||||||
|
export * from './StoreApi';
|
||||||
|
export * from './UserApi';
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './runtime';
|
||||||
|
export * from './apis';
|
||||||
|
export * from './models';
|
@ -0,0 +1,38 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the result of uploading an image resource
|
||||||
|
* @export
|
||||||
|
* @interface ApiResponse
|
||||||
|
*/
|
||||||
|
export interface ApiResponse {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
code?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
type?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
message?: string;
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A category for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Category
|
||||||
|
*/
|
||||||
|
export interface Category {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An order for a pets from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Order
|
||||||
|
*/
|
||||||
|
export interface Order {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
petId?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
quantity?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Date}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
shipDate?: Date;
|
||||||
|
/**
|
||||||
|
* Order Status
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {boolean}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
complete?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {
|
||||||
|
Category,
|
||||||
|
Tag,
|
||||||
|
} from './';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A pet for sale in the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Pet
|
||||||
|
*/
|
||||||
|
export interface Pet {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Category}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
category?: Category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<string>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
photoUrls: Array<string>;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<Tag>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
tags?: Array<Tag>;
|
||||||
|
/**
|
||||||
|
* pet status in the store
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A tag for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Tag
|
||||||
|
*/
|
||||||
|
export interface Tag {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,68 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A User who is purchasing from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface User
|
||||||
|
*/
|
||||||
|
export interface User {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
username?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
firstName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
lastName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
email?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
password?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
phone?: string;
|
||||||
|
/**
|
||||||
|
* User Status
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
userStatus?: number;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
export * from './ApiResponse';
|
||||||
|
export * from './Category';
|
||||||
|
export * from './Order';
|
||||||
|
export * from './Pet';
|
||||||
|
export * from './Tag';
|
||||||
|
export * from './User';
|
@ -0,0 +1,210 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable, of } from 'rxjs';
|
||||||
|
import { ajax, AjaxResponse } from 'rxjs/ajax';
|
||||||
|
import { map, concatMap } from 'rxjs/operators';
|
||||||
|
|
||||||
|
export const BASE_PATH = 'http://petstore.swagger.io/v2'.replace(/\/+$/, '');
|
||||||
|
|
||||||
|
export interface ConfigurationParameters {
|
||||||
|
basePath?: string; // override base path
|
||||||
|
middleware?: Middleware[]; // middleware to apply before/after rxjs requests
|
||||||
|
username?: string; // parameter for basic security
|
||||||
|
password?: string; // parameter for basic security
|
||||||
|
apiKey?: string | ((name: string) => string); // parameter for apiKey security
|
||||||
|
accessToken?: string | ((name: string, scopes?: string[]) => string); // parameter for oauth2 security
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Configuration {
|
||||||
|
constructor(private configuration: ConfigurationParameters = {}) {}
|
||||||
|
|
||||||
|
get basePath(): string {
|
||||||
|
return this.configuration.basePath || BASE_PATH;
|
||||||
|
}
|
||||||
|
|
||||||
|
get middleware(): Middleware[] {
|
||||||
|
return this.configuration.middleware || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get username(): string | undefined {
|
||||||
|
return this.configuration.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
get password(): string | undefined {
|
||||||
|
return this.configuration.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
get apiKey(): ((name: string) => string) | undefined {
|
||||||
|
const apiKey = this.configuration.apiKey;
|
||||||
|
if (apiKey) {
|
||||||
|
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
get accessToken(): ((name: string, scopes?: string[]) => string) | undefined {
|
||||||
|
const accessToken = this.configuration.accessToken;
|
||||||
|
if (accessToken) {
|
||||||
|
return typeof accessToken === 'function' ? accessToken : () => accessToken;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the base class for all generated API classes.
|
||||||
|
*/
|
||||||
|
export class BaseAPI {
|
||||||
|
private middleware: Middleware[];
|
||||||
|
|
||||||
|
constructor(protected configuration = new Configuration()) {
|
||||||
|
this.middleware = configuration.middleware;
|
||||||
|
}
|
||||||
|
|
||||||
|
withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {
|
||||||
|
const next = this.clone<T>();
|
||||||
|
next.middleware = next.middleware.concat(...middlewares);
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {
|
||||||
|
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {
|
||||||
|
const middlewares = postMiddlewares.map((post) => ({ post }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected request<T>(context: RequestOpts): Observable<T> {
|
||||||
|
return this.rxjsRequest(this.createRequestArgs(context)).pipe(
|
||||||
|
map((res) => {
|
||||||
|
if (res.status >= 200 && res.status < 300) {
|
||||||
|
return res.response as T;
|
||||||
|
}
|
||||||
|
throw res;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private createRequestArgs(context: RequestOpts): RequestArgs {
|
||||||
|
let url = this.configuration.basePath + context.path;
|
||||||
|
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
||||||
|
// only add the querystring to the URL if there are query parameters.
|
||||||
|
// this is done to avoid urls ending with a '?' character which buggy webservers
|
||||||
|
// do not handle correctly sometimes.
|
||||||
|
url += '?' + querystring(context.query);
|
||||||
|
}
|
||||||
|
const body = context.body instanceof FormData ? context.body : JSON.stringify(context.body);
|
||||||
|
const options = {
|
||||||
|
method: context.method,
|
||||||
|
headers: context.headers,
|
||||||
|
body,
|
||||||
|
};
|
||||||
|
return { url, options };
|
||||||
|
}
|
||||||
|
|
||||||
|
private rxjsRequest(params: RequestContext): Observable<AjaxResponse> {
|
||||||
|
const preMiddlewares = this.middleware && this.middleware.filter((item) => item.pre);
|
||||||
|
const postMiddlewares = this.middleware && this.middleware.filter((item) => item.post);
|
||||||
|
|
||||||
|
return of(params).pipe(
|
||||||
|
map((args) => {
|
||||||
|
if (preMiddlewares) {
|
||||||
|
preMiddlewares.forEach((mw) => (args = mw.pre({ ...args })));
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}),
|
||||||
|
concatMap((args) =>
|
||||||
|
ajax({ url: args.url, ...args.options }).pipe(
|
||||||
|
map((response) => {
|
||||||
|
if (postMiddlewares) {
|
||||||
|
postMiddlewares.forEach((mw) => (response = mw.post({ ...params, response })));
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a shallow clone of `this` by constructing a new instance
|
||||||
|
* and then shallow cloning data members.
|
||||||
|
*/
|
||||||
|
private clone<T extends BaseAPI>(this: T): T {
|
||||||
|
const constructor = this.constructor as any;
|
||||||
|
const next = new constructor(this.configuration);
|
||||||
|
next.middleware = this.middleware.slice();
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class RequiredError extends Error {
|
||||||
|
name: 'RequiredError' = 'RequiredError';
|
||||||
|
constructor(public field: string, msg?: string) {
|
||||||
|
super(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const COLLECTION_FORMATS = {
|
||||||
|
csv: ',',
|
||||||
|
ssv: ' ',
|
||||||
|
tsv: '\t',
|
||||||
|
pipes: '|',
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Json = any;
|
||||||
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
|
||||||
|
export type HttpHeaders = { [key: string]: string };
|
||||||
|
export type HttpQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> };
|
||||||
|
export type HttpBody = Json | FormData;
|
||||||
|
export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';
|
||||||
|
|
||||||
|
export interface RequestArgs {
|
||||||
|
url: string;
|
||||||
|
options: RequestInit;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestOpts {
|
||||||
|
path: string;
|
||||||
|
method: HttpMethod;
|
||||||
|
headers: HttpHeaders;
|
||||||
|
query?: HttpQuery;
|
||||||
|
body?: HttpBody;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function querystring(params: HttpQuery): string {
|
||||||
|
return Object.keys(params)
|
||||||
|
.map((key) => {
|
||||||
|
const value = params[key];
|
||||||
|
if (value instanceof Array) {
|
||||||
|
return value.map((val) => `${encodeURIComponent(key)}=${encodeURIComponent(String(val))}`)
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
return `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`;
|
||||||
|
})
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestContext extends RequestArgs {}
|
||||||
|
export interface ResponseContext extends RequestArgs {
|
||||||
|
response: AjaxResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Middleware {
|
||||||
|
pre?(context: RequestContext): RequestArgs;
|
||||||
|
post?(context: ResponseContext): AjaxResponse;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"declaration": true,
|
||||||
|
"target": "es5",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": ".",
|
||||||
|
"lib": [
|
||||||
|
"es6",
|
||||||
|
"dom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"dist",
|
||||||
|
"node_modules"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
# 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
|
@ -0,0 +1 @@
|
|||||||
|
4.0.0-SNAPSHOT
|
@ -0,0 +1,45 @@
|
|||||||
|
## @swagger/typescript-rxjs-petstore@1.0.0
|
||||||
|
|
||||||
|
This generator creates TypeScript/JavaScript client that utilizes [Fetch API](https://fetch.spec.whatwg.org/). The generated Node module can be used in the following environments:
|
||||||
|
|
||||||
|
Environment
|
||||||
|
* Node.js
|
||||||
|
* Webpack
|
||||||
|
* Browserify
|
||||||
|
|
||||||
|
Language level
|
||||||
|
* ES5 - you must have a Promises/A+ library installed
|
||||||
|
* ES6
|
||||||
|
|
||||||
|
Module system
|
||||||
|
* CommonJS
|
||||||
|
* ES6 module system
|
||||||
|
|
||||||
|
It can be used in both TypeScript and JavaScript. In TypeScript, the definition should be automatically resolved via `package.json`. ([Reference](http://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html))
|
||||||
|
|
||||||
|
### Building
|
||||||
|
|
||||||
|
To build and compile the typescript sources to javascript use:
|
||||||
|
```
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Publishing
|
||||||
|
|
||||||
|
First build the package then run ```npm publish```
|
||||||
|
|
||||||
|
### Consuming
|
||||||
|
|
||||||
|
navigate to the folder of your consuming project and run one of the following commands.
|
||||||
|
|
||||||
|
_published:_
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install @swagger/typescript-rxjs-petstore@1.0.0 --save
|
||||||
|
```
|
||||||
|
|
||||||
|
_unPublished (not recommended):_
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install PATH_TO_GENERATED_PACKAGE --save
|
@ -0,0 +1,400 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
ApiResponse,
|
||||||
|
Pet,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface AddPetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeletePetRequest {
|
||||||
|
petId: number;
|
||||||
|
apiKey?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByStatusRequest {
|
||||||
|
status: Array<FindPetsByStatusStatusEnum>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByTagsRequest {
|
||||||
|
tags: Array<string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetPetByIdRequest {
|
||||||
|
petId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetWithFormRequest {
|
||||||
|
petId: number;
|
||||||
|
name?: string;
|
||||||
|
status?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UploadFileRequest {
|
||||||
|
petId: number;
|
||||||
|
additionalMetadata?: string;
|
||||||
|
file?: Blob;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class PetApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPetRaw(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPet(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
return this.addPetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePetRaw(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (requestParameters.apiKey !== undefined && requestParameters.apiKey !== null) {
|
||||||
|
headerParameters['api_key'] = String(requestParameters.apiKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePet(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
return this.deletePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.status === null || requestParameters.status === undefined) {
|
||||||
|
throw new RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.status) {
|
||||||
|
queryParameters['status'] = requestParameters.status.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByStatus`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatus(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByStatusRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.tags === null || requestParameters.tags === undefined) {
|
||||||
|
throw new RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.tags) {
|
||||||
|
queryParameters['tags'] = requestParameters.tags.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByTags`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTags(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByTagsRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetByIdRaw(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Pet>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetById(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
return this.getPetByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePetRaw(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePet(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
return this.updatePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.name !== undefined) {
|
||||||
|
formData.append('name', requestParameters.name as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.status !== undefined) {
|
||||||
|
formData.append('status', requestParameters.status as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithForm(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
return this.updatePetWithFormRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFileRaw(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.additionalMetadata !== undefined) {
|
||||||
|
formData.append('additionalMetadata', requestParameters.additionalMetadata as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.file !== undefined) {
|
||||||
|
formData.append('file', requestParameters.file as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<ApiResponse>({
|
||||||
|
path: `/pet/{petId}/uploadImage`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFile(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
return this.uploadFileRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum FindPetsByStatusStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
|
}
|
@ -0,0 +1,154 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
Order,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface DeleteOrderRequest {
|
||||||
|
orderId: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetOrderByIdRequest {
|
||||||
|
orderId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PlaceOrderRequest {
|
||||||
|
body: Order;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class StoreApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrderRaw(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrder(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
return this.deleteOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventoryRaw(): Observable<{ [key: string]: number; }> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<{ [key: string]: number; }>({
|
||||||
|
path: `/store/inventory`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventory(): Observable<{ [key: string]: number; }> {
|
||||||
|
return this.getInventoryRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderByIdRaw(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderById(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
return this.getOrderByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrderRaw(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrder(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
return this.placeOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,301 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
User,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface CreateUserRequest {
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithArrayInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithListInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeleteUserRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetUserByNameRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LoginUserRequest {
|
||||||
|
username: string;
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdateUserRequest {
|
||||||
|
username: string;
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class UserApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUserRaw(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUser(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
return this.createUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithArray`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithArrayInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithList`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithListInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUserRaw(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUser(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
return this.deleteUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByNameRaw(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<User>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByName(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
return this.getUserByNameRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUserRaw(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password === null || requestParameters.password === undefined) {
|
||||||
|
throw new RequiredError('password','Required parameter requestParameters.password was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.username !== undefined && requestParameters.username !== null) {
|
||||||
|
queryParameters['username'] = requestParameters.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password !== undefined && requestParameters.password !== null) {
|
||||||
|
queryParameters['password'] = requestParameters.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<string>({
|
||||||
|
path: `/user/login`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUser(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
return this.loginUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUserRaw(): Observable<void> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/logout`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUser(): Observable<void> {
|
||||||
|
return this.logoutUserRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUserRaw(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUser(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
return this.updateUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './PetApi';
|
||||||
|
export * from './StoreApi';
|
||||||
|
export * from './UserApi';
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './runtime';
|
||||||
|
export * from './apis';
|
||||||
|
export * from './models';
|
@ -0,0 +1,38 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the result of uploading an image resource
|
||||||
|
* @export
|
||||||
|
* @interface ApiResponse
|
||||||
|
*/
|
||||||
|
export interface ApiResponse {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
code?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
type?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
message?: string;
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A category for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Category
|
||||||
|
*/
|
||||||
|
export interface Category {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An order for a pets from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Order
|
||||||
|
*/
|
||||||
|
export interface Order {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
petId?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
quantity?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Date}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
shipDate?: Date;
|
||||||
|
/**
|
||||||
|
* Order Status
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {boolean}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
complete?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {
|
||||||
|
Category,
|
||||||
|
Tag,
|
||||||
|
} from './';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A pet for sale in the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Pet
|
||||||
|
*/
|
||||||
|
export interface Pet {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Category}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
category?: Category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<string>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
photoUrls: Array<string>;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<Tag>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
tags?: Array<Tag>;
|
||||||
|
/**
|
||||||
|
* pet status in the store
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A tag for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Tag
|
||||||
|
*/
|
||||||
|
export interface Tag {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,68 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A User who is purchasing from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface User
|
||||||
|
*/
|
||||||
|
export interface User {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
username?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
firstName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
lastName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
email?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
password?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
phone?: string;
|
||||||
|
/**
|
||||||
|
* User Status
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
userStatus?: number;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
export * from './ApiResponse';
|
||||||
|
export * from './Category';
|
||||||
|
export * from './Order';
|
||||||
|
export * from './Pet';
|
||||||
|
export * from './Tag';
|
||||||
|
export * from './User';
|
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "@swagger/typescript-rxjs-petstore",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "OpenAPI client for @swagger/typescript-rxjs-petstore",
|
||||||
|
"author": "OpenAPI-Generator",
|
||||||
|
"main": "./dist/index.js",
|
||||||
|
"typings": "./dist/index.d.ts",
|
||||||
|
"scripts" : {
|
||||||
|
"build": "tsc --outDir dist/",
|
||||||
|
"prepare": "npm run build"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"rxjs": "^6.3.3",
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"typescript": "^2.4"
|
||||||
|
},
|
||||||
|
"publishConfig":{
|
||||||
|
"registry":"https://skimdb.npmjs.com/registry"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,210 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable, of } from 'rxjs';
|
||||||
|
import { ajax, AjaxResponse } from 'rxjs/ajax';
|
||||||
|
import { map, concatMap } from 'rxjs/operators';
|
||||||
|
|
||||||
|
export const BASE_PATH = 'http://petstore.swagger.io/v2'.replace(/\/+$/, '');
|
||||||
|
|
||||||
|
export interface ConfigurationParameters {
|
||||||
|
basePath?: string; // override base path
|
||||||
|
middleware?: Middleware[]; // middleware to apply before/after rxjs requests
|
||||||
|
username?: string; // parameter for basic security
|
||||||
|
password?: string; // parameter for basic security
|
||||||
|
apiKey?: string | ((name: string) => string); // parameter for apiKey security
|
||||||
|
accessToken?: string | ((name: string, scopes?: string[]) => string); // parameter for oauth2 security
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Configuration {
|
||||||
|
constructor(private configuration: ConfigurationParameters = {}) {}
|
||||||
|
|
||||||
|
get basePath(): string {
|
||||||
|
return this.configuration.basePath || BASE_PATH;
|
||||||
|
}
|
||||||
|
|
||||||
|
get middleware(): Middleware[] {
|
||||||
|
return this.configuration.middleware || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get username(): string | undefined {
|
||||||
|
return this.configuration.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
get password(): string | undefined {
|
||||||
|
return this.configuration.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
get apiKey(): ((name: string) => string) | undefined {
|
||||||
|
const apiKey = this.configuration.apiKey;
|
||||||
|
if (apiKey) {
|
||||||
|
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
get accessToken(): ((name: string, scopes?: string[]) => string) | undefined {
|
||||||
|
const accessToken = this.configuration.accessToken;
|
||||||
|
if (accessToken) {
|
||||||
|
return typeof accessToken === 'function' ? accessToken : () => accessToken;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the base class for all generated API classes.
|
||||||
|
*/
|
||||||
|
export class BaseAPI {
|
||||||
|
private middleware: Middleware[];
|
||||||
|
|
||||||
|
constructor(protected configuration = new Configuration()) {
|
||||||
|
this.middleware = configuration.middleware;
|
||||||
|
}
|
||||||
|
|
||||||
|
withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {
|
||||||
|
const next = this.clone<T>();
|
||||||
|
next.middleware = next.middleware.concat(...middlewares);
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {
|
||||||
|
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {
|
||||||
|
const middlewares = postMiddlewares.map((post) => ({ post }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected request<T>(context: RequestOpts): Observable<T> {
|
||||||
|
return this.rxjsRequest(this.createRequestArgs(context)).pipe(
|
||||||
|
map((res) => {
|
||||||
|
if (res.status >= 200 && res.status < 300) {
|
||||||
|
return res.response as T;
|
||||||
|
}
|
||||||
|
throw res;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private createRequestArgs(context: RequestOpts): RequestArgs {
|
||||||
|
let url = this.configuration.basePath + context.path;
|
||||||
|
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
||||||
|
// only add the querystring to the URL if there are query parameters.
|
||||||
|
// this is done to avoid urls ending with a '?' character which buggy webservers
|
||||||
|
// do not handle correctly sometimes.
|
||||||
|
url += '?' + querystring(context.query);
|
||||||
|
}
|
||||||
|
const body = context.body instanceof FormData ? context.body : JSON.stringify(context.body);
|
||||||
|
const options = {
|
||||||
|
method: context.method,
|
||||||
|
headers: context.headers,
|
||||||
|
body,
|
||||||
|
};
|
||||||
|
return { url, options };
|
||||||
|
}
|
||||||
|
|
||||||
|
private rxjsRequest(params: RequestContext): Observable<AjaxResponse> {
|
||||||
|
const preMiddlewares = this.middleware && this.middleware.filter((item) => item.pre);
|
||||||
|
const postMiddlewares = this.middleware && this.middleware.filter((item) => item.post);
|
||||||
|
|
||||||
|
return of(params).pipe(
|
||||||
|
map((args) => {
|
||||||
|
if (preMiddlewares) {
|
||||||
|
preMiddlewares.forEach((mw) => (args = mw.pre({ ...args })));
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}),
|
||||||
|
concatMap((args) =>
|
||||||
|
ajax({ url: args.url, ...args.options }).pipe(
|
||||||
|
map((response) => {
|
||||||
|
if (postMiddlewares) {
|
||||||
|
postMiddlewares.forEach((mw) => (response = mw.post({ ...params, response })));
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a shallow clone of `this` by constructing a new instance
|
||||||
|
* and then shallow cloning data members.
|
||||||
|
*/
|
||||||
|
private clone<T extends BaseAPI>(this: T): T {
|
||||||
|
const constructor = this.constructor as any;
|
||||||
|
const next = new constructor(this.configuration);
|
||||||
|
next.middleware = this.middleware.slice();
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class RequiredError extends Error {
|
||||||
|
name: 'RequiredError' = 'RequiredError';
|
||||||
|
constructor(public field: string, msg?: string) {
|
||||||
|
super(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const COLLECTION_FORMATS = {
|
||||||
|
csv: ',',
|
||||||
|
ssv: ' ',
|
||||||
|
tsv: '\t',
|
||||||
|
pipes: '|',
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Json = any;
|
||||||
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
|
||||||
|
export type HttpHeaders = { [key: string]: string };
|
||||||
|
export type HttpQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> };
|
||||||
|
export type HttpBody = Json | FormData;
|
||||||
|
export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';
|
||||||
|
|
||||||
|
export interface RequestArgs {
|
||||||
|
url: string;
|
||||||
|
options: RequestInit;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestOpts {
|
||||||
|
path: string;
|
||||||
|
method: HttpMethod;
|
||||||
|
headers: HttpHeaders;
|
||||||
|
query?: HttpQuery;
|
||||||
|
body?: HttpBody;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function querystring(params: HttpQuery): string {
|
||||||
|
return Object.keys(params)
|
||||||
|
.map((key) => {
|
||||||
|
const value = params[key];
|
||||||
|
if (value instanceof Array) {
|
||||||
|
return value.map((val) => `${encodeURIComponent(key)}=${encodeURIComponent(String(val))}`)
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
return `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`;
|
||||||
|
})
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestContext extends RequestArgs {}
|
||||||
|
export interface ResponseContext extends RequestArgs {
|
||||||
|
response: AjaxResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Middleware {
|
||||||
|
pre?(context: RequestContext): RequestArgs;
|
||||||
|
post?(context: ResponseContext): AjaxResponse;
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"declaration": true,
|
||||||
|
"target": "es6",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": "." },
|
||||||
|
"exclude": [
|
||||||
|
"dist",
|
||||||
|
"node_modules"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
# 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
|
@ -0,0 +1 @@
|
|||||||
|
4.0.0-SNAPSHOT
|
@ -0,0 +1,400 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
ApiResponse,
|
||||||
|
Pet,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface AddPetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeletePetRequest {
|
||||||
|
petId: number;
|
||||||
|
apiKey?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByStatusRequest {
|
||||||
|
status: Array<FindPetsByStatusStatusEnum>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByTagsRequest {
|
||||||
|
tags: Array<string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetPetByIdRequest {
|
||||||
|
petId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetWithFormRequest {
|
||||||
|
petId: number;
|
||||||
|
name?: string;
|
||||||
|
status?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UploadFileRequest {
|
||||||
|
petId: number;
|
||||||
|
additionalMetadata?: string;
|
||||||
|
file?: Blob;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class PetApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPetRaw(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPet(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
return this.addPetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePetRaw(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (requestParameters.apiKey !== undefined && requestParameters.apiKey !== null) {
|
||||||
|
headerParameters['api_key'] = String(requestParameters.apiKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePet(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
return this.deletePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.status === null || requestParameters.status === undefined) {
|
||||||
|
throw new RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.status) {
|
||||||
|
queryParameters['status'] = requestParameters.status.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByStatus`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatus(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByStatusRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.tags === null || requestParameters.tags === undefined) {
|
||||||
|
throw new RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.tags) {
|
||||||
|
queryParameters['tags'] = requestParameters.tags.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByTags`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTags(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByTagsRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetByIdRaw(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Pet>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetById(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
return this.getPetByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePetRaw(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePet(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
return this.updatePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.name !== undefined) {
|
||||||
|
formData.append('name', requestParameters.name as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.status !== undefined) {
|
||||||
|
formData.append('status', requestParameters.status as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithForm(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
return this.updatePetWithFormRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFileRaw(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.additionalMetadata !== undefined) {
|
||||||
|
formData.append('additionalMetadata', requestParameters.additionalMetadata as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.file !== undefined) {
|
||||||
|
formData.append('file', requestParameters.file as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<ApiResponse>({
|
||||||
|
path: `/pet/{petId}/uploadImage`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFile(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
return this.uploadFileRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum FindPetsByStatusStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
|
}
|
@ -0,0 +1,154 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
Order,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface DeleteOrderRequest {
|
||||||
|
orderId: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetOrderByIdRequest {
|
||||||
|
orderId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PlaceOrderRequest {
|
||||||
|
body: Order;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class StoreApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrderRaw(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrder(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
return this.deleteOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventoryRaw(): Observable<{ [key: string]: number; }> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<{ [key: string]: number; }>({
|
||||||
|
path: `/store/inventory`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventory(): Observable<{ [key: string]: number; }> {
|
||||||
|
return this.getInventoryRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderByIdRaw(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderById(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
return this.getOrderByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrderRaw(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrder(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
return this.placeOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,301 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
User,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface CreateUserRequest {
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithArrayInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithListInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeleteUserRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetUserByNameRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LoginUserRequest {
|
||||||
|
username: string;
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdateUserRequest {
|
||||||
|
username: string;
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class UserApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUserRaw(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUser(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
return this.createUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithArray`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithArrayInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithList`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithListInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUserRaw(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUser(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
return this.deleteUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByNameRaw(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<User>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByName(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
return this.getUserByNameRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUserRaw(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password === null || requestParameters.password === undefined) {
|
||||||
|
throw new RequiredError('password','Required parameter requestParameters.password was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.username !== undefined && requestParameters.username !== null) {
|
||||||
|
queryParameters['username'] = requestParameters.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password !== undefined && requestParameters.password !== null) {
|
||||||
|
queryParameters['password'] = requestParameters.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<string>({
|
||||||
|
path: `/user/login`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUser(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
return this.loginUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUserRaw(): Observable<void> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/logout`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUser(): Observable<void> {
|
||||||
|
return this.logoutUserRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUserRaw(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUser(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
return this.updateUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './PetApi';
|
||||||
|
export * from './StoreApi';
|
||||||
|
export * from './UserApi';
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './runtime';
|
||||||
|
export * from './apis';
|
||||||
|
export * from './models';
|
@ -0,0 +1,38 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the result of uploading an image resource
|
||||||
|
* @export
|
||||||
|
* @interface ApiResponse
|
||||||
|
*/
|
||||||
|
export interface ApiResponse {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
code?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
type?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
message?: string;
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A category for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Category
|
||||||
|
*/
|
||||||
|
export interface Category {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An order for a pets from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Order
|
||||||
|
*/
|
||||||
|
export interface Order {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
petId?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
quantity?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Date}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
shipDate?: Date;
|
||||||
|
/**
|
||||||
|
* Order Status
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {boolean}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
complete?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {
|
||||||
|
Category,
|
||||||
|
Tag,
|
||||||
|
} from './';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A pet for sale in the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Pet
|
||||||
|
*/
|
||||||
|
export interface Pet {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Category}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
category?: Category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<string>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
photoUrls: Array<string>;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<Tag>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
tags?: Array<Tag>;
|
||||||
|
/**
|
||||||
|
* pet status in the store
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A tag for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Tag
|
||||||
|
*/
|
||||||
|
export interface Tag {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,68 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A User who is purchasing from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface User
|
||||||
|
*/
|
||||||
|
export interface User {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
username?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
firstName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
lastName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
email?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
password?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
phone?: string;
|
||||||
|
/**
|
||||||
|
* User Status
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
userStatus?: number;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
export * from './ApiResponse';
|
||||||
|
export * from './Category';
|
||||||
|
export * from './Order';
|
||||||
|
export * from './Pet';
|
||||||
|
export * from './Tag';
|
||||||
|
export * from './User';
|
@ -0,0 +1,210 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable, of } from 'rxjs';
|
||||||
|
import { ajax, AjaxResponse } from 'rxjs/ajax';
|
||||||
|
import { map, concatMap } from 'rxjs/operators';
|
||||||
|
|
||||||
|
export const BASE_PATH = 'http://petstore.swagger.io/v2'.replace(/\/+$/, '');
|
||||||
|
|
||||||
|
export interface ConfigurationParameters {
|
||||||
|
basePath?: string; // override base path
|
||||||
|
middleware?: Middleware[]; // middleware to apply before/after rxjs requests
|
||||||
|
username?: string; // parameter for basic security
|
||||||
|
password?: string; // parameter for basic security
|
||||||
|
apiKey?: string | ((name: string) => string); // parameter for apiKey security
|
||||||
|
accessToken?: string | ((name: string, scopes?: string[]) => string); // parameter for oauth2 security
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Configuration {
|
||||||
|
constructor(private configuration: ConfigurationParameters = {}) {}
|
||||||
|
|
||||||
|
get basePath(): string {
|
||||||
|
return this.configuration.basePath || BASE_PATH;
|
||||||
|
}
|
||||||
|
|
||||||
|
get middleware(): Middleware[] {
|
||||||
|
return this.configuration.middleware || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get username(): string | undefined {
|
||||||
|
return this.configuration.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
get password(): string | undefined {
|
||||||
|
return this.configuration.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
get apiKey(): ((name: string) => string) | undefined {
|
||||||
|
const apiKey = this.configuration.apiKey;
|
||||||
|
if (apiKey) {
|
||||||
|
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
get accessToken(): ((name: string, scopes?: string[]) => string) | undefined {
|
||||||
|
const accessToken = this.configuration.accessToken;
|
||||||
|
if (accessToken) {
|
||||||
|
return typeof accessToken === 'function' ? accessToken : () => accessToken;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the base class for all generated API classes.
|
||||||
|
*/
|
||||||
|
export class BaseAPI {
|
||||||
|
private middleware: Middleware[];
|
||||||
|
|
||||||
|
constructor(protected configuration = new Configuration()) {
|
||||||
|
this.middleware = configuration.middleware;
|
||||||
|
}
|
||||||
|
|
||||||
|
withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {
|
||||||
|
const next = this.clone<T>();
|
||||||
|
next.middleware = next.middleware.concat(...middlewares);
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {
|
||||||
|
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {
|
||||||
|
const middlewares = postMiddlewares.map((post) => ({ post }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected request<T>(context: RequestOpts): Observable<T> {
|
||||||
|
return this.rxjsRequest(this.createRequestArgs(context)).pipe(
|
||||||
|
map((res) => {
|
||||||
|
if (res.status >= 200 && res.status < 300) {
|
||||||
|
return res.response as T;
|
||||||
|
}
|
||||||
|
throw res;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private createRequestArgs(context: RequestOpts): RequestArgs {
|
||||||
|
let url = this.configuration.basePath + context.path;
|
||||||
|
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
||||||
|
// only add the querystring to the URL if there are query parameters.
|
||||||
|
// this is done to avoid urls ending with a '?' character which buggy webservers
|
||||||
|
// do not handle correctly sometimes.
|
||||||
|
url += '?' + querystring(context.query);
|
||||||
|
}
|
||||||
|
const body = context.body instanceof FormData ? context.body : JSON.stringify(context.body);
|
||||||
|
const options = {
|
||||||
|
method: context.method,
|
||||||
|
headers: context.headers,
|
||||||
|
body,
|
||||||
|
};
|
||||||
|
return { url, options };
|
||||||
|
}
|
||||||
|
|
||||||
|
private rxjsRequest(params: RequestContext): Observable<AjaxResponse> {
|
||||||
|
const preMiddlewares = this.middleware && this.middleware.filter((item) => item.pre);
|
||||||
|
const postMiddlewares = this.middleware && this.middleware.filter((item) => item.post);
|
||||||
|
|
||||||
|
return of(params).pipe(
|
||||||
|
map((args) => {
|
||||||
|
if (preMiddlewares) {
|
||||||
|
preMiddlewares.forEach((mw) => (args = mw.pre({ ...args })));
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}),
|
||||||
|
concatMap((args) =>
|
||||||
|
ajax({ url: args.url, ...args.options }).pipe(
|
||||||
|
map((response) => {
|
||||||
|
if (postMiddlewares) {
|
||||||
|
postMiddlewares.forEach((mw) => (response = mw.post({ ...params, response })));
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a shallow clone of `this` by constructing a new instance
|
||||||
|
* and then shallow cloning data members.
|
||||||
|
*/
|
||||||
|
private clone<T extends BaseAPI>(this: T): T {
|
||||||
|
const constructor = this.constructor as any;
|
||||||
|
const next = new constructor(this.configuration);
|
||||||
|
next.middleware = this.middleware.slice();
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class RequiredError extends Error {
|
||||||
|
name: 'RequiredError' = 'RequiredError';
|
||||||
|
constructor(public field: string, msg?: string) {
|
||||||
|
super(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const COLLECTION_FORMATS = {
|
||||||
|
csv: ',',
|
||||||
|
ssv: ' ',
|
||||||
|
tsv: '\t',
|
||||||
|
pipes: '|',
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Json = any;
|
||||||
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
|
||||||
|
export type HttpHeaders = { [key: string]: string };
|
||||||
|
export type HttpQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> };
|
||||||
|
export type HttpBody = Json | FormData;
|
||||||
|
export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';
|
||||||
|
|
||||||
|
export interface RequestArgs {
|
||||||
|
url: string;
|
||||||
|
options: RequestInit;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestOpts {
|
||||||
|
path: string;
|
||||||
|
method: HttpMethod;
|
||||||
|
headers: HttpHeaders;
|
||||||
|
query?: HttpQuery;
|
||||||
|
body?: HttpBody;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function querystring(params: HttpQuery): string {
|
||||||
|
return Object.keys(params)
|
||||||
|
.map((key) => {
|
||||||
|
const value = params[key];
|
||||||
|
if (value instanceof Array) {
|
||||||
|
return value.map((val) => `${encodeURIComponent(key)}=${encodeURIComponent(String(val))}`)
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
return `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`;
|
||||||
|
})
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestContext extends RequestArgs {}
|
||||||
|
export interface ResponseContext extends RequestArgs {
|
||||||
|
response: AjaxResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Middleware {
|
||||||
|
pre?(context: RequestContext): RequestArgs;
|
||||||
|
post?(context: ResponseContext): AjaxResponse;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"declaration": true,
|
||||||
|
"target": "es5",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": ".",
|
||||||
|
"lib": [
|
||||||
|
"es6",
|
||||||
|
"dom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"dist",
|
||||||
|
"node_modules"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
# 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
|
@ -0,0 +1 @@
|
|||||||
|
4.0.0-SNAPSHOT
|
@ -0,0 +1,45 @@
|
|||||||
|
## @swagger/typescript-rxjs-petstore@1.0.0
|
||||||
|
|
||||||
|
This generator creates TypeScript/JavaScript client that utilizes [Fetch API](https://fetch.spec.whatwg.org/). The generated Node module can be used in the following environments:
|
||||||
|
|
||||||
|
Environment
|
||||||
|
* Node.js
|
||||||
|
* Webpack
|
||||||
|
* Browserify
|
||||||
|
|
||||||
|
Language level
|
||||||
|
* ES5 - you must have a Promises/A+ library installed
|
||||||
|
* ES6
|
||||||
|
|
||||||
|
Module system
|
||||||
|
* CommonJS
|
||||||
|
* ES6 module system
|
||||||
|
|
||||||
|
It can be used in both TypeScript and JavaScript. In TypeScript, the definition should be automatically resolved via `package.json`. ([Reference](http://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html))
|
||||||
|
|
||||||
|
### Building
|
||||||
|
|
||||||
|
To build and compile the typescript sources to javascript use:
|
||||||
|
```
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Publishing
|
||||||
|
|
||||||
|
First build the package then run ```npm publish```
|
||||||
|
|
||||||
|
### Consuming
|
||||||
|
|
||||||
|
navigate to the folder of your consuming project and run one of the following commands.
|
||||||
|
|
||||||
|
_published:_
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install @swagger/typescript-rxjs-petstore@1.0.0 --save
|
||||||
|
```
|
||||||
|
|
||||||
|
_unPublished (not recommended):_
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install PATH_TO_GENERATED_PACKAGE --save
|
@ -0,0 +1,400 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
ApiResponse,
|
||||||
|
Pet,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface AddPetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeletePetRequest {
|
||||||
|
petId: number;
|
||||||
|
apiKey?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByStatusRequest {
|
||||||
|
status: Array<FindPetsByStatusStatusEnum>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FindPetsByTagsRequest {
|
||||||
|
tags: Array<string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetPetByIdRequest {
|
||||||
|
petId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetRequest {
|
||||||
|
body: Pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdatePetWithFormRequest {
|
||||||
|
petId: number;
|
||||||
|
name?: string;
|
||||||
|
status?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UploadFileRequest {
|
||||||
|
petId: number;
|
||||||
|
additionalMetadata?: string;
|
||||||
|
file?: Blob;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class PetApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPetRaw(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*/
|
||||||
|
addPet(requestParameters: AddPetRequest): Observable<void> {
|
||||||
|
return this.addPetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePetRaw(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (requestParameters.apiKey !== undefined && requestParameters.apiKey !== null) {
|
||||||
|
headerParameters['api_key'] = String(requestParameters.apiKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*/
|
||||||
|
deletePet(requestParameters: DeletePetRequest): Observable<void> {
|
||||||
|
return this.deletePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.status === null || requestParameters.status === undefined) {
|
||||||
|
throw new RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.status) {
|
||||||
|
queryParameters['status'] = requestParameters.status.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByStatus`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* Finds Pets by status
|
||||||
|
*/
|
||||||
|
findPetsByStatus(requestParameters: FindPetsByStatusRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByStatusRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
if (requestParameters.tags === null || requestParameters.tags === undefined) {
|
||||||
|
throw new RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.tags) {
|
||||||
|
queryParameters['tags'] = requestParameters.tags.join(COLLECTION_FORMATS["csv"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Array<Pet>>({
|
||||||
|
path: `/pet/findByTags`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* Finds Pets by tags
|
||||||
|
*/
|
||||||
|
findPetsByTags(requestParameters: FindPetsByTagsRequest): Observable<Array<Pet>> {
|
||||||
|
return this.findPetsByTagsRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetByIdRaw(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<Pet>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a single pet
|
||||||
|
* Find pet by ID
|
||||||
|
*/
|
||||||
|
getPetById(requestParameters: GetPetByIdRequest): Observable<Pet> {
|
||||||
|
return this.getPetByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePetRaw(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet`,
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*/
|
||||||
|
updatePet(requestParameters: UpdatePetRequest): Observable<void> {
|
||||||
|
return this.updatePetRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.name !== undefined) {
|
||||||
|
formData.append('name', requestParameters.name as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.status !== undefined) {
|
||||||
|
formData.append('status', requestParameters.status as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/pet/{petId}`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*/
|
||||||
|
updatePetWithForm(requestParameters: UpdatePetWithFormRequest): Observable<void> {
|
||||||
|
return this.updatePetWithFormRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFileRaw(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
if (requestParameters.petId === null || requestParameters.petId === undefined) {
|
||||||
|
throw new RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.accessToken) {
|
||||||
|
// oauth required
|
||||||
|
if (typeof this.configuration.accessToken === 'function') {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken("petstore_auth", ["write:pets", "read:pets"]);
|
||||||
|
} else {
|
||||||
|
headerParameters["Authorization"] = this.configuration.accessToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const formData = new FormData();
|
||||||
|
if (requestParameters.additionalMetadata !== undefined) {
|
||||||
|
formData.append('additionalMetadata', requestParameters.additionalMetadata as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.file !== undefined) {
|
||||||
|
formData.append('file', requestParameters.file as any);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<ApiResponse>({
|
||||||
|
path: `/pet/{petId}/uploadImage`.replace(`{${"petId"}}`, encodeURIComponent(String(requestParameters.petId))),
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: formData,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*/
|
||||||
|
uploadFile(requestParameters: UploadFileRequest): Observable<ApiResponse> {
|
||||||
|
return this.uploadFileRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum FindPetsByStatusStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
|
}
|
@ -0,0 +1,154 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
Order,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface DeleteOrderRequest {
|
||||||
|
orderId: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetOrderByIdRequest {
|
||||||
|
orderId: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PlaceOrderRequest {
|
||||||
|
body: Order;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class StoreApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrderRaw(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*/
|
||||||
|
deleteOrder(requestParameters: DeleteOrderRequest): Observable<void> {
|
||||||
|
return this.deleteOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventoryRaw(): Observable<{ [key: string]: number; }> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
if (this.configuration && this.configuration.apiKey) {
|
||||||
|
headerParameters["api_key"] = this.configuration.apiKey("api_key"); // api_key authentication
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.request<{ [key: string]: number; }>({
|
||||||
|
path: `/store/inventory`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*/
|
||||||
|
getInventory(): Observable<{ [key: string]: number; }> {
|
||||||
|
return this.getInventoryRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderByIdRaw(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
if (requestParameters.orderId === null || requestParameters.orderId === undefined) {
|
||||||
|
throw new RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order/{orderId}`.replace(`{${"orderId"}}`, encodeURIComponent(String(requestParameters.orderId))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* Find purchase order by ID
|
||||||
|
*/
|
||||||
|
getOrderById(requestParameters: GetOrderByIdRequest): Observable<Order> {
|
||||||
|
return this.getOrderByIdRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrderRaw(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<Order>({
|
||||||
|
path: `/store/order`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*/
|
||||||
|
placeOrder(requestParameters: PlaceOrderRequest): Observable<Order> {
|
||||||
|
return this.placeOrderRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,301 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { BaseAPI, RequiredError, HttpHeaders, HttpQuery, COLLECTION_FORMATS } from '../runtime';
|
||||||
|
import {
|
||||||
|
User,
|
||||||
|
} from '../models';
|
||||||
|
|
||||||
|
export interface CreateUserRequest {
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithArrayInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateUsersWithListInputRequest {
|
||||||
|
body: Array<User>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DeleteUserRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GetUserByNameRequest {
|
||||||
|
username: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LoginUserRequest {
|
||||||
|
username: string;
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UpdateUserRequest {
|
||||||
|
username: string;
|
||||||
|
body: User;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no description
|
||||||
|
*/
|
||||||
|
export class UserApi extends BaseAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUserRaw(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Create user
|
||||||
|
*/
|
||||||
|
createUser(requestParameters: CreateUserRequest): Observable<void> {
|
||||||
|
return this.createUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithArray`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithArrayInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/createWithList`,
|
||||||
|
method: 'POST',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*/
|
||||||
|
createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest): Observable<void> {
|
||||||
|
return this.createUsersWithListInputRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUserRaw(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Delete user
|
||||||
|
*/
|
||||||
|
deleteUser(requestParameters: DeleteUserRequest): Observable<void> {
|
||||||
|
return this.deleteUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByNameRaw(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<User>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*/
|
||||||
|
getUserByName(requestParameters: GetUserByNameRequest): Observable<User> {
|
||||||
|
return this.getUserByNameRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUserRaw(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password === null || requestParameters.password === undefined) {
|
||||||
|
throw new RequiredError('password','Required parameter requestParameters.password was null or undefined when calling loginUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
if (requestParameters.username !== undefined && requestParameters.username !== null) {
|
||||||
|
queryParameters['username'] = requestParameters.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.password !== undefined && requestParameters.password !== null) {
|
||||||
|
queryParameters['password'] = requestParameters.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<string>({
|
||||||
|
path: `/user/login`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*/
|
||||||
|
loginUser(requestParameters: LoginUserRequest): Observable<string> {
|
||||||
|
return this.loginUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUserRaw(): Observable<void> {
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/logout`,
|
||||||
|
method: 'GET',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*/
|
||||||
|
logoutUser(): Observable<void> {
|
||||||
|
return this.logoutUserRaw();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUserRaw(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
if (requestParameters.username === null || requestParameters.username === undefined) {
|
||||||
|
throw new RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestParameters.body === null || requestParameters.body === undefined) {
|
||||||
|
throw new RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updateUser.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryParameters: HttpQuery = {};
|
||||||
|
|
||||||
|
const headerParameters: HttpHeaders = {};
|
||||||
|
|
||||||
|
headerParameters['Content-Type'] = 'application/json';
|
||||||
|
|
||||||
|
return this.request<void>({
|
||||||
|
path: `/user/{username}`.replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))),
|
||||||
|
method: 'PUT',
|
||||||
|
headers: headerParameters,
|
||||||
|
query: queryParameters,
|
||||||
|
body: requestParameters.body,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* Updated user
|
||||||
|
*/
|
||||||
|
updateUser(requestParameters: UpdateUserRequest): Observable<void> {
|
||||||
|
return this.updateUserRaw(requestParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './PetApi';
|
||||||
|
export * from './StoreApi';
|
||||||
|
export * from './UserApi';
|
@ -0,0 +1,3 @@
|
|||||||
|
export * from './runtime';
|
||||||
|
export * from './apis';
|
||||||
|
export * from './models';
|
@ -0,0 +1,38 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the result of uploading an image resource
|
||||||
|
* @export
|
||||||
|
* @interface ApiResponse
|
||||||
|
*/
|
||||||
|
export interface ApiResponse {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
code?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
type?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof ApiResponse
|
||||||
|
*/
|
||||||
|
message?: string;
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A category for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Category
|
||||||
|
*/
|
||||||
|
export interface Category {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Category
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An order for a pets from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Order
|
||||||
|
*/
|
||||||
|
export interface Order {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
petId?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
quantity?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Date}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
shipDate?: Date;
|
||||||
|
/**
|
||||||
|
* Order Status
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {boolean}
|
||||||
|
* @memberof Order
|
||||||
|
*/
|
||||||
|
complete?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {
|
||||||
|
Category,
|
||||||
|
Tag,
|
||||||
|
} from './';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A pet for sale in the pet store
|
||||||
|
* @export
|
||||||
|
* @interface Pet
|
||||||
|
*/
|
||||||
|
export interface Pet {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Category}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
category?: Category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<string>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
photoUrls: Array<string>;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {Array<Tag>}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
tags?: Array<Tag>;
|
||||||
|
/**
|
||||||
|
* pet status in the store
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Pet
|
||||||
|
*/
|
||||||
|
status?: StatusEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export enum StatusEnum {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A tag for a pet
|
||||||
|
* @export
|
||||||
|
* @interface Tag
|
||||||
|
*/
|
||||||
|
export interface Tag {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Tag
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
@ -0,0 +1,68 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A User who is purchasing from the pet store
|
||||||
|
* @export
|
||||||
|
* @interface User
|
||||||
|
*/
|
||||||
|
export interface User {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
username?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
firstName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
lastName?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
email?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
password?: string;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @type {string}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
phone?: string;
|
||||||
|
/**
|
||||||
|
* User Status
|
||||||
|
* @type {number}
|
||||||
|
* @memberof User
|
||||||
|
*/
|
||||||
|
userStatus?: number;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
export * from './ApiResponse';
|
||||||
|
export * from './Category';
|
||||||
|
export * from './Order';
|
||||||
|
export * from './Pet';
|
||||||
|
export * from './Tag';
|
||||||
|
export * from './User';
|
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "@swagger/typescript-rxjs-petstore",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "OpenAPI client for @swagger/typescript-rxjs-petstore",
|
||||||
|
"author": "OpenAPI-Generator",
|
||||||
|
"main": "./dist/index.js",
|
||||||
|
"typings": "./dist/index.d.ts",
|
||||||
|
"scripts" : {
|
||||||
|
"build": "tsc --outDir dist/",
|
||||||
|
"prepare": "npm run build"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"rxjs": "^6.3.3",
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"typescript": "^2.4"
|
||||||
|
},
|
||||||
|
"publishConfig":{
|
||||||
|
"registry":"https://skimdb.npmjs.com/registry"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,210 @@
|
|||||||
|
// tslint:disable
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Observable, of } from 'rxjs';
|
||||||
|
import { ajax, AjaxResponse } from 'rxjs/ajax';
|
||||||
|
import { map, concatMap } from 'rxjs/operators';
|
||||||
|
|
||||||
|
export const BASE_PATH = 'http://petstore.swagger.io/v2'.replace(/\/+$/, '');
|
||||||
|
|
||||||
|
export interface ConfigurationParameters {
|
||||||
|
basePath?: string; // override base path
|
||||||
|
middleware?: Middleware[]; // middleware to apply before/after rxjs requests
|
||||||
|
username?: string; // parameter for basic security
|
||||||
|
password?: string; // parameter for basic security
|
||||||
|
apiKey?: string | ((name: string) => string); // parameter for apiKey security
|
||||||
|
accessToken?: string | ((name: string, scopes?: string[]) => string); // parameter for oauth2 security
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Configuration {
|
||||||
|
constructor(private configuration: ConfigurationParameters = {}) {}
|
||||||
|
|
||||||
|
get basePath(): string {
|
||||||
|
return this.configuration.basePath || BASE_PATH;
|
||||||
|
}
|
||||||
|
|
||||||
|
get middleware(): Middleware[] {
|
||||||
|
return this.configuration.middleware || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get username(): string | undefined {
|
||||||
|
return this.configuration.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
get password(): string | undefined {
|
||||||
|
return this.configuration.password;
|
||||||
|
}
|
||||||
|
|
||||||
|
get apiKey(): ((name: string) => string) | undefined {
|
||||||
|
const apiKey = this.configuration.apiKey;
|
||||||
|
if (apiKey) {
|
||||||
|
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
get accessToken(): ((name: string, scopes?: string[]) => string) | undefined {
|
||||||
|
const accessToken = this.configuration.accessToken;
|
||||||
|
if (accessToken) {
|
||||||
|
return typeof accessToken === 'function' ? accessToken : () => accessToken;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the base class for all generated API classes.
|
||||||
|
*/
|
||||||
|
export class BaseAPI {
|
||||||
|
private middleware: Middleware[];
|
||||||
|
|
||||||
|
constructor(protected configuration = new Configuration()) {
|
||||||
|
this.middleware = configuration.middleware;
|
||||||
|
}
|
||||||
|
|
||||||
|
withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {
|
||||||
|
const next = this.clone<T>();
|
||||||
|
next.middleware = next.middleware.concat(...middlewares);
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {
|
||||||
|
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {
|
||||||
|
const middlewares = postMiddlewares.map((post) => ({ post }));
|
||||||
|
return this.withMiddleware<T>(...middlewares);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected request<T>(context: RequestOpts): Observable<T> {
|
||||||
|
return this.rxjsRequest(this.createRequestArgs(context)).pipe(
|
||||||
|
map((res) => {
|
||||||
|
if (res.status >= 200 && res.status < 300) {
|
||||||
|
return res.response as T;
|
||||||
|
}
|
||||||
|
throw res;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private createRequestArgs(context: RequestOpts): RequestArgs {
|
||||||
|
let url = this.configuration.basePath + context.path;
|
||||||
|
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
||||||
|
// only add the querystring to the URL if there are query parameters.
|
||||||
|
// this is done to avoid urls ending with a '?' character which buggy webservers
|
||||||
|
// do not handle correctly sometimes.
|
||||||
|
url += '?' + querystring(context.query);
|
||||||
|
}
|
||||||
|
const body = context.body instanceof FormData ? context.body : JSON.stringify(context.body);
|
||||||
|
const options = {
|
||||||
|
method: context.method,
|
||||||
|
headers: context.headers,
|
||||||
|
body,
|
||||||
|
};
|
||||||
|
return { url, options };
|
||||||
|
}
|
||||||
|
|
||||||
|
private rxjsRequest(params: RequestContext): Observable<AjaxResponse> {
|
||||||
|
const preMiddlewares = this.middleware && this.middleware.filter((item) => item.pre);
|
||||||
|
const postMiddlewares = this.middleware && this.middleware.filter((item) => item.post);
|
||||||
|
|
||||||
|
return of(params).pipe(
|
||||||
|
map((args) => {
|
||||||
|
if (preMiddlewares) {
|
||||||
|
preMiddlewares.forEach((mw) => (args = mw.pre({ ...args })));
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}),
|
||||||
|
concatMap((args) =>
|
||||||
|
ajax({ url: args.url, ...args.options }).pipe(
|
||||||
|
map((response) => {
|
||||||
|
if (postMiddlewares) {
|
||||||
|
postMiddlewares.forEach((mw) => (response = mw.post({ ...params, response })));
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a shallow clone of `this` by constructing a new instance
|
||||||
|
* and then shallow cloning data members.
|
||||||
|
*/
|
||||||
|
private clone<T extends BaseAPI>(this: T): T {
|
||||||
|
const constructor = this.constructor as any;
|
||||||
|
const next = new constructor(this.configuration);
|
||||||
|
next.middleware = this.middleware.slice();
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class RequiredError extends Error {
|
||||||
|
name: 'RequiredError' = 'RequiredError';
|
||||||
|
constructor(public field: string, msg?: string) {
|
||||||
|
super(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const COLLECTION_FORMATS = {
|
||||||
|
csv: ',',
|
||||||
|
ssv: ' ',
|
||||||
|
tsv: '\t',
|
||||||
|
pipes: '|',
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Json = any;
|
||||||
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
|
||||||
|
export type HttpHeaders = { [key: string]: string };
|
||||||
|
export type HttpQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> };
|
||||||
|
export type HttpBody = Json | FormData;
|
||||||
|
export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';
|
||||||
|
|
||||||
|
export interface RequestArgs {
|
||||||
|
url: string;
|
||||||
|
options: RequestInit;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestOpts {
|
||||||
|
path: string;
|
||||||
|
method: HttpMethod;
|
||||||
|
headers: HttpHeaders;
|
||||||
|
query?: HttpQuery;
|
||||||
|
body?: HttpBody;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function querystring(params: HttpQuery): string {
|
||||||
|
return Object.keys(params)
|
||||||
|
.map((key) => {
|
||||||
|
const value = params[key];
|
||||||
|
if (value instanceof Array) {
|
||||||
|
return value.map((val) => `${encodeURIComponent(key)}=${encodeURIComponent(String(val))}`)
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
return `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`;
|
||||||
|
})
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RequestContext extends RequestArgs {}
|
||||||
|
export interface ResponseContext extends RequestArgs {
|
||||||
|
response: AjaxResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Middleware {
|
||||||
|
pre?(context: RequestContext): RequestArgs;
|
||||||
|
post?(context: ResponseContext): AjaxResponse;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"declaration": true,
|
||||||
|
"target": "es5",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"outDir": "dist",
|
||||||
|
"rootDir": ".",
|
||||||
|
"lib": [
|
||||||
|
"es6",
|
||||||
|
"dom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"dist",
|
||||||
|
"node_modules"
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user