using JsonFlatFileDataStore; using MongoDB.Driver; using mstdnCats.Models; namespace mstdnCats.Services { public class DbInitializer { public static Task> SetupJsonDb(string _dbname) { // Setup DB IDocumentCollection? collection = null; try { // Initialize Backup DB var store = new DataStore($"./data/{_dbname + "_BK"}.json", minifyJson: true); collection = store.GetCollection(); } catch { return Task.FromResult>(null); } // Return collection return Task.FromResult(collection); } public static Task> SetupDb(string mongoDbConnectionString, string dbName) { if (mongoDbConnectionString == null) { throw new Exception("MongoDb connection string is null"); } try { var client = new MongoClient(mongoDbConnectionString); var database = client.GetDatabase(dbName).GetCollection("posts"); return Task.FromResult(database); } catch (Exception ex) { throw new Exception("Error while connecting to MongoDB: " + ex.Message); } } } }