UNPKG

ravendb

Version:
171 lines 11 kB
import { IDocumentSession } from "./Session/IDocumentSession.js"; import { IStoreAuthOptions } from "../Auth/AuthOptions.js"; import { SessionBeforeStoreEventArgs, SessionAfterSaveChangesEventArgs, SessionBeforeQueryEventArgs, SessionBeforeDeleteEventArgs, BeforeConversionToDocumentEventArgs, AfterConversionToDocumentEventArgs, BeforeConversionToEntityEventArgs, AfterConversionToEntityEventArgs, FailedRequestEventArgs, TopologyUpdatedEventArgs, BeforeRequestEventArgs, SucceedRequestEventArgs } from "./Session/SessionEvents.js"; import { IDisposable } from "../Types/Contracts.js"; import { MaintenanceOperationExecutor } from "./Operations/MaintenanceOperationExecutor.js"; import { OperationExecutor } from "./Operations/OperationExecutor.js"; import { RequestExecutor } from "../Http/RequestExecutor.js"; import { DocumentConventions } from "./Conventions/DocumentConventions.js"; import { InMemoryDocumentSessionOperations } from "./Session/InMemoryDocumentSessionOperations.js"; import { BulkInsertOperation } from "./BulkInsertOperation.js"; import { IDatabaseChanges } from "./Changes/IDatabaseChanges.js"; import { DocumentSubscriptions } from "./Subscriptions/DocumentSubscriptions.js"; import { SessionOptions } from "./Session/SessionOptions.js"; import { DatabaseSmuggler } from "./Smuggler/DatabaseSmuggler.js"; import { IAbstractIndexCreationTask } from "./Indexes/IAbstractIndexCreationTask.js"; import { TimeSeriesOperations } from "./TimeSeries/TimeSeriesOperations.js"; import { IHiLoIdGenerator } from "./Identity/IHiLoIdGenerator.js"; import { BulkInsertOptions } from "./BulkInsert/BulkInsertOptions.js"; import { AiOperations } from "./Operations/AI/AiOperations.js"; export interface SessionEventsProxy { addSessionListener(eventName: "failedRequest", eventHandler: (eventArgs: FailedRequestEventArgs) => void): this; addSessionListener(eventName: "beforeStore", eventHandler: (eventArgs: SessionBeforeStoreEventArgs) => void): this; addSessionListener(eventName: "afterSaveChanges", eventHandler: (eventArgs: SessionAfterSaveChangesEventArgs) => void): this; addSessionListener(eventName: "beforeQuery", eventHandler: (eventArgs: SessionBeforeQueryEventArgs) => void): this; addSessionListener(eventName: "beforeDelete", eventHandler: (eventArgs: SessionBeforeDeleteEventArgs) => void): this; addSessionListener(eventName: "beforeConversionToDocument", eventHandler: (eventArgs: BeforeConversionToDocumentEventArgs) => void): this; addSessionListener(eventName: "afterConversionToDocument", eventHandler: (eventArgs: AfterConversionToDocumentEventArgs) => void): this; addSessionListener(eventName: "beforeConversionToEntity", eventHandler: (eventArgs: BeforeConversionToEntityEventArgs) => void): this; addSessionListener(eventName: "afterConversionToEntity", eventHandler: (eventArgs: AfterConversionToEntityEventArgs) => void): this; removeSessionListener(eventName: "failedRequest", eventHandler: (eventArgs: FailedRequestEventArgs) => void): void; removeSessionListener(eventName: "beforeStore", eventHandler: (eventArgs: SessionBeforeStoreEventArgs) => void): void; removeSessionListener(eventName: "afterSaveChanges", eventHandler: (eventArgs: SessionAfterSaveChangesEventArgs) => void): void; removeSessionListener(eventName: "beforeQuery", eventHandler: (eventArgs: SessionBeforeQueryEventArgs) => void): void; removeSessionListener(eventName: "beforeDelete", eventHandler: (eventArgs: SessionBeforeDeleteEventArgs) => void): void; removeSessionListener(eventName: "beforeConversionToDocument", eventHandler: (eventArgs: BeforeConversionToDocumentEventArgs) => void): void; removeSessionListener(eventName: "afterConversionToDocument", eventHandler: (eventArgs: AfterConversionToDocumentEventArgs) => void): void; removeSessionListener(eventName: "beforeConversionToEntity", eventHandler: (eventArgs: BeforeConversionToEntityEventArgs) => void): void; removeSessionListener(eventName: "afterConversionToEntity", eventHandler: (eventArgs: AfterConversionToEntityEventArgs) => void): void; } export type DocumentStoreEvent = "beforeDispose" | "afterDispose"; export interface SessionCreatedEventArgs { session: InMemoryDocumentSessionOperations; } export interface SessionDisposingEventArgs { session: InMemoryDocumentSessionOperations; } export interface DocumentStoreEventEmitter { on(eventName: "beforeRequest", eventHandler: (args: BeforeRequestEventArgs) => void): this; on(eventName: "succeedRequest", eventHandler: (args: SucceedRequestEventArgs) => void): this; on(eventName: "failedRequest", eventHandler: (args: FailedRequestEventArgs) => void): this; on(eventName: "sessionCreated", eventHandler: (args: SessionCreatedEventArgs) => void): this; on(eventName: "beforeDispose", eventHandler: () => void): this; on(eventName: "afterDispose", eventHandler: (callback: () => void) => void): this; on(eventName: "executorsDisposed", eventHandler: (callback: () => void) => void): this; once(eventName: "beforeRequest", eventHandler: (args: BeforeRequestEventArgs) => void): this; once(eventName: "succeedRequest", eventHandler: (args: SucceedRequestEventArgs) => void): this; once(eventName: "failedRequest", eventHandler: (args: FailedRequestEventArgs) => void): this; once(eventName: "sessionCreated", eventHandler: (args: SessionCreatedEventArgs) => void): this; once(eventName: "beforeDispose", eventHandler: () => void): this; once(eventName: "afterDispose", eventHandler: (callback: () => void) => void): this; once(eventName: "executorsDisposed", eventHandler: (callback: () => void) => void): this; removeListener(eventName: "beforeRequest", eventHandler: (args: BeforeRequestEventArgs) => void): this; removeListener(eventName: "succeedRequest", eventHandler: (args: SucceedRequestEventArgs) => void): this; removeListener(eventName: "failedRequest", eventHandler: (args: FailedRequestEventArgs) => void): this; removeListener(eventName: "sessionCreated", eventHandler: (args: SessionCreatedEventArgs) => void): void; removeListener(eventName: "beforeDispose", eventHandler: () => void): void; removeListener(eventName: "afterDispose", eventHandler: (callback: () => void) => void): void; removeListener(eventName: "executorsDisposed", eventHandler: (callback: () => void) => void): void; } export interface IDocumentStore extends IDisposable, SessionEventsProxy, DocumentStoreEventEmitter { /** * Opens document session */ openSession(options: SessionOptions): IDocumentSession; /** * Opens document session */ openSession(database: string): IDocumentSession; /** * Opens document session */ openSession(): IDocumentSession; /** * Subscribe to change notifications from the server */ changes(): IDatabaseChanges; /** * Subscribe to change notifications from the server */ changes(database: string): IDatabaseChanges; /** * Subscribe to change notifications from the server */ changes(database: string, nodeTag: string): IDatabaseChanges; /** * Setup the context for no aggressive caching * * This is mainly useful for internal use inside RavenDB, when we are executing * queries that have been marked with WaitForNonStaleResults, we temporarily disable * aggressive caching. */ /** * Setup the context for no aggressive caching * * This is mainly useful for internal use inside RavenDB, when we are executing * queries that have been marked with WaitForNonStaleResults, we temporarily disable * aggressive caching. */ identifier: string; /** * Initializes this instance. */ initialize(): IDocumentStore; /** * Executes the index creation */ executeIndex(task: IAbstractIndexCreationTask): Promise<void>; /** * Executes the index creation */ executeIndex(task: IAbstractIndexCreationTask, database: string): Promise<void>; /** * Executes the index creation */ executeIndexes(tasks: IAbstractIndexCreationTask[]): Promise<void>; /** * Executes the index creation */ executeIndexes(tasks: IAbstractIndexCreationTask[], database: string): Promise<void>; /** * Contains authentication information: client certificate data; */ authOptions: IStoreAuthOptions; hiLoIdGenerator: IHiLoIdGenerator; timeSeries: TimeSeriesOperations; ai: AiOperations; /** * Gets the conventions */ conventions: DocumentConventions; /** * Gets the URLs */ urls: string[]; bulkInsert(): BulkInsertOperation; bulkInsert(database: string): BulkInsertOperation; bulkInsert(database: string, options: BulkInsertOptions): BulkInsertOperation; bulkInsert(options: BulkInsertOptions): BulkInsertOperation; subscriptions: DocumentSubscriptions; database: string; getRequestExecutor(databaseName?: string): RequestExecutor; maintenance: MaintenanceOperationExecutor; operations: OperationExecutor; smuggler: DatabaseSmuggler; requestTimeout(timeoutInMs: number): IDisposable; requestTimeout(timeoutInMs: number, database: string): IDisposable; addSessionListener(eventName: "sessionDisposing", eventHandler: (args: SessionDisposingEventArgs) => void): this; addSessionListener(eventName: "topologyUpdated", eventHandler: (args: TopologyUpdatedEventArgs) => void): this; addSessionListener(eventName: "succeedRequest", eventHandler: (args: SucceedRequestEventArgs) => void): this; addSessionListener(eventName: "beforeRequest", eventHandler: (args: BeforeRequestEventArgs) => void): this; addSessionListener(eventName: "failedRequest", eventHandler: (args: FailedRequestEventArgs) => void): this; addSessionListener(eventName: "beforeStore", eventHandler: (eventArgs: SessionBeforeStoreEventArgs) => void): this; addSessionListener(eventName: "afterSaveChanges", eventHandler: (eventArgs: SessionAfterSaveChangesEventArgs) => void): this; addSessionListener(eventName: "beforeQuery", eventHandler: (eventArgs: SessionBeforeQueryEventArgs) => void): this; addSessionListener(eventName: "beforeDelete", eventHandler: (eventArgs: SessionBeforeDeleteEventArgs) => void): this; addSessionListener(eventName: "beforeConversionToDocument", eventHandler: (eventArgs: BeforeConversionToDocumentEventArgs) => void): this; addSessionListener(eventName: "afterConversionToDocument", eventHandler: (eventArgs: AfterConversionToDocumentEventArgs) => void): this; addSessionListener(eventName: "beforeConversionToEntity", eventHandler: (eventArgs: BeforeConversionToEntityEventArgs) => void): this; addSessionListener(eventName: "afterConversionToEntity", eventHandler: (eventArgs: AfterConversionToEntityEventArgs) => void): this; } //# sourceMappingURL=IDocumentStore.d.ts.map