generation of package.json and compilation files

This commit is contained in:
Kristof Vrolijkx 2016-04-21 15:43:53 +02:00
parent a75b0251c4
commit e118fddb47
35 changed files with 888 additions and 105 deletions

View File

@ -0,0 +1,5 @@
{
"npmName": "PetstoreSwagger",
"npmVersion": "0.0.1",
"snapshot" : true
}

View File

@ -0,0 +1,31 @@
#!/bin/sh
SCRIPT="$0"
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/swagger-codegen-cli/target/swagger-codegen-cli.jar"
if [ ! -f "$executable" ]
then
mvn 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/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-angular2 -c bin/typescript-angular2-petstore-with-npm.json -o samples/client/petstore/typescript-angular2-with-npm"
java $JAVA_OPTS -jar $executable $ags

View File

@ -15,14 +15,15 @@ import io.swagger.models.properties.Property;
public class TypeScriptAngular2ClientCodegen extends AbstractTypeScriptClientCodegen {
private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm");
public static final String NMP_NAME = "nmpName";
public static final String NMP_VERSION = "nmpVersion";
public static final String NPM_REPOSITORY = "npmRepository";
public static final String SNAPSHOT = "Snapshot";
private String npmName = null;
private String npmVersion = "1.0.0";
private String npmRepository = null;
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";
protected String npmName = null;
protected String npmVersion = "1.0.0";
protected String npmRepository = null;
public TypeScriptAngular2ClientCodegen() {
super();
@ -36,8 +37,8 @@ public class TypeScriptAngular2ClientCodegen extends AbstractTypeScriptClientCod
modelPackage = "model";
this.cliOptions.add(new CliOption(NMP_NAME, "The name under which you want to publish generated npm package"));
this.cliOptions.add(new CliOption(NMP_VERSION, "The version of your npm package"));
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", BooleanProperty.TYPE).defaultValue(Boolean.FALSE.toString()));
}
@ -55,31 +56,38 @@ public class TypeScriptAngular2ClientCodegen extends AbstractTypeScriptClientCod
@Override
public void processOpts() {
super.processOpts();
supportingFiles.add(new SupportingFile("models.mustache", modelPackage().replace('.', File.separatorChar), "models.ts"));
supportingFiles.add(new SupportingFile("apis.mustache", apiPackage().replace('.', File.separatorChar), "api.ts"));
supportingFiles.add(new SupportingFile("index.mustache", getIndexDirectory(), "index.ts"));
if(additionalProperties.containsKey(NMP_NAME)) {
if(additionalProperties.containsKey(NPM_NAME)) {
addNpmPackageGeneration();
}
}
private void addNpmPackageGeneration() {
if(additionalProperties.containsKey(NMP_NAME)) {
this.setNpmName(additionalProperties.get(NMP_NAME).toString());
if(additionalProperties.containsKey(NPM_NAME)) {
this.setNpmName(additionalProperties.get(NPM_NAME).toString());
}
if (additionalProperties.containsKey(NMP_VERSION)) {
this.setNpmVersion(additionalProperties.get(NMP_VERSION).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(NMP_VERSION, npmVersion);
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", getIndexDirectory(), "README.md"));
supportingFiles.add(new SupportingFile("package.mustache", getIndexDirectory(), "package.json"));
supportingFiles.add(new SupportingFile("typings.mustache", getIndexDirectory(), "typings.json"));
supportingFiles.add(new SupportingFile("tsconfig.mustache", getIndexDirectory(), "tsconfig.json"));
}
private String getIndexDirectory() {

View File

@ -30,4 +30,4 @@ npm install PATH_TO_GENERATED_PACKAGE --save
In your angular2 project:
TODO: paste example.
TODO: paste example.

View File

@ -1,7 +1,7 @@
{{#models}}
{{#model}}
'use strict';
import * as models from './models.ts';
import * as models from './models';
{{#description}}
/**

View File

@ -1,14 +1,11 @@
{
"name": "@restore/fxt-configurator-client",
"version": "1.${project.version}",
"description": "client to consume the fxt-configurator-api",
"name": "{{npmName}}",
"version": "{{npmVersion}}",
"description": "swagger client for {{npmName}}",
"keywords": [
"swagger-client"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/swagger-api/swagger-codegen/issues"
},
"files": [
"lib"
],
@ -17,10 +14,6 @@
"scripts": {
"build": "typings install && tsc"
},
"repository": {
"type": "git",
"url": "https://stash.flexpond.com/scm/flxp/flextract-service-module.git"
},
"peerDependencies": {
"angular2": "^2.0.0-beta.15",
"rxjs": "^5.0.0-beta.2"
@ -33,9 +26,9 @@
"es7-reflect-metadata": "^1.6.0",
"rxjs": "5.0.0-beta.2",
"zone.js": "^0.6.10"
},
"private": true,
}{{#npmRepository}},
"publishConfig":{
"registry":"http://my-internal-registry.local"
"registry":"{{npmRepository}}"
}
{{/npmRepository}}
}

View File

@ -26,8 +26,8 @@ public class TypeScriptAngular2ClientOptionsProvider implements OptionsProvider
return builder.put(CodegenConstants.SORT_PARAMS_BY_REQUIRED_FLAG, SORT_PARAMS_VALUE)
.put(CodegenConstants.ENSURE_UNIQUE_PARAMS, ENSURE_UNIQUE_PARAMS_VALUE)
.put(CodegenConstants.MODEL_PROPERTY_NAMING, MODEL_PROPERTY_NAMING_VALUE)
.put(TypeScriptAngular2ClientCodegen.NMP_NAME, NMP_NAME)
.put(TypeScriptAngular2ClientCodegen.NMP_VERSION, NMP_VERSION)
.put(TypeScriptAngular2ClientCodegen.NPM_NAME, NMP_NAME)
.put(TypeScriptAngular2ClientCodegen.NPM_VERSION, NMP_VERSION)
.put(TypeScriptAngular2ClientCodegen.SNAPSHOT, Boolean.FALSE.toString())
.put(TypeScriptAngular2ClientCodegen.NPM_REPOSITORY, NPM_REPOSITORY)
.build();

View File

@ -0,0 +1,33 @@
## PetstoreSwagger@0.0.1-SNAPSHOT.201604211539
### Building
To build an compile the typescript sources to javascript use:
```
npm install
npm run build
```
### publishing
First build the package than run ```npm publish```
### consuming
navigate to the folder of your consuming project and run one of next commando's.
_published:_
```
npm install PetstoreSwagger@0.0.1-SNAPSHOT.201604211539 --save
```
_unPublished (not recommended):_
```
npm install PATH_TO_GENERATED_PACKAGE --save
```
In your angular2 project:
TODO: paste example.

View File

@ -0,0 +1,236 @@
import {Http, Headers, RequestOptionsArgs, Response, URLSearchParams} from 'angular2/http';
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import * as models from '../model/models';
/* tslint:disable:no-unused-variable member-ordering */
'use strict';
@Injectable()
export class PetApi {
protected basePath = 'http://petstore.swagger.io/v2';
public defaultHeaders : Headers = new Headers();
constructor(protected http: Http, basePath: string) {
if (basePath) {
this.basePath = basePath;
}
}
/**
* Add a new pet to the store
*
* @param body Pet object that needs to be added to the store
*/
public addPet (body?: models.Pet, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Deletes a pet
*
* @param petId Pet id to delete
* @param apiKey
*/
public deletePet (petId: number, apiKey?: string, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet/{petId}'
.replace('{' + 'petId' + '}', String(petId));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
// verify required parameter 'petId' is set
if (!petId) {
throw new Error('Missing required parameter petId when calling deletePet');
}
headerParams.set('api_key', apiKey);
let requestOptions: RequestOptionsArgs = {
method: 'DELETE',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Finds Pets by status
* Multiple status values can be provided with comma seperated strings
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus (status?: models.Array<string>, extraHttpRequestParams?: any ) : Observable<Array<models.Pet>> {
const path = this.basePath + '/pet/findByStatus';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
if (status !== undefined) {
queryParameters['status'] = status;
}
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Finds Pets by tags
* Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
* @param tags Tags to filter by
*/
public findPetsByTags (tags?: models.Array<string>, extraHttpRequestParams?: any ) : Observable<Array<models.Pet>> {
const path = this.basePath + '/pet/findByTags';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
if (tags !== undefined) {
queryParameters['tags'] = tags;
}
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Find pet by ID
* Returns a pet when ID &lt; 10. ID &gt; 10 or nonintegers will simulate API error conditions
* @param petId ID of pet that needs to be fetched
*/
public getPetById (petId: number, extraHttpRequestParams?: any ) : Observable<models.Pet> {
const path = this.basePath + '/pet/{petId}'
.replace('{' + 'petId' + '}', String(petId));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
// verify required parameter 'petId' is set
if (!petId) {
throw new Error('Missing required parameter petId when calling getPetById');
}
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Update an existing pet
*
* @param body Pet object that needs to be added to the store
*/
public updatePet (body?: models.Pet, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'PUT',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Updates a pet in the store with form data
*
* @param petId ID of pet that needs to be updated
* @param name Updated name of the pet
* @param status Updated status of the pet
*/
public updatePetWithForm (petId: string, name?: string, status?: string, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet/{petId}'
.replace('{' + 'petId' + '}', String(petId));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let formParams = new URLSearchParams();
// verify required parameter 'petId' is set
if (!petId) {
throw new Error('Missing required parameter petId when calling updatePetWithForm');
}
headerParams.set('Content-Type', 'application/x-www-form-urlencoded');
formParams['name'] = name;
formParams['status'] = status;
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = formParams.toString();
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* uploads an image
*
* @param petId ID of pet to update
* @param additionalMetadata Additional data to pass to server
* @param file file to upload
*/
public uploadFile (petId: number, additionalMetadata?: string, file?: models.any, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet/{petId}/uploadImage'
.replace('{' + 'petId' + '}', String(petId));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let formParams = new URLSearchParams();
// verify required parameter 'petId' is set
if (!petId) {
throw new Error('Missing required parameter petId when calling uploadFile');
}
headerParams.set('Content-Type', 'application/x-www-form-urlencoded');
formParams['additionalMetadata'] = additionalMetadata;
formParams['file'] = file;
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = formParams.toString();
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
}

View File

@ -0,0 +1,111 @@
import {Http, Headers, RequestOptionsArgs, Response, URLSearchParams} from 'angular2/http';
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import * as models from '../model/models';
/* tslint:disable:no-unused-variable member-ordering */
'use strict';
@Injectable()
export class StoreApi {
protected basePath = 'http://petstore.swagger.io/v2';
public defaultHeaders : Headers = new Headers();
constructor(protected http: Http, basePath: string) {
if (basePath) {
this.basePath = basePath;
}
}
/**
* Delete purchase order by ID
* For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder (orderId: string, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/store/order/{orderId}'
.replace('{' + 'orderId' + '}', String(orderId));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
// verify required parameter 'orderId' is set
if (!orderId) {
throw new Error('Missing required parameter orderId when calling deleteOrder');
}
let requestOptions: RequestOptionsArgs = {
method: 'DELETE',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Returns pet inventories by status
* Returns a map of status codes to quantities
*/
public getInventory (extraHttpRequestParams?: any ) : Observable<{ [key: string]: number; }> {
const path = this.basePath + '/store/inventory';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Find purchase order by ID
* For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById (orderId: string, extraHttpRequestParams?: any ) : Observable<models.Order> {
const path = this.basePath + '/store/order/{orderId}'
.replace('{' + 'orderId' + '}', String(orderId));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
// verify required parameter 'orderId' is set
if (!orderId) {
throw new Error('Missing required parameter orderId when calling getOrderById');
}
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Place an order for a pet
*
* @param body order placed for purchasing the pet
*/
public placeOrder (body?: models.Order, extraHttpRequestParams?: any ) : Observable<models.Order> {
const path = this.basePath + '/store/order';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
}

View File

@ -0,0 +1,209 @@
import {Http, Headers, RequestOptionsArgs, Response, URLSearchParams} from 'angular2/http';
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import * as models from '../model/models';
/* tslint:disable:no-unused-variable member-ordering */
'use strict';
@Injectable()
export class UserApi {
protected basePath = 'http://petstore.swagger.io/v2';
public defaultHeaders : Headers = new Headers();
constructor(protected http: Http, basePath: string) {
if (basePath) {
this.basePath = basePath;
}
}
/**
* Create user
* This can only be done by the logged in user.
* @param body Created user object
*/
public createUser (body?: models.User, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Creates list of users with given input array
*
* @param body List of user object
*/
public createUsersWithArrayInput (body?: models.Array<models.User>, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/createWithArray';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Creates list of users with given input array
*
* @param body List of user object
*/
public createUsersWithListInput (body?: models.Array<models.User>, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/createWithList';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Delete user
* This can only be done by the logged in user.
* @param username The name that needs to be deleted
*/
public deleteUser (username: string, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/{username}'
.replace('{' + 'username' + '}', String(username));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
// verify required parameter 'username' is set
if (!username) {
throw new Error('Missing required parameter username when calling deleteUser');
}
let requestOptions: RequestOptionsArgs = {
method: 'DELETE',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Get user by user name
*
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName (username: string, extraHttpRequestParams?: any ) : Observable<models.User> {
const path = this.basePath + '/user/{username}'
.replace('{' + 'username' + '}', String(username));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
// verify required parameter 'username' is set
if (!username) {
throw new Error('Missing required parameter username when calling getUserByName');
}
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Logs user into the system
*
* @param username The user name for login
* @param password The password for login in clear text
*/
public loginUser (username?: string, password?: string, extraHttpRequestParams?: any ) : Observable<string> {
const path = this.basePath + '/user/login';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
if (username !== undefined) {
queryParameters['username'] = username;
}
if (password !== undefined) {
queryParameters['password'] = password;
}
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Logs out current logged in user session
*
*/
public logoutUser (extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/logout';
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
let requestOptions: RequestOptionsArgs = {
method: 'GET',
headers: headerParams,
search: queryParameters
};
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
/**
* Updated user
* This can only be done by the logged in user.
* @param username name that need to be deleted
* @param body Updated user object
*/
public updateUser (username: string, body?: models.User, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/{username}'
.replace('{' + 'username' + '}', String(username));
let queryParameters: any = ""; // This should probably be an object in the future
let headerParams = this.defaultHeaders;
// verify required parameter 'username' is set
if (!username) {
throw new Error('Missing required parameter username when calling updateUser');
}
let requestOptions: RequestOptionsArgs = {
method: 'PUT',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map((response: Response) => response.json());
}
}

View File

@ -0,0 +1,5 @@
export * from '../api/PetApi';
export * from '../api/StoreApi';
export * from '../api/UserApi';

View File

@ -0,0 +1,2 @@
export * from './api/api';
export * from './model/models';

View File

@ -0,0 +1,10 @@
'use strict';
import * as models from './models';
export interface Category {
id?: number;
name?: string;
}

View File

@ -0,0 +1,29 @@
'use strict';
import * as models from './models';
export interface Order {
id?: number;
petId?: number;
quantity?: number;
shipDate?: Date;
/**
* Order Status
*/
status?: Order.StatusEnum;
complete?: boolean;
}
export namespace Order {
export enum StatusEnum {
placed = <any> 'placed',
approved = <any> 'approved',
delivered = <any> 'delivered',
}
}

View File

@ -0,0 +1,29 @@
'use strict';
import * as models from './models';
export interface Pet {
id?: number;
category?: models.Category;
name?: string;
photoUrls?: Array<string>;
tags?: Array<models.Tag>;
/**
* pet status in the store
*/
status?: Pet.StatusEnum;
}
export namespace Pet {
export enum StatusEnum {
available = <any> 'available',
pending = <any> 'pending',
sold = <any> 'sold',
}
}

View File

@ -0,0 +1,10 @@
'use strict';
import * as models from './models';
export interface Tag {
id?: number;
name?: string;
}

View File

@ -0,0 +1,25 @@
'use strict';
import * as models from './models';
export interface User {
id?: number;
username?: string;
firstName?: string;
lastName?: string;
email?: string;
password?: string;
phone?: string;
/**
* User Status
*/
userStatus?: number;
}

View File

@ -6,8 +6,3 @@ export * from './User';
export * from '../api/PetApi';
export * from '../api/StoreApi';
export * from '../api/UserApi';

View File

@ -0,0 +1,29 @@
{
"name": "PetstoreSwagger",
"version": "0.0.1-SNAPSHOT.201604211539",
"description": "swagger client for PetstoreSwagger",
"keywords": [
"swagger-client"
],
"license": "MIT",
"files": [
"lib"
],
"main": "./lib/index.js",
"typings": "./lib/index.d.ts",
"scripts": {
"build": "typings install && tsc"
},
"peerDependencies": {
"angular2": "^2.0.0-beta.15",
"rxjs": "^5.0.0-beta.2"
},
"devDependencies": {
"typescript": "^1.8.10",
"typings": "^0.8.1",
"angular2": "^2.0.0-beta.15",
"es6-shim": "^0.35.0",
"es7-reflect-metadata": "^1.6.0",
"rxjs": "5.0.0-beta.2",
"zone.js": "^0.6.10"
}}

View File

@ -0,0 +1,27 @@
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noImplicitAny": false,
"suppressImplicitAnyIndexErrors": true,
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"removeComments": true,
"sourceMap": true,
"outDir": "./lib",
"noLib": false,
"declaration": true
},
"exclude": [
"node_modules",
"typings/main.d.ts",
"typings/main",
"lib"
],
"filesGlob": [
"./model/*.ts",
"./api/*.ts",
"typings/browser.d.ts"
]
}

View File

@ -0,0 +1,5 @@
{
"ambientDependencies": {
"core-js": "registry:dt/core-js#0.0.0+20160317120654"
}
}

View File

@ -1,7 +1,7 @@
import {Http, Headers, RequestOptionsArgs, Response, URLSearchParams} from 'angular2/http';
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import * as model from "../model/model.d.ts"
import * as models from '../model/models';
/* tslint:disable:no-unused-variable member-ordering */
@ -23,7 +23,7 @@ export class PetApi {
*
* @param body Pet object that needs to be added to the store
*/
public addPet (body?: model.Pet, extraHttpRequestParams?: any ) : Observable<{}> {
public addPet (body?: models.Pet, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet';
let queryParameters: any = ""; // This should probably be an object in the future
@ -36,7 +36,7 @@ export class PetApi {
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -64,7 +64,7 @@ export class PetApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -72,7 +72,7 @@ export class PetApi {
* Multiple status values can be provided with comma seperated strings
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus (status?: model.Array<string>, extraHttpRequestParams?: any ) : Observable<Array<model.Pet>> {
public findPetsByStatus (status?: models.Array<string>, extraHttpRequestParams?: any ) : Observable<Array<models.Pet>> {
const path = this.basePath + '/pet/findByStatus';
let queryParameters: any = ""; // This should probably be an object in the future
@ -88,7 +88,7 @@ export class PetApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -96,7 +96,7 @@ export class PetApi {
* Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
* @param tags Tags to filter by
*/
public findPetsByTags (tags?: model.Array<string>, extraHttpRequestParams?: any ) : Observable<Array<model.Pet>> {
public findPetsByTags (tags?: models.Array<string>, extraHttpRequestParams?: any ) : Observable<Array<models.Pet>> {
const path = this.basePath + '/pet/findByTags';
let queryParameters: any = ""; // This should probably be an object in the future
@ -112,7 +112,7 @@ export class PetApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -120,7 +120,7 @@ export class PetApi {
* Returns a pet when ID &lt; 10. ID &gt; 10 or nonintegers will simulate API error conditions
* @param petId ID of pet that needs to be fetched
*/
public getPetById (petId: number, extraHttpRequestParams?: any ) : Observable<model.Pet> {
public getPetById (petId: number, extraHttpRequestParams?: any ) : Observable<models.Pet> {
const path = this.basePath + '/pet/{petId}'
.replace('{' + 'petId' + '}', String(petId));
@ -137,7 +137,7 @@ export class PetApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -145,7 +145,7 @@ export class PetApi {
*
* @param body Pet object that needs to be added to the store
*/
public updatePet (body?: model.Pet, extraHttpRequestParams?: any ) : Observable<{}> {
public updatePet (body?: models.Pet, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet';
let queryParameters: any = ""; // This should probably be an object in the future
@ -158,7 +158,7 @@ export class PetApi {
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -194,7 +194,7 @@ export class PetApi {
requestOptions.body = formParams.toString();
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -204,7 +204,7 @@ export class PetApi {
* @param additionalMetadata Additional data to pass to server
* @param file file to upload
*/
public uploadFile (petId: number, additionalMetadata?: string, file?: model.any, extraHttpRequestParams?: any ) : Observable<{}> {
public uploadFile (petId: number, additionalMetadata?: string, file?: models.any, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/pet/{petId}/uploadImage'
.replace('{' + 'petId' + '}', String(petId));
@ -230,7 +230,7 @@ export class PetApi {
requestOptions.body = formParams.toString();
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
}

View File

@ -1,7 +1,7 @@
import {Http, Headers, RequestOptionsArgs, Response, URLSearchParams} from 'angular2/http';
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import * as model from "../model/model.d.ts"
import * as models from '../model/models';
/* tslint:disable:no-unused-variable member-ordering */
@ -40,7 +40,7 @@ export class StoreApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -59,7 +59,7 @@ export class StoreApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -67,7 +67,7 @@ export class StoreApi {
* For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById (orderId: string, extraHttpRequestParams?: any ) : Observable<model.Order> {
public getOrderById (orderId: string, extraHttpRequestParams?: any ) : Observable<models.Order> {
const path = this.basePath + '/store/order/{orderId}'
.replace('{' + 'orderId' + '}', String(orderId));
@ -84,7 +84,7 @@ export class StoreApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -92,7 +92,7 @@ export class StoreApi {
*
* @param body order placed for purchasing the pet
*/
public placeOrder (body?: model.Order, extraHttpRequestParams?: any ) : Observable<model.Order> {
public placeOrder (body?: models.Order, extraHttpRequestParams?: any ) : Observable<models.Order> {
const path = this.basePath + '/store/order';
let queryParameters: any = ""; // This should probably be an object in the future
@ -105,7 +105,7 @@ export class StoreApi {
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
}

View File

@ -1,7 +1,7 @@
import {Http, Headers, RequestOptionsArgs, Response, URLSearchParams} from 'angular2/http';
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import * as model from "../model/model.d.ts"
import * as models from '../model/models';
/* tslint:disable:no-unused-variable member-ordering */
@ -23,7 +23,7 @@ export class UserApi {
* This can only be done by the logged in user.
* @param body Created user object
*/
public createUser (body?: model.User, extraHttpRequestParams?: any ) : Observable<{}> {
public createUser (body?: models.User, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user';
let queryParameters: any = ""; // This should probably be an object in the future
@ -36,7 +36,7 @@ export class UserApi {
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -44,7 +44,7 @@ export class UserApi {
*
* @param body List of user object
*/
public createUsersWithArrayInput (body?: model.Array<model.User>, extraHttpRequestParams?: any ) : Observable<{}> {
public createUsersWithArrayInput (body?: models.Array<models.User>, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/createWithArray';
let queryParameters: any = ""; // This should probably be an object in the future
@ -57,7 +57,7 @@ export class UserApi {
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -65,7 +65,7 @@ export class UserApi {
*
* @param body List of user object
*/
public createUsersWithListInput (body?: model.Array<model.User>, extraHttpRequestParams?: any ) : Observable<{}> {
public createUsersWithListInput (body?: models.Array<models.User>, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/createWithList';
let queryParameters: any = ""; // This should probably be an object in the future
@ -78,7 +78,7 @@ export class UserApi {
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -103,7 +103,7 @@ export class UserApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -111,7 +111,7 @@ export class UserApi {
*
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName (username: string, extraHttpRequestParams?: any ) : Observable<model.User> {
public getUserByName (username: string, extraHttpRequestParams?: any ) : Observable<models.User> {
const path = this.basePath + '/user/{username}'
.replace('{' + 'username' + '}', String(username));
@ -128,7 +128,7 @@ export class UserApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -157,7 +157,7 @@ export class UserApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -176,7 +176,7 @@ export class UserApi {
};
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
/**
@ -185,7 +185,7 @@ export class UserApi {
* @param username name that need to be deleted
* @param body Updated user object
*/
public updateUser (username: string, body?: model.User, extraHttpRequestParams?: any ) : Observable<{}> {
public updateUser (username: string, body?: models.User, extraHttpRequestParams?: any ) : Observable<{}> {
const path = this.basePath + '/user/{username}'
.replace('{' + 'username' + '}', String(username));
@ -203,7 +203,7 @@ export class UserApi {
requestOptions.body = JSON.stringify(body);
return this.http.request(path, requestOptions)
.map(response => response.json());
.map((response: Response) => response.json());
}
}

View File

@ -0,0 +1,5 @@
export * from '../api/PetApi';
export * from '../api/StoreApi';
export * from '../api/UserApi';

View File

@ -0,0 +1,2 @@
export * from './api/api';
export * from './model/models';

View File

@ -1,12 +1,10 @@
'use strict';
import * as model from "./model.d.ts"
import * as models from './models';
export interface Category {
id?: number;
name?: string;
}

View File

@ -1,27 +1,21 @@
'use strict';
import * as model from "./model.d.ts"
import * as models from './models';
export interface Order {
id?: number;
petId?: number;
quantity?: number;
shipDate?: Date;
/**
* Order Status
*/
status?: Order.StatusEnum;
complete?: boolean;
}

View File

@ -1,27 +1,21 @@
'use strict';
import * as model from "./model.d.ts"
import * as models from './models';
export interface Pet {
id?: number;
category?: model.Category;
category?: models.Category;
name?: string;
photoUrls?: Array<string>;
tags?: Array<model.Tag>;
tags?: Array<models.Tag>;
/**
* pet status in the store
*/
status?: Pet.StatusEnum;
}

View File

@ -1,12 +1,10 @@
'use strict';
import * as model from "./model.d.ts"
import * as models from './models';
export interface Tag {
id?: number;
name?: string;
}

View File

@ -1,33 +1,25 @@
'use strict';
import * as model from "./model.d.ts"
import * as models from './models';
export interface User {
id?: number;
username?: string;
firstName?: string;
lastName?: string;
email?: string;
password?: string;
phone?: string;
/**
* User Status
*/
userStatus?: number;
}

View File

@ -0,0 +1,8 @@
export * from './Category';
export * from './Order';
export * from './Pet';
export * from './Tag';
export * from './User';