using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Infrastructure.Data;
using Application.Contracts.Interfaces;
using Infrastructure.Repositories;

namespace Infrastructure
{
    public static class DependencyInjection
    {
        public static IServiceCollection AddInfrastructureServices(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddDbContext<HealthcareManagerContext>(options =>
                options.UseNpgsql(configuration.GetConnectionString("HealthcareManagerDatabase")));


            services.AddScoped<IPacientRepository, PacientRepository>();
            services.AddScoped<IDoctorRepository, DoctorRepository>();
            services.AddScoped<IMedicalHistoryRepository, MedicalHistoryRepository>();

            // services.AddScoped<IEmailService, EmailService>();

            return services;
        }
    }
}
