tsoa-custom-decorators
Version:
Build swagger-compliant REST APIs using TypeScript and Node
95 lines (80 loc) • 2.82 kB
text/typescript
import { Get, Post, Patch, Put, Delete } from '../../../src/decorators/methods';
import { Route } from '../../../src/decorators/route';
import { Response, SuccessResponse } from '../../../src/decorators/response';
import { Controller } from '../../../src/interfaces/controller';
import { Tags } from '../../../src/decorators/tags';
import { Security } from '../../../src/decorators/security';
import { ModelService } from '../services/modelService';
import { TestModel, ErrorResponseModel } from '../testModel';
export class MethodController extends Controller {
public async getMethod(): Promise<TestModel> {
return new ModelService().getModel();
}
public async postMethod(): Promise<TestModel> {
return new ModelService().getModel();
}
public async patchMethod(): Promise<TestModel> {
return new ModelService().getModel();
}
public async putMethod(): Promise<TestModel> {
return new ModelService().getModel();
}
public async deleteMethod(): Promise<TestModel> {
return new ModelService().getModel();
}
/**
* method description
*/
public async description(): Promise<TestModel> {
return new ModelService().getModel();
}
public async tags(): Promise<TestModel> {
return new ModelService().getModel();
}
<ErrorResponseModel>('400', 'Bad Request')
<ErrorResponseModel>('401', 'Unauthorized')
<ErrorResponseModel>('default', 'Unexpected error')
public async multiResponse(): Promise<TestModel> {
return new ModelService().getModel();
}
public async successResponse(): Promise<void> {
this.setStatus(201);
return Promise.resolve();
}
public async apiSecurity(): Promise<TestModel> {
return new ModelService().getModel();
}
public async oauthSecurity(): Promise<TestModel> {
return new ModelService().getModel();
}
/**
* @deprecated
*/
public async deprecatedMethod(): Promise<TestModel> {
return new ModelService().getModel();
}
/**
* @summary simple summary
*/
public async summaryMethod(): Promise<TestModel> {
return new ModelService().getModel();
}
}