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