connectAllProvidedDBs method

Future<Db?> connectAllProvidedDBs({
  1. required dynamic setMemoryController(
    1. MemoryDbController
    ),
  2. required dynamic setMongoDb(
    1. Db
    ),
})

Implementation

Future<Db?> connectAllProvidedDBs({
  required Function(MemoryDbController) setMemoryController,
  required Function(Db) setMongoDb,
}) async {
  Db? db;
  //? trying to connect to mongodb if exist
  if (_app.dbSettings.mongoDBProvider != null) {
    MongoDbConnLink mongoDbConnLink =
        _app.dbSettings.mongoDBProvider!.connLink;
    MongoDbConnect mongoDbConnect =
        MongoDbConnect(mongoDbConnLink, _app.appName);
    db = await mongoDbConnect.connect();
    // setting the app _db because the app depends on it
    if (db != null) {
      setMongoDb(db);
    }
  }

  //? trying to connect to memory db if exist
  if (_app.dbSettings.memoryDBProvider != null) {
    var memoryDb = _app.dbSettings.memoryDBProvider!.memoryDb;
    MemoryDbConnect memoryDbConnect = MemoryDbConnect(memoryDb);
    await memoryDbConnect.connect();
    setMemoryController(MemoryDbController(memoryDb));
  }
  return db;
}