using Domain.Repository; using Microsoft.EntityFrameworkCore; using Persistence; using Persistence.Repositories; using Services; using Services.Abstractions; using Services.Profiles; var builder = WebApplication.CreateBuilder(args); var connectionString = builder.Configuration.GetConnectionString("Database"); builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddDbContextPool<RepositoryDbContext>(options => { options.UseNpgsql(connectionString); }); builder.Services.AddScoped<IRegionService, RegionService>(); builder.Services.AddScoped<ICityService, CityService>(); builder.Services.AddScoped<IStreetService, StreetService>(); builder.Services.AddScoped<IRegionRepository, RegionRepository>(); builder.Services.AddScoped<ICityRepository, CityRepository>(); builder.Services.AddScoped<IStreetRepository, StreetRepository>(); builder.Services.AddAutoMapper(typeof(MappingProfile)); var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers(); app.Run();