using Bunny.WebApi.Configuration;
using IGeekFan.AspNetCore.Knife4jUI;

namespace Bunny.WebApi;

public class Program
{
    public static void Main(string[] args)
    {
        Console.Title = "Bunny ServerTemplate";
        var builder = WebApplication.CreateBuilder(args);

        // 基础配置
        var baseConfig = new BaseConfig(builder);
        baseConfig.Initialize();
        var app = builder.Build();

        if (app.Environment.IsDevelopment())
        {
            app.UseSwagger();
            app.UseSwaggerUI();

            app.UseKnife4UI(options =>
            {
                options.RoutePrefix = "bunnyDocs"; // 后端服务文档基础路径
                options.DocumentTitle = "Bunny 文档";
                options.SwaggerEndpoint("//swagger/v1/swagger.json", "Bunny 文档");
            });
        }

        // 跨域配置
        app.UseCors();

        // 身份验证
        app.UseAuthentication();

        // 授权
        app.UseAuthorization();
        app.MapControllers();
        app.UseRouting();

        app.Run();
    }
}