static async Task MainAsync(string[] args) { var repositoryUri = args[0]; // TODO: Configs are nice var databasePath = "/Users/loshar/Code/Drake/drake.db"; var repositoryStore = "/Users/loshar/Code/Drake/store"; var repositoryManager = new RepositoryManager(repositoryStore); var optionsBuilder = new DbContextOptionsBuilder <DrakeContext>(); optionsBuilder.UseSqlite($"Data Source={databasePath}"); using (var db = new DrakeContext(optionsBuilder.Options)) { var indexer = new Drake.Indexing.Indexer(db, repositoryManager); await indexer.Index(repositoryUri); } }
// TODO: Add logger public Indexer(DrakeContext db, RepositoryManager manager) { _db = db ?? throw new ArgumentNullException(nameof(db)); _repositoryManager = manager ?? throw new ArgumentNullException(nameof(manager)); }