UNPKG

lambdaorm-client-node

Version:
65 lines (64 loc) 2.45 kB
import { QueryOptions, QueryPlan, Metadata, MetadataModel, MetadataConstraint, MetadataParameter } from 'lambdaorm-base'; import { ClientGeneralService } from './services/GeneralService'; import { ClientStageService } from './services/StageService'; import { ClientSchemaService } from './services/SchemaService'; export interface IOrm { url: string; init(url?: string): Promise<void>; end(): Promise<void>; get general(): ClientGeneralService; get schema(): ClientSchemaService; get stage(): ClientStageService; /** * Get model of query * @returns Model of query */ model(query: Function): Promise<MetadataModel[]>; model(query: string): Promise<MetadataModel[]>; /** * Get parameters of query * @param query query expression * @returns Parameters of query */ parameters(query: Function): Promise<MetadataParameter[]>; parameters(query: string): Promise<MetadataParameter[]>; /** * Get constraints of query * @param query query expression * @returns Constraints of query */ constraints(query: Function): Promise<MetadataConstraint>; constraints(query: string): Promise<MetadataConstraint>; /** * Get metadata of query * @param query query expression * @returns metadata of query */ metadata(query: Function): Promise<Metadata>; metadata(query: string): Promise<Metadata>; /** * Plan query * @param query * @param options */ plan(query: Function, options?: QueryOptions): Promise<QueryPlan>; plan(query: string, options?: QueryOptions): Promise<QueryPlan>; /** * Execute query * @param query query expression * @param data Data with variables * @param options query options * @returns Result of execution */ execute(query: Function, data?: any, options?: QueryOptions): Promise<any>; execute(query: string, data?: any, options?: QueryOptions): Promise<any>; /** * Execute query * @param query query expression * @param data Data with variables * @param options query options * @returns Result of execution */ executeQueued(query: Function, topic: string, data?: any, chunk?: number, options?: QueryOptions): Promise<string>; executeQueued(query: string, topic: string, data?: any, chunk?: number, options?: QueryOptions): Promise<string>; }