/// <summary> /// Initializes a new instance of the <see cref="RepositoryDatabase"/> class. /// </summary> /// <param name="settings">The settings.</param> public RepositoryDatabase(IRepoCatDbSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } MongoClient client = new MongoClient(settings.ConnectionString); this.database = client.GetDatabase(settings.DatabaseName); this.projects = this.database.GetCollection <ProjectInfo>(settings.ProjectsCollectionName); this.repositories = this.database.GetCollection <RepositoryInfo>(settings.RepositoriesCollectionName); this.ConfigureIndexes(); }
/// <summary> /// Initializes a new instance of the <see cref="RepositoryDatabase"/> class. /// </summary> /// <param name="settings">The settings.</param> public StatisticsDatabase(IRepoCatDbSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } MongoClient client = new MongoClient(settings.ConnectionString); IMongoDatabase database = client.GetDatabase(settings.DatabaseName); this.searchStatisticsCollection = database.GetCollection <SearchStatistics>(settings.SearchStatisticsCollectionName ?? nameof(SearchStatistics)); this.downloadsStatisticsCollection = database.GetCollection <DownloadStatistics>(settings.DownloadsStatisticsCollectionName ?? nameof(DownloadStatistics)); this.ConfigureIndexes(); }