feat(saas): implement marketplace and tenant onboarding

This commit is contained in:
2026-07-29 13:58:59 +08:00
parent 76606029e2
commit 6db200a2fc
145 changed files with 16862 additions and 94529 deletions

View File

@@ -7,6 +7,7 @@ using Npgsql;
using Tiku.Application.Security;
using Tiku.Domain.Identity;
using Tiku.Domain.Operations;
using Tiku.Domain.Platform;
using Tiku.Infrastructure.Persistence;
namespace Tiku.Infrastructure.Bootstrap;
@@ -110,6 +111,22 @@ public static class DevelopmentPlatformAdminSeeder
};
dbContext.Users.Add(user);
dbContext.PlatformBackendRoles.Add(role);
var platformModuleCodes = permissionCodes
.Select(PermissionModuleCatalog.ResolvePermissionModuleCode)
.Distinct(StringComparer.Ordinal)
.ToArray();
var existingModuleCodes = dbContext.PermissionModules
.Where(module => platformModuleCodes.Contains(module.Code))
.Select(module => module.Code)
.ToArray();
dbContext.PermissionModules.AddRange(platformModuleCodes
.Except(existingModuleCodes, StringComparer.Ordinal)
.Select(code => new PermissionModule
{
Code = code,
Name = code,
Area = BackendPermissionArea.Platform
}));
dbContext.BackendPermissions.AddRange(
permissionCodes
.Where(code => !existingPermissionCodes.Contains(code))
@@ -118,7 +135,7 @@ public static class DevelopmentPlatformAdminSeeder
Code = code,
Name = code,
Area = BackendPermissionArea.Platform,
Module = "platform",
PermissionModuleCode = PermissionModuleCatalog.ResolvePermissionModuleCode(code),
Description = "Built-in platform permission.",
IsSystem = true
}));