32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Knot.Modules.Stories.Application.Abstractions;
|
|
using Knot.Modules.Stories.Infrastructure.External;
|
|
using Knot.Modules.Stories.Infrastructure.Persistence.Mongo;
|
|
using MongoDB.Driver;
|
|
using System.Net.Http;
|
|
|
|
namespace Knot.Modules.Stories;
|
|
|
|
public static class DependencyInjection
|
|
{
|
|
public static IServiceCollection AddStoriesModule(this IServiceCollection services, IConfiguration configuration)
|
|
{
|
|
services.AddScoped<IStoryRepository, StoryRepository>();
|
|
services.AddHttpClient<IKlipyClient, KlipyClient>();
|
|
|
|
var connectionString = configuration.GetConnectionString("DefaultConnection");
|
|
services.AddDbContext<Infrastructure.Database.StoriesDbContext>(options =>
|
|
options.UseNpgsql(connectionString));
|
|
|
|
// MongoDB configuration happens in StoriesMongoMapConfigurator (called in Program.cs when EncryptionService is ready, or we can just call it here)
|
|
StoriesMongoMapConfigurator.Configure();
|
|
|
|
services.AddMediatR(config =>
|
|
config.RegisterServicesFromAssembly(typeof(DependencyInjection).Assembly));
|
|
|
|
return services;
|
|
}
|
|
}
|