Files
tiku-backend.net/Tiku.Api/Configuration/ApiPresentationExtensions.cs
xiong 33375a38d7
Some checks failed
ci / release-gate (push) Has been cancelled
refactor(architecture): harden module boundaries
2026-08-04 12:10:36 +08:00

38 lines
1.5 KiB
C#

using System.Text.Json.Serialization;
using Tiku.Api.Controllers;
using Tiku.Api.OpenApi;
using Tiku.Api.Security;
namespace Tiku.Api.Configuration;
internal static class ApiPresentationExtensions
{
internal static IServiceCollection AddApiPresentation(this IServiceCollection services)
{
services.AddControllers(options =>
options.Conventions.Add(new EndpointAuthorizationMetadataConvention()))
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});
services.AddOpenApi(options =>
{
options.AddDocumentTransformer<BearerSecuritySchemeTransformer>();
options.AddOperationTransformer<PlatformOperationMetadataTransformer>();
options.AddOperationTransformer<AuthenticationOperationTagsTransformer>();
});
services.AddProblemDetails();
services.AddScoped<TenantAdminActorResolver>();
services.AddScoped<DirectContentActorResolver>();
services.AddScoped<TenantContentCapabilitySet>();
services.AddScoped<CommerceAdminActorResolver>();
services.AddScoped<CommerceRequestContextResolver>();
services.AddScoped<LearningActorResolver>();
services.AddScoped<PlatformAdminActorResolver>();
services.AddScoped<AuthRequestContextResolver>();
services.AddScoped<AuthCapabilitySet>();
return services;
}
}