diff --git a/packages/federation-sdk/src/index.ts b/packages/federation-sdk/src/index.ts index fa5ac504..fa335fb5 100644 --- a/packages/federation-sdk/src/index.ts +++ b/packages/federation-sdk/src/index.ts @@ -144,7 +144,6 @@ export async function init({ emitter?: Emitter; dbConfig: { uri: string; - name: string; poolSize: number; }; }) { diff --git a/packages/federation-sdk/src/services/database-connection.service.ts b/packages/federation-sdk/src/services/database-connection.service.ts index 17a4cc0e..b0e905c3 100644 --- a/packages/federation-sdk/src/services/database-connection.service.ts +++ b/packages/federation-sdk/src/services/database-connection.service.ts @@ -7,9 +7,7 @@ export class DatabaseConnectionService { private connectionPromise: Promise | null = null; private readonly logger = createLogger('DatabaseConnectionService'); - constructor( - private readonly config: { uri: string; name: string; poolSize: number }, - ) { + constructor(private readonly config: { uri: string; poolSize: number }) { this.connect().catch((err) => this.logger.error({ msg: 'Initial database connection failed', err }), ); @@ -47,8 +45,15 @@ export class DatabaseConnectionService { this.client = new MongoClient(dbConfig.uri, options); this.client.connect(); - this.db = this.client.db(dbConfig.name); - this.logger.info(`Connected to MongoDB database: ${dbConfig.name}`); + const dbName = this.client.options.dbName; + if (!dbName) { + throw new Error( + "Can't get database name from MongoDB connection string", + ); + } + + this.db = this.client.db(dbName); + this.logger.info(`Connected to MongoDB database: ${dbName}`); resolve(); } catch (error: unknown) { diff --git a/packages/homeserver/src/homeserver.module.ts b/packages/homeserver/src/homeserver.module.ts index 179ab50c..51f93d53 100644 --- a/packages/homeserver/src/homeserver.module.ts +++ b/packages/homeserver/src/homeserver.module.ts @@ -39,8 +39,7 @@ export async function setup() { await init({ dbConfig: { - uri: process.env.MONGODB_URI || 'mongodb://localhost:27017/matrix', - name: process.env.DATABASE_NAME || 'matrix', + uri: process.env.MONGO_URL || 'mongodb://localhost:27017/matrix', poolSize: Number.parseInt(process.env.DATABASE_POOL_SIZE || '10', 10), }, });