backapi
Version:
A simple API framework using Flexible Persistence
62 lines • 3.64 kB
TypeScript
import { Default } from '@flexiblepersistence/default-initializer';
import { IService, IServiceSimple } from '@flexiblepersistence/service';
import { Handler, Event, Operation } from 'flexiblepersistence';
import IRouter from '../router/iRouter';
import RestArgs from './args/rest';
import SocketArgs from './args/socket';
import AllArgs from './args/all';
export default abstract class AbstractControllerDefault extends Default {
protected server: any;
protected context: any;
protected abstract restFramework: any;
protected abstract socketFramework: any;
protected abstract communication: any;
protected regularErrorStatus: {
[error: string]: number;
};
protected method: {
[method: string]: string;
};
protected handler: Handler | undefined;
protected middlewares?: any[];
mainRequestHandler(args: any, operation?: Operation): Promise<Response>;
protected errorStatus(error?: string): {
[error: string]: number;
} | number;
constructor(initDefault?: IRouter);
init(initDefault?: IRouter): void;
protected event(event: Event): Promise<any>;
protected runMiddleware(requestOrData: any, responseOrSocket: any, fn: any): Promise<unknown>;
protected runMiddlewares(requestOrData: any, responseOrSocket: any): Promise<void>;
protected generateName(): void;
protected abstract emit(requestOrData?: any, responseOrSocket?: any, headers?: any, operation?: Operation, status?: any, object?: any): Promise<void>;
protected generateError(requestOrData?: any, responseOrSocket?: any, headers?: any, error?: any, operation?: Operation): Promise<any>;
protected hasObjectName(): boolean;
protected getObject(object: any): any;
protected setObject(object: any, value: any): any;
formatName(): string;
formatContent(requestOrData: any): IServiceSimple;
formatParams(requestOrData: any): any;
formatQuery(requestOrData: any): any;
formatBoolean(name: string, headers?: any, defaultValue?: boolean): boolean;
formatSelection(params?: any, query?: any): any;
formatEvent(requestOrData: any, operation: Operation, singleDefault?: boolean, replace?: boolean): Event;
protected generateStatus(operation: Operation, object: any, correct?: boolean): number;
protected generateObject(useFunction: (event: Event) => Promise<IService[] | IService | number | boolean>, event: Event): Promise<any>;
protected generateHeaders(requestOrData: any, responseOrSocket: any, event: any): Promise<{}>;
protected setHeader(requestOrData: any, responseOrSocket: any, name: string, value: string): Promise<{}>;
protected enableOptions(requestOrData: any, responseOrSocket: any, headers: any, operation: Operation): Promise<boolean>;
protected getHandshakeHeaders(requestOrData: any, responseOrSocket: any): void;
protected parseExpressArgs(args: any): RestArgs;
protected parseNextArgs(args: any): RestArgs;
protected parseAWSBody(received?: unknown | string): unknown;
protected parseAWSArgs(args: any): RestArgs;
protected parseRestArgs(args: any): RestArgs;
protected parseWebArgs(args: any): SocketArgs;
protected parseIoArgs(args: any): SocketArgs;
protected parseSocketArgs(args: any): SocketArgs;
protected parseArgs(args: any): AllArgs;
protected generateEvent(args: any, operation: Operation, useFunction: (event: Event) => Promise<IService[] | IService | number | boolean>, singleDefault?: boolean, replace?: boolean): Promise<Response | any>;
options(...args: any[]): Promise<Response>;
}
//# sourceMappingURL=abstractControllerDefault.d.ts.map