@@ -11,14 +11,15 @@ import {
11
11
import { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver" ;
12
12
import { ErrorCodes , MongoDBError } from "./errors.js" ;
13
13
import { ObjectId } from "bson" ;
14
- import { SessionExportsManager } from "./sessionExportsManager.js" ;
14
+ import { SessionExportsManager , SessionExportsManagerConfig } from "./sessionExportsManager.js" ;
15
15
import { config } from "./config.js" ;
16
16
17
17
export interface SessionOptions {
18
18
apiBaseUrl : string ;
19
19
apiClientId ?: string ;
20
20
apiClientSecret ?: string ;
21
21
connectionManager ?: ConnectionManager ;
22
+ exportsManagerConfig ?: SessionExportsManagerConfig ;
22
23
logger : CompositeLogger ;
23
24
}
24
25
@@ -31,7 +32,7 @@ export type SessionEvents = {
31
32
32
33
export class Session extends EventEmitter < SessionEvents > {
33
34
readonly sessionId = new ObjectId ( ) . toString ( ) ;
34
- readonly exportsManager = new SessionExportsManager ( this , config ) ;
35
+ readonly exportsManager : SessionExportsManager ;
35
36
connectionManager : ConnectionManager ;
36
37
apiClient : ApiClient ;
37
38
agentRunner ?: {
@@ -41,7 +42,14 @@ export class Session extends EventEmitter<SessionEvents> {
41
42
42
43
public logger : CompositeLogger ;
43
44
44
- constructor ( { apiBaseUrl, apiClientId, apiClientSecret, connectionManager, logger } : SessionOptions ) {
45
+ constructor ( {
46
+ apiBaseUrl,
47
+ apiClientId,
48
+ apiClientSecret,
49
+ connectionManager,
50
+ logger,
51
+ exportsManagerConfig,
52
+ } : SessionOptions ) {
45
53
super ( ) ;
46
54
47
55
this . logger = logger ;
@@ -55,6 +63,7 @@ export class Session extends EventEmitter<SessionEvents> {
55
63
: undefined ;
56
64
57
65
this . apiClient = new ApiClient ( { baseUrl : apiBaseUrl , credentials } , logger ) ;
66
+ this . exportsManager = new SessionExportsManager ( this . sessionId , exportsManagerConfig ?? config ) ;
58
67
59
68
this . connectionManager = connectionManager ?? new ConnectionManager ( ) ;
60
69
this . connectionManager . on ( "connection-succeeded" , ( ) => this . emit ( "connect" ) ) ;
0 commit comments