UNPKG

typenexus

Version:

TypeNexus is a good tool for API encapsulation and management. It provides a clean and lightweight way to package TypeORM functionality, helping you build applications faster while reducing template code redundancy and type conversion work.

58 lines (57 loc) 2.39 kB
import { Express } from 'express'; import { DataSource } from 'typeorm'; import { ActionMetadata } from './metadata/ActionMetadata.js'; import { MiddlewareMetadata } from './metadata/MiddlewareMetadata.js'; import { ParamMetadata } from './metadata/ParamMetadata.js'; import { UseMetadata } from './metadata/UseMetadata.js'; import { TypeNexusOptions } from './DriverOptions.js'; import { Action } from './Action.js'; export declare abstract class Driver { options: TypeNexusOptions; /** * Global application prefix. */ routePrefix: string; /** * DataSource is a pre-defined connection configuration to a specific database. * You can have multiple data sources connected (with multiple connections in it), connected to multiple databases in your application. */ dataSource: DataSource; app: Express; express: Express; /** * Special function used to check user authorization roles per request. * Must return true or promise with boolean true resolved for authorization to succeed. */ authorizationChecker?: TypeNexusOptions['authorizationChecker']; /** * Special function used to get currently authorized user. */ currentUserChecker?: TypeNexusOptions['currentUserChecker']; constructor(portOrOptions?: number | TypeNexusOptions, options?: TypeNexusOptions); registerSession(): Promise<void>; registerAction(actionMetadata: ActionMetadata, executeCallback: (options: Action) => any): void; /** * Handles result of successfully executed controller action. */ handleSuccess(result: any, action: ActionMetadata, options: Action): void; /** * Handles result of failed executed controller action. */ handleError(error: any, action: ActionMetadata | undefined, options: Action): any; /** * Gets param from the request. */ getParamFromRequest(action: Action, param: ParamMetadata): any; /** * Creates middlewares from the given "use"-s. */ protected prepareMiddlewares(uses: UseMetadata[]): Function[]; /** * Registers middleware that run before controller actions. */ registerMiddleware(middleware: MiddlewareMetadata, options: TypeNexusOptions): void; protected processJsonError(error: any): any; protected processTextError(error: any): any; protected merge(obj1: any, obj2: any): any; }