feat: add aliyun oss storage foundation

This commit is contained in:
xiong
2026-07-26 14:43:04 +08:00
parent 47613b51bd
commit c6051f95f2
13 changed files with 969 additions and 0 deletions

View File

@@ -5,12 +5,14 @@ using Tiku.Application.Auth;
using Tiku.Application.Catalog;
using Tiku.Application.Content;
using Tiku.Application.QuestionBanks;
using Tiku.Application.Storage;
using Tiku.Application.StudyContent;
using Tiku.Infrastructure.Auth;
using Tiku.Infrastructure.Catalog;
using Tiku.Infrastructure.Content;
using Tiku.Infrastructure.Persistence;
using Tiku.Infrastructure.QuestionBanks;
using Tiku.Infrastructure.Storage;
using Tiku.Infrastructure.StudyContent;
namespace Tiku.Infrastructure;
@@ -40,6 +42,15 @@ public static class DependencyInjection
services.AddScoped<IContentNavigationQueryService, ContentNavigationQueryService>();
services.AddScoped<IQuestionBankQueryService, QuestionBankQueryService>();
services.AddScoped<IStudyContentQueryService, StudyContentQueryService>();
services.AddOptions<AliyunOssOptions>()
.Validate(
AliyunOssOptions.BeValid,
"Aliyun OSS presign default expiration must be positive.");
services.AddOptions<ObjectStorageOptions>()
.Validate(
ObjectStorageOptions.BeValid,
"Storage options must include a default provider, default bucket and positive max upload bytes.");
services.AddSingleton<IObjectStorageService, AliyunOssObjectStorageService>();
return services;
}