database-proxy
Version:
Through a set of access control rules configuration database access to realize the client directly access the database via HTTP.
52 lines • 1.8 kB
TypeScript
import { AccessorInterface } from './accessor/accessor';
import { Params, ActionType } from './types';
import { LoggerInterface } from './logger';
import { PolicyInterface } from './policy';
export declare class Proxy {
private _accessor;
private _policy;
private _logger;
constructor(accessor: AccessorInterface, policy: PolicyInterface);
get logger(): LoggerInterface;
setLogger(logger: LoggerInterface): void;
get accessor(): AccessorInterface;
/**
* @deprecated
* @param accessor
*/
setAccessor(accessor: AccessorInterface): Promise<void>;
get policy(): PolicyInterface;
/**
* set policy
* @deprecated
* @param ruler
*/
setPolicy(policy: PolicyInterface): Promise<void>;
/**
* perform data request
* @param params
* @returns
*/
execute(params: Params): Promise<import("./accessor/accessor").ReadResult | import("./accessor/accessor").UpdateResult | import("./accessor/accessor").AddResult | import("./accessor/accessor").RemoveResult | import("./accessor/accessor").CountResult | import("./accessor/accessor").CreateIndexResult | import("./accessor/accessor").DropIndexResult | import("./accessor/accessor").ListIndexesResult>;
/**
* perform validation on request
* @param params
* @param injections
* @returns
*/
validate(params: Params, injections: object): Promise<import("./policy").ValidateResult>;
/**
* Parse request params
* @param reqParams req.body
* @returns
*/
parseParams(reqParams: any): Params;
/**
* Parse request params
* @param actionType
* @param reqParams
* @returns
*/
static parse(actionType: ActionType, reqParams: any): Params;
}
//# sourceMappingURL=proxy.d.ts.map