feat: add platform public question bank workspace

This commit is contained in:
2026-07-30 12:18:14 +08:00
parent bf370605d4
commit 96c20a3b1d
17 changed files with 22100 additions and 212 deletions

View File

@@ -1,5 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Tiku.Application.Security;
using Tiku.Domain.Common;
using Tiku.Domain.Operations;
using Tiku.Domain.Platform;
using Tiku.Domain.Tenancy;
@@ -124,6 +125,21 @@ public sealed class BuiltinBackofficeCatalogSeeder(TikuDbContext dbContext)
public async Task SeedAsync(CancellationToken cancellationToken = default)
{
var platformOwnedTenant = await dbContext.Tenants
.SingleOrDefaultAsync(item => item.Mode == TenantMode.PlatformOwned, cancellationToken);
if (platformOwnedTenant is null)
{
dbContext.Tenants.Add(new Tenant
{
Slug = "platform-public-content",
Name = "平台公共内容",
Status = TenantStatus.Active,
Mode = TenantMode.PlatformOwned,
BillingStatus = BillingStatus.Active,
Metadata = JsonDefaults.Object()
});
}
var featureCodes = Features.Select(item => item.Code).ToArray();
var existingFeatureCodes = await dbContext.SaasFeatures.AsNoTracking()
.Where(item => featureCodes.Contains(item.Code))