You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.7 KiB
84 lines
2.7 KiB
using DTO;
|
|
using Shared;
|
|
using StubApi;
|
|
using Contextlib;
|
|
using Entity;
|
|
using StubbedContextLib;
|
|
using ServicesApi;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
//API
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
builder.Services.AddScoped<IUserService<UserDTO>, UserService>();
|
|
builder.Services.AddScoped<IQuoteService<QuoteDTO>, QuoteService>();
|
|
builder.Services.AddScoped<IFavoriteService<QuoteDTO>, FavoriteService>();
|
|
builder.Services.AddScoped<ICommentaryService<CommentaryDTO>, CommentaryService>();
|
|
builder.Services.AddScoped<ICharacterService<CharacterDTO>, CharacterService>();
|
|
builder.Services.AddScoped<IImagesService<ImageDTO>, ImageService>();
|
|
builder.Services.AddScoped<ISourceService<SourceDTO>, SourceService>();
|
|
builder.Services.AddScoped<IQuestionService<QuestionDTO>, QuestionService>();
|
|
|
|
|
|
//EF
|
|
builder.Services.AddScoped<WTFContext, StubWTFContext>();
|
|
|
|
|
|
builder.Services.AddScoped<IUserService<Users>, DbUsersManager>();
|
|
builder.Services.AddScoped<IQuoteService<Quote>, DbQuoteManager>();
|
|
builder.Services.AddScoped<IFavoriteService<Quote>, DbFavoriteManager>();
|
|
builder.Services.AddScoped<ICommentaryService<Commentary>, DbCommentaryManager>();
|
|
builder.Services.AddScoped<ICharacterService<Character>, DbCharacterManager>();
|
|
builder.Services.AddScoped<IImagesService<Images>, DbImagesManager>();
|
|
builder.Services.AddScoped<ISourceService<Source>, DbSourceManager>();
|
|
builder.Services.AddScoped<IQuestionService<Question>, DbQuestionManager>();
|
|
//...
|
|
|
|
// Add services to the container.
|
|
|
|
builder.Services.AddControllers();
|
|
builder.Services.AddOpenApiDocument(options => {
|
|
options.PostProcess = document =>
|
|
{
|
|
document.Info = new NSwag.OpenApiInfo
|
|
{
|
|
Version = "v1",
|
|
Title = "What The Fantasy's API",
|
|
Description = "What The Fantasy Site API",
|
|
TermsOfService = "",
|
|
Contact = new NSwag.OpenApiContact
|
|
{
|
|
Name = "The PM Mobile What The Fantasy team",
|
|
Url = ""
|
|
},
|
|
License = new NSwag.OpenApiLicense
|
|
{
|
|
Name = "No license",
|
|
Url = "https://license.fr"
|
|
}
|
|
};
|
|
};
|
|
});
|
|
|
|
|
|
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
|
builder.Services.AddEndpointsApiExplorer();
|
|
builder.Services.AddSwaggerGen();
|
|
|
|
var app = builder.Build();
|
|
|
|
// Configure the HTTP request pipeline.
|
|
if (app.Environment.IsDevelopment())
|
|
{
|
|
app.UseOpenApi(); // Active la documentation OpenAPI
|
|
app.UseSwaggerUI();
|
|
}
|
|
|
|
app.UseHttpsRedirection();
|
|
|
|
app.UseAuthorization();
|
|
|
|
app.MapControllers();
|
|
|
|
app.Run();
|