adjust frontend to new backend
This commit is contained in:
57
templates/types/ObjectParamAPI.mustache
Normal file
57
templates/types/ObjectParamAPI.mustache
Normal file
@@ -0,0 +1,57 @@
|
||||
import { ResponseContext, RequestContext, HttpFile } from '../http/http{{extensionForDeno}}';
|
||||
import { Configuration} from '../configuration{{extensionForDeno}}'
|
||||
{{#useRxJS}}
|
||||
import { Observable } from 'rxjs';
|
||||
{{/useRxJS}}
|
||||
|
||||
{{#models}}
|
||||
{{#model}}
|
||||
import { {{{ classname }}} } from '{{{ importPath }}}{{extensionForDeno}}';
|
||||
{{/model}}
|
||||
{{/models}}
|
||||
{{#apiInfo}}
|
||||
{{#apis}}
|
||||
|
||||
{{#operations}}
|
||||
import { Observable{{classname}} } from "./ObservableAPI{{extensionForDeno}}";
|
||||
import { {{classname}}RequestFactory, {{classname}}ResponseProcessor} from "../apis/{{classname}}{{extensionForDeno}}";
|
||||
|
||||
{{#operation}}
|
||||
export interface {{classname}}{{operationIdCamelCase}}Request {
|
||||
{{#allParams}}
|
||||
/**
|
||||
* {{description}}
|
||||
* @type {{dataType}}
|
||||
* @memberof {{classname}}{{nickname}}
|
||||
*/
|
||||
{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}
|
||||
{{/allParams}}
|
||||
}
|
||||
|
||||
{{/operation}}
|
||||
export class Object{{classname}} {
|
||||
private api: Observable{{classname}}
|
||||
|
||||
public constructor(configuration: Configuration, requestFactory?: {{classname}}RequestFactory, responseProcessor?: {{classname}}ResponseProcessor) {
|
||||
this.api = new Observable{{classname}}(configuration, requestFactory, responseProcessor);
|
||||
}
|
||||
|
||||
{{#operation}}
|
||||
/**
|
||||
{{#notes}}
|
||||
* {{¬es}}
|
||||
{{/notes}}
|
||||
{{#summary}}
|
||||
* {{&summary}}
|
||||
{{/summary}}
|
||||
* @param param the request object
|
||||
*/
|
||||
public {{nickname}}(param: {{classname}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, options?: Configuration): {{#useRxJS}}Observable{{/useRxJS}}{{^useRxJS}}Promise{{/useRxJS}}<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
|
||||
return this.api.{{nickname}}({{#allParams}}param.{{paramName}}, {{/allParams}} options){{^useRxJS}}.toPromise(){{/useRxJS}};
|
||||
}
|
||||
|
||||
{{/operation}}
|
||||
}
|
||||
{{/operations}}
|
||||
{{/apis}}
|
||||
{{/apiInfo}}
|
||||
87
templates/types/ObservableAPI.mustache
Normal file
87
templates/types/ObservableAPI.mustache
Normal file
@@ -0,0 +1,87 @@
|
||||
import { ResponseContext, RequestContext, HttpFile } from '../http/http{{extensionForDeno}}';
|
||||
import { Configuration} from '../configuration{{extensionForDeno}}'
|
||||
import { Observable, of, from } from {{#useRxJS}}'rxjs'{{/useRxJS}}{{^useRxJS}}'../rxjsStub{{extensionForDeno}}'{{/useRxJS}};
|
||||
import {mergeMap, map} from {{#useRxJS}}'rxjs/operators'{{/useRxJS}}{{^useRxJS}}'../rxjsStub{{extensionForDeno}}'{{/useRxJS}};
|
||||
{{#useInversify}}
|
||||
import { injectable, inject, optional } from "inversify";
|
||||
import { AbstractConfiguration } from "../services/configuration{{extensionForDeno}}";
|
||||
{{/useInversify}}
|
||||
{{#models}}
|
||||
{{#model}}
|
||||
import { {{{ classname }}} } from '{{{ importPath }}}{{extensionForDeno}}';
|
||||
{{/model}}
|
||||
{{/models}}
|
||||
{{#apiInfo}}
|
||||
{{#apis}}
|
||||
|
||||
{{#operations}}
|
||||
import { {{classname}}RequestFactory, {{classname}}ResponseProcessor} from "../apis/{{classname}}{{extensionForDeno}}";
|
||||
{{#useInversify}}
|
||||
import { Abstract{{classname}}RequestFactory, Abstract{{classname}}ResponseProcessor } from "../apis/{{classname}}.service{{extensionForDeno}}";
|
||||
|
||||
@injectable()
|
||||
{{/useInversify}}
|
||||
export class Observable{{classname}} {
|
||||
{{#useInversify}}
|
||||
private requestFactory: Abstract{{classname}}RequestFactory;
|
||||
private responseProcessor: Abstract{{classname}}ResponseProcessor;
|
||||
{{/useInversify}}
|
||||
{{^useInversify}}
|
||||
private requestFactory: {{classname}}RequestFactory;
|
||||
private responseProcessor: {{classname}}ResponseProcessor;
|
||||
{{/useInversify}}
|
||||
private configuration: Configuration;
|
||||
|
||||
public constructor(
|
||||
{{#useInversify}}
|
||||
@inject(AbstractConfiguration) configuration: Configuration,
|
||||
@inject(Abstract{{classname}}RequestFactory) @optional() requestFactory?: Abstract{{classname}}RequestFactory,
|
||||
@inject(Abstract{{classname}}ResponseProcessor) @optional() responseProcessor?: Abstract{{classname}}ResponseProcessor
|
||||
{{/useInversify}}
|
||||
{{^useInversify}}
|
||||
configuration: Configuration,
|
||||
requestFactory?: {{classname}}RequestFactory,
|
||||
responseProcessor?: {{classname}}ResponseProcessor
|
||||
{{/useInversify}}
|
||||
) {
|
||||
this.configuration = configuration;
|
||||
this.requestFactory = requestFactory || new {{classname}}RequestFactory(configuration);
|
||||
this.responseProcessor = responseProcessor || new {{classname}}ResponseProcessor();
|
||||
}
|
||||
|
||||
{{#operation}}
|
||||
/**
|
||||
{{#notes}}
|
||||
* {{¬es}}
|
||||
{{/notes}}
|
||||
{{#summary}}
|
||||
* {{&summary}}
|
||||
{{/summary}}
|
||||
{{#allParams}}
|
||||
* @param {{paramName}} {{description}}
|
||||
{{/allParams}}
|
||||
*/
|
||||
public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}_options?: Configuration): Observable<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
|
||||
const requestContextPromise = this.requestFactory.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}_options);
|
||||
|
||||
// build promise chain
|
||||
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
|
||||
for (let middleware of this.configuration.middleware) {
|
||||
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
|
||||
}
|
||||
|
||||
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
|
||||
pipe(mergeMap((response: ResponseContext) => {
|
||||
let middlewarePostObservable = of(response);
|
||||
for (let middleware of this.configuration.middleware) {
|
||||
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
|
||||
}
|
||||
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.{{nickname}}(rsp)));
|
||||
}));
|
||||
}
|
||||
|
||||
{{/operation}}
|
||||
}
|
||||
{{/operations}}
|
||||
{{/apis}}
|
||||
{{/apiInfo}}
|
||||
67
templates/types/PromiseAPI.mustache
Normal file
67
templates/types/PromiseAPI.mustache
Normal file
@@ -0,0 +1,67 @@
|
||||
import { ResponseContext, RequestContext, HttpFile } from '../http/http{{extensionForDeno}}';
|
||||
import { Configuration} from '../configuration{{extensionForDeno}}'
|
||||
{{#useInversify}}
|
||||
import { injectable, inject, optional } from "inversify";
|
||||
import { AbstractConfiguration } from "../services/configuration";
|
||||
{{/useInversify}}
|
||||
|
||||
{{#models}}
|
||||
{{#model}}
|
||||
import { {{{ classname }}} } from '{{{ importPath }}}{{extensionForDeno}}';
|
||||
{{/model}}
|
||||
{{/models}}
|
||||
{{#apiInfo}}
|
||||
{{#apis}}
|
||||
import { Observable{{classname}} } from './ObservableAPI{{extensionForDeno}}';
|
||||
|
||||
{{#operations}}
|
||||
import { {{classname}}RequestFactory, {{classname}}ResponseProcessor} from "../apis/{{classname}}{{extensionForDeno}}";
|
||||
{{#useInversify}}
|
||||
import { Abstract{{classname}}RequestFactory, Abstract{{classname}}ResponseProcessor } from "../apis/{{classname}}.service";
|
||||
|
||||
@injectable()
|
||||
{{/useInversify}}
|
||||
export class Promise{{classname}} {
|
||||
private api: Observable{{classname}}
|
||||
|
||||
public constructor(
|
||||
{{#useInversify}}
|
||||
@inject(AbstractConfiguration) configuration: Configuration,
|
||||
@inject(Abstract{{classname}}RequestFactory) @optional() requestFactory?: Abstract{{classname}}RequestFactory,
|
||||
@inject(Abstract{{classname}}ResponseProcessor) @optional() responseProcessor?: Abstract{{classname}}ResponseProcessor
|
||||
{{/useInversify}}
|
||||
{{^useInversify}}
|
||||
configuration: Configuration,
|
||||
requestFactory?: {{classname}}RequestFactory,
|
||||
responseProcessor?: {{classname}}ResponseProcessor
|
||||
{{/useInversify}}
|
||||
) {
|
||||
this.api = new Observable{{classname}}(configuration, requestFactory, responseProcessor);
|
||||
}
|
||||
|
||||
{{#operation}}
|
||||
/**
|
||||
{{#notes}}
|
||||
* {{¬es}}
|
||||
{{/notes}}
|
||||
{{#summary}}
|
||||
* {{&summary}}
|
||||
{{/summary}}
|
||||
{{#allParams}}
|
||||
* @param {{paramName}} {{description}}
|
||||
{{/allParams}}
|
||||
*/
|
||||
public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}_options?: Configuration): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
|
||||
const result = this.api.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}_options);
|
||||
return result.toPromise();
|
||||
}
|
||||
|
||||
{{/operation}}
|
||||
|
||||
}
|
||||
|
||||
{{/operations}}
|
||||
|
||||
|
||||
{{/apis}}
|
||||
{{/apiInfo}}
|
||||
Reference in New Issue
Block a user