57 lines
2.2 KiB
TypeScript
57 lines
2.2 KiB
TypeScript
import { ExtendedRoutesConfig } from '../cli';
|
|
import { Tsoa, TsoaRoute } from '@tsoa/runtime';
|
|
export declare abstract class AbstractRouteGenerator<Config extends ExtendedRoutesConfig> {
|
|
protected readonly metadata: Tsoa.Metadata;
|
|
protected readonly options: Config;
|
|
constructor(metadata: Tsoa.Metadata, options: Config);
|
|
/**
|
|
* This is the entrypoint for a generator to create a custom set of routes
|
|
*/
|
|
abstract GenerateCustomRoutes(): Promise<void>;
|
|
buildModels(): TsoaRoute.Models;
|
|
protected pathTransformer(path: string): string;
|
|
protected buildContext(): {
|
|
authenticationModule: string | undefined;
|
|
basePath: string;
|
|
canImportByAlias: boolean;
|
|
controllers: {
|
|
actions: {
|
|
fullPath: string;
|
|
method: string;
|
|
name: string;
|
|
parameters: {
|
|
[name: string]: TsoaRoute.ParameterSchema;
|
|
};
|
|
path: string;
|
|
uploadFile: boolean;
|
|
uploadFileName: {
|
|
name: string;
|
|
maxCount: number | undefined;
|
|
multiple: boolean;
|
|
}[];
|
|
security: Tsoa.Security[];
|
|
successStatus: string | number;
|
|
}[];
|
|
modulePath: string;
|
|
name: string;
|
|
path: string;
|
|
}[];
|
|
environment: NodeJS.ProcessEnv;
|
|
iocModule: string | undefined;
|
|
minimalSwaggerConfig: {
|
|
noImplicitAdditionalProperties: "ignore" | "throw-on-extras" | "silently-remove-extras";
|
|
bodyCoercion: boolean;
|
|
};
|
|
models: TsoaRoute.Models;
|
|
useFileUploads: boolean;
|
|
multerOpts: Config["multerOpts"];
|
|
useSecurity: boolean;
|
|
esm: boolean | undefined;
|
|
};
|
|
protected getRelativeImportPath(fileLocation: string): string;
|
|
protected buildPropertySchema(source: Tsoa.Property): TsoaRoute.PropertySchema;
|
|
protected buildParameterSchema(source: Tsoa.Parameter): TsoaRoute.ParameterSchema;
|
|
protected buildProperty(type: Tsoa.Type): TsoaRoute.PropertySchema;
|
|
protected shouldWriteFile(fileName: string, content: string): Promise<boolean>;
|
|
}
|