Skip to content

ambiten


ambiten / core / AmbitenClient

Class: AmbitenClient

Defined in: packages/core/src/lib-core/ambitenClient.ts:38

AmbitenClient is a MongoDB client wrapper that provides a simplified interface for connecting to and interacting with MongoDB databases.

Implements

Constructors

Constructor

new AmbitenClient(_opts): AmbitenClient

Defined in: packages/core/src/lib-core/ambitenClient.ts:51

Parameters

_opts

AmbitenClientConfig

Returns

AmbitenClient

Methods

client()

client(ctx?): Promise<MongoClient>

Defined in: packages/core/src/lib-core/ambitenClient.ts:210

Parameters

ctx?

ModelContext

Returns

Promise<MongoClient>

Implementation of

BootstrapClient.client


close()

close(): Promise<void>

Defined in: packages/core/src/lib-core/ambitenClient.ts:639

Returns

Promise<void>

Implementation of

BootstrapClient.close


collection()

collection<T>(collectionName, ctx?): Promise<Collection<T>>

Defined in: packages/core/src/lib-core/ambitenClient.ts:258

Type Parameters

T

T extends Document = Document

Parameters

collectionName

string

ctx?

ModelContext

Returns

Promise<Collection<T>>

Implementation of

BootstrapClient.collection


connect()

connect(): Promise<AmbitenClient>

Defined in: packages/core/src/lib-core/ambitenClient.ts:195

Returns

Promise<AmbitenClient>

Implementation of

BootstrapClient.connect


db()

db(ctx?): Promise<Db>

Defined in: packages/core/src/lib-core/ambitenClient.ts:108

Resolution order:

  1. explicit ctx.db
  2. tenant-aware db resolution
  3. explicit ctx.dbName on base client
  4. mutable override dbName
  5. default dbName

Parameters

ctx?

ModelContext

Returns

Promise<Db>

Implementation of

BootstrapClient.db


disconnect()

disconnect(): Promise<void>

Defined in: packages/core/src/lib-core/ambitenClient.ts:651

Returns

Promise<void>


dropCollection()

dropCollection(collectionName?, ctx?): Promise<void>

Defined in: packages/core/src/lib-core/ambitenClient.ts:580

Parameters

collectionName?

string

ctx?

ModelContext

Returns

Promise<void>


dropDatabase()

dropDatabase(ctx?): Promise<boolean>

Defined in: packages/core/src/lib-core/ambitenClient.ts:618

Parameters

ctx?

ModelContext

Returns

Promise<boolean>


getClusterInfo()

getClusterInfo(): Promise<ClusterInfo>

Defined in: packages/core/src/lib-core/ambitenClient.ts:279

Returns

Promise<ClusterInfo>


getCollection()

getCollection<T>(collectionName, ctx?): Promise<Collection<T>>

Defined in: packages/core/src/lib-core/ambitenClient.ts:266

Type Parameters

T

T extends Document

Parameters

collectionName

string

ctx?

ModelContext

Returns

Promise<Collection<T>>


isConnected()

isConnected(): boolean

Defined in: packages/core/src/lib-core/ambitenClient.ts:655

Returns

boolean


resetDatabase()

resetDatabase(): void

Defined in: packages/core/src/lib-core/ambitenClient.ts:571

Returns

void


startSession()

startSession(ctx?): Promise<ClientSession>

Defined in: packages/core/src/lib-core/ambitenClient.ts:575

Parameters

ctx?

ModelContext

Returns

Promise<ClientSession>

Implementation of

BootstrapClient.startSession


useCollection()

useCollection(collectionName): Promise<Collection<any>>

Defined in: packages/core/src/lib-core/ambitenClient.ts:236

Parameters

collectionName

string

Returns

Promise<Collection<any>>


useDatabase()

useDatabase(dbName): Promise<{ client: MongoClient; db: Db; }>

Defined in: packages/core/src/lib-core/ambitenClient.ts:340

Mutable legacy helper. Prefer withDatabase() or withScope() in request-safe flows.

Parameters

dbName

string

Returns

Promise<{ client: MongoClient; db: Db; }>


validateUri()

validateUri(uri): void

Defined in: packages/core/src/lib-core/ambitenClient.ts:163

Parameters

uri

string

Returns

void


withContext()

withContext<R>(context, callback): Promise<R>

Defined in: packages/core/src/lib-core/ambitenClient.ts:460

Type Parameters

R

R

Parameters

context
collectionName?

string

dbName?

string

requestId?

string

session?

ClientSession

tenantId?

string

callback

() => Promise<R>

Returns

Promise<R>


withDatabase()

withDatabase(dbName): BootstrapClient

Defined in: packages/core/src/lib-core/ambitenClient.ts:354

Parameters

dbName

string

Returns

BootstrapClient


withScope()

withScope(scope): BootstrapClient

Defined in: packages/core/src/lib-core/ambitenClient.ts:527

Parameters

scope
dbName?

string

tenantId?

string

Returns

BootstrapClient


withTenant()

withTenant(tenantId): BootstrapClient

Defined in: packages/core/src/lib-core/ambitenClient.ts:499

Parameters

tenantId

string

Returns

BootstrapClient


db()

static db(ctx?): Promise<Db>

Defined in: packages/core/src/lib-core/ambitenClient.ts:159

Parameters

ctx?

ModelContext

Returns

Promise<Db>


handleLogBatch()

static handleLogBatch(batch, transporter?): Promise<void>

Defined in: packages/core/src/lib-core/ambitenClient.ts:669

Parameters

batch

(TopologyOpeningEvent | TopologyClosedEvent)[]

transporter?

Pick<Transporter, "write">

Returns

Promise<void>


handleTopologyEvent()

static handleTopologyEvent(event): void

Defined in: packages/core/src/lib-core/ambitenClient.ts:659

Parameters

event

TopologyOpeningEvent | TopologyClosedEvent

Returns

void


init()

static init(opts?): AmbitenClient

Defined in: packages/core/src/lib-core/ambitenClient.ts:69

Parameters

opts?

Partial<AmbitenClientConfig>

Returns

AmbitenClient


resolveRuntime()

static resolveRuntime(): Promise<{ db: Db; session: ClientSession | undefined; }>

Defined in: packages/core/src/lib-core/ambitenClient.ts:316

Resolves database + session + runtime binding

Returns

Promise<{ db: Db; session: ClientSession | undefined; }>

Context-aware execution infrastructure for multi-tenant systems.