routing-controllers-openapi
Version:
Runtime OpenAPI v3 spec generation for routing-controllers
213 lines (186 loc) • 4.13 kB
text/typescript
// tslint:disable:no-implicit-dependencies
import { Type } from 'class-transformer'
import { IsEmail, IsOptional, IsString, ValidateNested } from 'class-validator'
import {
Body,
BodyParam,
ContentType,
Controller,
Delete,
Get,
HeaderParam,
HeaderParams,
HttpCode,
JsonController,
Param,
Patch,
Post,
Put,
QueryParam,
QueryParams,
UploadedFile,
UploadedFiles,
} from 'routing-controllers'
import { OpenAPI, ResponseSchema } from '../../src'
import { ModelDto } from './models'
export class CreateUserBody {
email: string
}
export class CreateNestedBody {
users: CreateUserBody[]
}
export class CreatePostBody {
content: string[]
}
export class CreateUserPostImagesBody {
description: string
}
export class ListUsersQueryParams {
email?: string
types: string[]
}
export class ListUsersHeaderParams {
Authorization: string
'X-Correlation-ID': string
}
export class UserQuery {
name: string
}
export class UsersController {
listUsers(
_query?: ListUsersQueryParams,
_header?: ListUsersHeaderParams
) {
return
}
listUsersInRange(
_to: number,
_emptyQuery: string,
_userId: number
) {
return
}
getUser(
_userId: number,
_emptyHeader: string,
_xRequestedWith: string
) {
return
}
createUser( _body: CreateUserBody) {
return
}
createUserWithType(
_user: string
) {
return
}
createManyUsers(
_body: CreateUserBody[]
) {
return
}
createNestedUsers( _body: CreateNestedBody) {
return
}
createUserPost(
_body: CreatePostBody,
_token: string
) {
return
}
deleteUsersByVersion() {
return
}
putUserDefault(
_limit: number,
_query: UserQuery,
_token: string
) {
return
}
putUserAvatar( _image: any) {
return
}
}
export class UserPostsController {
getUserPost(
_userId: number,
_postId: string
) {
return
}
patchUserPost( _token: string) {
return
}
createUserPostImages(
_body: CreateUserPostImagesBody,
_token: string,
_images: any[]
) {
return
}
}
export class RootController {
getDefaultPath() {
return
}
getStringPath() {
return
}
}