forked from gongxuegit/tiku-backend.net
feat: modularize external providers
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# TIKU Backend
|
||||
|
||||
题库 SaaS 正式后端。项目正在从旧 PocketBase / Supabase / Nest 方案迁到更可控的 ASP.NET Core + PostgreSQL 架构。本仓库是后续开发的唯一目标后端,架构决策见 [`docs/adr/0001-authoritative-dotnet-backend.md`](docs/adr/0001-authoritative-dotnet-backend.md)。
|
||||
题库 SaaS 正式后端。项目已从旧 PocketBase / Supabase / Nest 方案收敛到 ASP.NET Core + PostgreSQL 架构。本仓库是后续开发的唯一目标后端,架构决策见 [`docs/adr/0001-authoritative-dotnet-backend.md`](docs/adr/0001-authoritative-dotnet-backend.md)。
|
||||
|
||||
当前判断很明确:现在团队已经有后端开发,继续把核心认证、权限、多租户隔离、业务一致性交给 BaaS 规则,会让复杂度藏在平台、SQL policy 和前端约定之间。新后端把这些东西收回应用层和数据库约束里,开发、排查、审计都会更直接。
|
||||
|
||||
@@ -74,12 +74,13 @@ Tiku.IntegrationTests # API / EF 模型集成测试
|
||||
|
||||
### 5. 资源存储不绑 Supabase
|
||||
|
||||
旧版资源层实际使用 Node `ali-oss`。新后端按这个方向迁移到 `AlibabaCloud.OSS.V2`:
|
||||
旧版资源层实际使用 Node `ali-oss`。新后端已经按这个方向迁移到 `AlibabaCloud.OSS.V2`:
|
||||
|
||||
- Application 只依赖 `IObjectStorageService`。
|
||||
- Infrastructure 收敛阿里云 OSS SDK 细节。
|
||||
- 租户外部服务统一通过 `TenantExternalProvider` + `TenantSecret` 配置。
|
||||
- 对象 key 默认要求租户前缀,避免资源混放。
|
||||
- 上传签名前校验 MIME、大小和 provider。
|
||||
- 上传签名前校验 MIME、大小和租户对象存储 provider。
|
||||
- 下载/预览必须先过业务授权,再签发临时 URL。
|
||||
- OSS HEAD metadata 用于上传确认、大小/MIME/ETag/安全扫描校验。
|
||||
|
||||
@@ -90,7 +91,7 @@ Tiku.IntegrationTests # API / EF 模型集成测试
|
||||
数据库模型迁移已经完成到 greenfield 初始 schema:
|
||||
|
||||
```text
|
||||
Tiku.Infrastructure/Persistence/Migrations/20260727084726_InitialSchema.cs
|
||||
Tiku.Infrastructure/Persistence/Migrations/20260727093301_InitialSchema.cs
|
||||
```
|
||||
|
||||
当前 EF 模型覆盖:
|
||||
|
||||
Reference in New Issue
Block a user