source: resTools_backend/backend/Program.cs@ d76b7ee

Last change on this file since d76b7ee was 7a983b0, checked in by Danilo <danilo.najkov@…>, 2 years ago

move files

  • Property mode set to 100644
File size: 2.2 KB
Line 
1using backend.Data;
2using backend.Helpers;
3using backend.Services;
4using Microsoft.EntityFrameworkCore;
5using Microsoft.OpenApi.Models;
6using WebApi.Helpers;
7
8var builder = WebApplication.CreateBuilder(args);
9
10// Add services to the container.
11builder.Services.Configure<AppSettings>(builder.Configuration.GetSection("AppSettings"));
12builder.Services.AddControllers().AddNewtonsoftJson();
13// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
14builder.Services.AddEndpointsApiExplorer();
15builder.Services.AddSwaggerGen(c =>
16{
17 c.SwaggerDoc("v1", new OpenApiInfo() { Title = "resTools backend", Version = "v1" });
18 c.AddSecurityDefinition("Bearer",
19 new OpenApiSecurityScheme
20 {
21 In = Microsoft.OpenApi.Models.ParameterLocation.Header,
22 Description = "Please enter into field the word 'Bearer' following by space and JWT",
23 Name = "Authorization",
24 Type = Microsoft.OpenApi.Models.SecuritySchemeType.ApiKey,
25 Scheme="Bearer"
26 });
27 c.AddSecurityRequirement(new OpenApiSecurityRequirement()
28 {
29 {
30 new OpenApiSecurityScheme
31 {
32 Reference = new OpenApiReference
33 {
34 Type = ReferenceType.SecurityScheme,
35 Id = "Bearer"
36 },
37 Name = "Bearer",
38 In = ParameterLocation.Header,
39
40 },
41 new List<string>()
42 }
43 });
44});
45builder.Services.AddScoped<IUserService, UserService>();
46builder.Services.AddScoped<IRestaurantService, RestaurantService>();
47builder.Services.AddScoped<IReservationService, ReservationService>();
48builder.Services.AddScoped<ISmsService, SmsService>();
49
50builder.Services.AddDbContext<DataContext>(p => p.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection")));
51
52var app = builder.Build();
53
54app.UseCors(x => x
55 .AllowAnyOrigin()
56 .AllowAnyMethod()
57 .AllowAnyHeader());
58
59// custom jwt auth middleware
60app.UseMiddleware<JwtMiddleware>();
61
62// Configure the HTTP request pipeline.
63if (app.Environment.IsDevelopment())
64{
65 app.UseSwagger();
66 app.UseSwaggerUI();
67}
68
69app.UseHttpsRedirection();
70
71app.UseAuthorization();
72
73app.MapControllers();
74
75app.Run();
Note: See TracBrowser for help on using the repository browser.