- Flatten nested per-repo folders into flat Musify.* projects at root - Rename assemblies/csproj: Domain->Musify.Domain, Application->Musify.Application, Infrastructure->Musify.Infrastructure, WebApi->Musify.Api, Worker->Musify.Worker, StreamingGateway->Musify.StreamingGateway - Rename WebApi.* namespaces to Musify.Api.* - Update all ProjectReference paths and the solution file - Consolidate stray per-repo dotfiles; add root .gitattributes - Move flutter client out to _archive
27 lines
1.1 KiB
C#
27 lines
1.1 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Options;
|
|
using Musify.Application.Contracts;
|
|
using Musify.Infrastructure.Configuration;
|
|
|
|
namespace Musify.Infrastructure.Persistence
|
|
{
|
|
public static class DatabaseDependencyInjection
|
|
{
|
|
public static IServiceCollection AddDatabase(this IServiceCollection serviceDescriptors, IConfiguration configuration)
|
|
{
|
|
serviceDescriptors
|
|
.AddOptionsWithValidateOnStart<DatabaseConfiguration>()
|
|
.Bind(configuration.GetRequiredSection(DatabaseConfiguration.SectionName))
|
|
.ValidateDataAnnotations();
|
|
|
|
serviceDescriptors.AddSingleton(serviceProvider =>
|
|
serviceProvider.GetRequiredService<IOptions<DatabaseConfiguration>>().Value);
|
|
|
|
serviceDescriptors.AddDbContext<Database>();
|
|
serviceDescriptors.AddScoped<IDatabase>(serviceProvider => serviceProvider.GetRequiredService<Database>());
|
|
|
|
return serviceDescriptors;
|
|
}
|
|
}
|
|
} |