//public static ICoolBrainsServiceBuilder AddCosmosDbMongoDbProvider(this ICoolBrainsServiceBuilder builder) //{ // return AddCosmosDbMongoDbProvider(builder, opt => { }); //} public static ICoolBrainsServiceBuilder AddMongoDbProvider(this ICoolBrainsServiceBuilder builder, IConfiguration configuration) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } //if (setupAction == null) //{ // throw new ArgumentNullException(nameof(setupAction)); //} //builder.Services.Configure(setupAction); builder.Services.Configure <DbConnectionDetails>(configuration.GetSection("DbConnectionDetails")); //builder.Services.AddScoped<IRepository, ClassicMongoRepository>(); builder.Services.AddScoped <TenantSpecificDbConnectionBuilder>(); builder.Services.AddScoped <IRepository, TenantSpecificMongoRepository>(); builder.Services.AddScoped <IDomainStore, DomainStore>(); return(builder); }
public static ICoolBrainsServiceBuilder AddAuth(this ICoolBrainsServiceBuilder builder, IConfiguration configuration, Action <JwtBearerOptions> configureOptions = null, JwtBearerEvents bearerEvents = null) { builder.Services.AddScoped <UserContext>(); builder.Services.AddScoped <RequestInfo>(); builder.Services.AddTransient <IOauthAccessTokenGenerator, OauthAccessTokenGenerator>(); builder.Services.Configure <TokenConfig>(configuration.GetSection("TokenConfig")); builder.Services.AddJwtBearerAuthentication(configuration); return(builder); }
public static ICoolBrainsServiceBuilder AddRabbitMqProvider(this ICoolBrainsServiceBuilder builder, IConfiguration configuration) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddMassTransit(); builder.Services.Configure <RabbitConfig>(configuration.GetSection("RabbitConfig")) .AddScoped <IBusMessageDispatcher, BusMessageDispatcher>() .AddScoped <ITopicClient, TopicClient>() .AddScoped <IQueueClient, QueueClient>(); return(builder); }
public static void Start(this ICoolBrainsServiceBuilder builder) { Initialize(); _busControl.Start(); }
public static ICoolBrainsServiceBuilder Listen(this ICoolBrainsServiceBuilder builder, Action <IRabbitMqReceiveEndpointConfigurator> queueConfiguration = null) { _rabbitConfig = builder.Services.BuildServiceProvider().GetService <IOptions <RabbitConfig> >().Value; _queueConfigurations.Add(_rabbitConfig.QueueName, queueConfiguration); return(builder); }