public void ConfigureServices(IServiceCollection services) { services.AddDbContext <NewbieContext>(ServiceLifetime.Transient); services.AddDbContextFactory <NewbieContext>(); services.AddLogging(b => { b.ClearProviders(); b.SetMinimumLevel(LogLevel.Trace); b.AddNLog(); // uses NLog.config? }); var hc = new HardcodedConfigure(); var factory = OsuApiClientFactory.CreateFactory(hc.ApiKey); services.AddSingleton <IHttpApiFactory <IOsuApiClient> >(factory); services.AddScoped <IOsuApiClient>(c => c.GetService <IHttpApiFactory <IOsuApiClient> >().CreateHttpApi()); services.AddTransient <QueryHelper>(); services.AddTransient(typeof(Lazy <>), typeof(LazyService <>)); services.AddSingleton <RandomNumberGenerator, RNGCryptoServiceProvider>(); services.AddMemoryCache(); services.AddTransient <IDataProvider, DataProvider>(); services.AddTransient <DataMaintainer>(); }
public void ConfigureServices(IServiceCollection services) { services.AddDbContext <NewbieContext>( optionsBuilder => optionsBuilder.UseMySql( Configuration.GetConnectionString("NewbieDatabase"), ServerVersion.Parse("5.7.36-mysql"), options => options.EnableRetryOnFailure()) .ConfigureWarnings(c => c.Log((RelationalEventId.CommandExecuting, LogLevel.Debug))) .ConfigureWarnings(c => c.Log((RelationalEventId.CommandExecuted, LogLevel.Debug))), ServiceLifetime.Transient); services.AddDbContextFactory <NewbieContext>( optionsBuilder => optionsBuilder.UseMySql( Configuration.GetConnectionString("NewbieDatabase"), ServerVersion.Parse("5.7.36-mysql"), options => options.EnableRetryOnFailure()) .ConfigureWarnings(c => c.Log((RelationalEventId.CommandExecuting, LogLevel.Debug))) .ConfigureWarnings(c => c.Log((RelationalEventId.CommandExecuted, LogLevel.Debug)))); services.AddLogging(b => { b.ClearProviders(); b.SetMinimumLevel(LogLevel.Trace); b.AddNLog(); // uses NLog.config? }); var factory = OsuApiClientFactory.CreateFactory(Configuration.GetSection("Hydrant")["ApiKey"]); services.AddSingleton <IHttpApiFactory <IOsuApiClient> >(factory); services.AddScoped <IOsuApiClient>(c => c.GetService <IHttpApiFactory <IOsuApiClient> >().CreateHttpApi()); services.AddTransient <QueryHelper>(); services.AddTransient(typeof(Lazy <>), typeof(LazyService <>)); services.AddSingleton(RandomNumberGenerator.Create()); services.AddMemoryCache(); services.AddTransient <IDataProvider, DataProvider>(); services.AddTransient <DataMaintainer>(); // Legacy services.AddTransient <INewbieDatabase, NewbieDatabase>(); services.AddTransient <ILegacyDataProvider, DataProvider>(sp => { var logger = sp.GetService <ILogger <ILegacyDataProvider> >(); var dbContext = sp.GetService <NewbieContext>(); var osuApiClient = sp.GetService <IOsuApiClient>(); var dataProvider = new DataProvider(dbContext, osuApiClient); dataProvider.OnException += e => logger.LogError(e, "{message}", e.Message); return(dataProvider); }); services.AddSingleton(OsuMixedApi.OsuApiClient.ClientUsingKey(Configuration.GetSection("Hydrant")["ApiKey"])); }
static async Task Main(string[] args) { System.Console.WriteLine("Please provide API Key."); string apiKey = System.Console.ReadLine(); var factory = OsuApiClientFactory.CreateFactory(new[] { "a", "b" }); IOsuApiClient osuApiClient = factory.CreateHttpApi(); var user = await osuApiClient.GetUser(6659067, Mode.Mania); var user2 = await osuApiClient.GetUser("bleatingsheep"); var beatmaps = await osuApiClient.GetBeatmaps(Mode.Mania, false, DateTime.Now - TimeSpan.FromDays(2), 100); var s = await osuApiClient.GetScores(1, Mode.Standard, 100); }
public static void SetApiKey(string apiKey) { OsuApi = OsuApiClient.ClientUsingKey(apiKey); s_osuApiFactory = OsuApiClientFactory.CreateFactory(apiKey); }