@mwcp/kmore
Version:
midway component for knex, supports declarative transaction and OpenTelemetry
32 lines • 1.44 kB
TypeScript
import { IMidwayContainer } from '@midwayjs/core';
import { type TraceService, TraceScopeType } from '@mwcp/otel';
import { Application, Context } from '@mwcp/share';
import type { Kmore, KmoreEvent, KmoreQueryBuilder } from 'kmore';
import { TrxStatusService } from './trx-status.service.js';
import { DbConfig } from './types.js';
export declare class DbEvent<SourceName extends string = string> {
private readonly sourceConfig;
readonly app: Application;
readonly applicationContext: IMidwayContainer;
readonly appDir: string;
readonly baseDir: string;
readonly trxStatusSvc: TrxStatusService;
readonly traceService: TraceService;
getDbConfigByDbId(dbId: SourceName): DbConfig | undefined;
getWebContext(): Context | undefined;
getWebContextThenApp(): Context | Application;
onStart(this: DbEvent, options: OnEventOptions): void;
onResp(this: DbEvent, options: OnEventOptions): void;
onQuery(this: DbEvent, options: OnEventOptions): void;
onError(this: DbEvent, options: OnEventOptions): Promise<void>;
retrieveTraceScope(kmore: Kmore, kmoreQueryId: symbol, builder: KmoreQueryBuilder): TraceScopeType;
protected getTrxTraceScopeByQueryId(db: Kmore, queryId: symbol): TraceScopeType | undefined;
}
interface OnEventOptions {
dataSourceName: string;
dbConfig: DbConfig;
event: KmoreEvent;
kmore: Kmore;
}
export {};
//# sourceMappingURL=db-event.d.ts.map