Cygni_backend/node_modules/@tsoa/cli/dist/routeGeneration/routeGenerator.d.ts

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>;
}