Skip to content

Commit 0a4bfaa

Browse files
chore: handle exports management in memory
1 parent 6aead2a commit 0a4bfaa

File tree

7 files changed

+203
-222
lines changed

7 files changed

+203
-222
lines changed

src/common/session.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ import {
1111
import { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
1212
import { ErrorCodes, MongoDBError } from "./errors.js";
1313
import { ObjectId } from "bson";
14-
import { SessionExportsManager } from "./sessionExportsManager.js";
14+
import { SessionExportsManager, SessionExportsManagerConfig } from "./sessionExportsManager.js";
1515
import { config } from "./config.js";
1616

1717
export interface SessionOptions {
1818
apiBaseUrl: string;
1919
apiClientId?: string;
2020
apiClientSecret?: string;
2121
connectionManager?: ConnectionManager;
22+
exportsManagerConfig?: SessionExportsManagerConfig;
2223
logger: CompositeLogger;
2324
}
2425

@@ -31,7 +32,7 @@ export type SessionEvents = {
3132

3233
export class Session extends EventEmitter<SessionEvents> {
3334
readonly sessionId = new ObjectId().toString();
34-
readonly exportsManager = new SessionExportsManager(this, config);
35+
readonly exportsManager: SessionExportsManager;
3536
connectionManager: ConnectionManager;
3637
apiClient: ApiClient;
3738
agentRunner?: {
@@ -41,7 +42,14 @@ export class Session extends EventEmitter<SessionEvents> {
4142

4243
public logger: CompositeLogger;
4344

44-
constructor({ apiBaseUrl, apiClientId, apiClientSecret, connectionManager, logger }: SessionOptions) {
45+
constructor({
46+
apiBaseUrl,
47+
apiClientId,
48+
apiClientSecret,
49+
connectionManager,
50+
logger,
51+
exportsManagerConfig,
52+
}: SessionOptions) {
4553
super();
4654

4755
this.logger = logger;
@@ -55,6 +63,7 @@ export class Session extends EventEmitter<SessionEvents> {
5563
: undefined;
5664

5765
this.apiClient = new ApiClient({ baseUrl: apiBaseUrl, credentials }, logger);
66+
this.exportsManager = new SessionExportsManager(this.sessionId, exportsManagerConfig ?? config);
5867

5968
this.connectionManager = connectionManager ?? new ConnectionManager();
6069
this.connectionManager.on("connection-succeeded", () => this.emit("connect"));

0 commit comments

Comments
 (0)