Browse Source

feat(seed): host-specific menus must not be preset in tenants

pull/324/head
cKey 4 years ago
parent
commit
d2933c25ee
  1. 184
      aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/DataSeeder/VbenAdminDataSeedContributor.cs

184
aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/DataSeeder/VbenAdminDataSeedContributor.cs

@ -54,16 +54,21 @@ namespace LINGYUN.Platform.DataSeeder
await SeedDashboardMenuAsync(layout, layoutData); await SeedDashboardMenuAsync(layout, layoutData);
// 管理菜单 // 管理菜单
await SeedManageMenuAsync(layout, layoutData); await SeedManageMenuAsync(layout, layoutData);
// Saas菜单
await SeedSaasMenuAsync(layout, layoutData);
// 平台菜单 // 平台菜单
await SeedPlatformMenuAsync(layout, layoutData); await SeedPlatformMenuAsync(layout, layoutData);
// 网关菜单
await SeedApiGatewayMenuAsync(layout, layoutData);
// 多语言菜单
await SeedLocalizationMenuAsync(layout, layoutData);
// 对象存储菜单 // 对象存储菜单
await SeedOssManagementMenuAsync(layout, layoutData); await SeedOssManagementMenuAsync(layout, layoutData);
// 特定于宿主的菜单不能写入到租户数据中
if (!context.TenantId.HasValue)
{
// 多语言菜单
await SeedLocalizationMenuAsync(layout, layoutData);
// Saas菜单
await SeedSaasMenuAsync(layout, layoutData);
// 网关菜单
await SeedApiGatewayMenuAsync(layout, layoutData);
}
} }
} }
@ -512,7 +517,10 @@ namespace LINGYUN.Platform.DataSeeder
}, },
new string[] { "admin" }); new string[] { "admin" });
var identityServer = await SeedMenuAsync( // 特定于宿主的菜单不能写入到租户数据中
if (!manage.TenantId.HasValue)
{
var identityServer = await SeedMenuAsync(
layout, //layout layout, //layout
data, //data data, //data
"IdentityServer", //name "IdentityServer", //name
@ -531,102 +539,102 @@ namespace LINGYUN.Platform.DataSeeder
{ "hideTab", false }, { "hideTab", false },
}, },
new string[] { "admin" }); new string[] { "admin" });
var clients = await SeedMenuAsync( var clients = await SeedMenuAsync(
layout, //layout layout, //layout
data, //data data, //data
"Clients", //name "Clients", //name
"/manage/identity-server/clients", //path "/manage/identity-server/clients", //path
CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(1)), //code CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(1)), //code
"/identity-server/clients/index", //component "/identity-server/clients/index", //component
"Clients", //displayName "Clients", //displayName
"", //redirect "", //redirect
"Clients", //description "Clients", //description
identityServer.Id, //parentId identityServer.Id, //parentId
layout.TenantId, //tenantId layout.TenantId, //tenantId
new Dictionary<string, object>() //meta new Dictionary<string, object>() //meta
{ {
{ "title", "Clients" }, { "title", "Clients" },
{ "icon", "" }, { "icon", "" },
{ "hideTab", false }, { "hideTab", false },
}, },
new string[] { "admin" }); new string[] { "admin" });
var apiResource = await SeedMenuAsync( var apiResource = await SeedMenuAsync(
layout, //layout layout, //layout
data, //data data, //data
"ApiResources", //name "ApiResources", //name
"/manage/identity-server/api-resources", //path "/manage/identity-server/api-resources", //path
CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(2)), //code CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(2)), //code
"/identity-server/api-resources/index", //component "/identity-server/api-resources/index", //component
"Api Resources", //displayName "Api Resources", //displayName
"", //redirect "", //redirect
"Api Resources", //description "Api Resources", //description
identityServer.Id, //parentId identityServer.Id, //parentId
layout.TenantId, //tenantId layout.TenantId, //tenantId
new Dictionary<string, object>() //meta new Dictionary<string, object>() //meta
{ {
{ "title", "Api Resources" }, { "title", "Api Resources" },
{ "icon", "" }, { "icon", "" },
{ "hideTab", false }, { "hideTab", false },
}, },
new string[] { "admin" }); new string[] { "admin" });
var identityResources = await SeedMenuAsync( var identityResources = await SeedMenuAsync(
layout, //layout layout, //layout
data, //data data, //data
"IdentityResources", //name "IdentityResources", //name
"/manage/identity-server/identity-resources", //path "/manage/identity-server/identity-resources", //path
CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(3)), //code CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(3)), //code
"/identity-server/identity-resources/index", //component "/identity-server/identity-resources/index", //component
"Identity Resources", //displayName "Identity Resources", //displayName
"", //redirect "", //redirect
"Identity Resources", //description "Identity Resources", //description
identityServer.Id, //parentId identityServer.Id, //parentId
layout.TenantId, //tenantId layout.TenantId, //tenantId
new Dictionary<string, object>() //meta new Dictionary<string, object>() //meta
{ {
{ "title", "Identity Resources" }, { "title", "Identity Resources" },
{ "icon", "" }, { "icon", "" },
{ "hideTab", false }, { "hideTab", false },
}, },
new string[] { "admin" }); new string[] { "admin" });
var apiScopes = await SeedMenuAsync( var apiScopes = await SeedMenuAsync(
layout, //layout layout, //layout
data, //data data, //data
"ApiScopes", //name "ApiScopes", //name
"/manage/identity-server/api-scopes", //path "/manage/identity-server/api-scopes", //path
CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(4)), //code CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(4)), //code
"/identity-server/api-scopes/index", //component "/identity-server/api-scopes/index", //component
"Api Scopes", //displayName "Api Scopes", //displayName
"", //redirect "", //redirect
"Api Scopes", //description "Api Scopes", //description
identityServer.Id, //parentId identityServer.Id, //parentId
layout.TenantId, //tenantId layout.TenantId, //tenantId
new Dictionary<string, object>() //meta new Dictionary<string, object>() //meta
{ {
{ "title", "Api Scopes" }, { "title", "Api Scopes" },
{ "icon", "" }, { "icon", "" },
{ "hideTab", false }, { "hideTab", false },
}, },
new string[] { "admin" }); new string[] { "admin" });
var persistedGrants = await SeedMenuAsync( var persistedGrants = await SeedMenuAsync(
layout, //layout layout, //layout
data, //data data, //data
"PersistedGrants", //name "PersistedGrants", //name
"/manage/identity-server/persisted-grants", //path "/manage/identity-server/persisted-grants", //path
CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(5)), //code CodeNumberGenerator.AppendCode(identityServer.Code, CodeNumberGenerator.CreateCode(5)), //code
"/identity-server/persisted-grants/index", //component "/identity-server/persisted-grants/index", //component
"Persisted Grants", //displayName "Persisted Grants", //displayName
"", //redirect "", //redirect
"Persisted Grants", //description "Persisted Grants", //description
identityServer.Id, //parentId identityServer.Id, //parentId
layout.TenantId, //tenantId layout.TenantId, //tenantId
new Dictionary<string, object>() //meta new Dictionary<string, object>() //meta
{ {
{ "title", "Persisted Grants" }, { "title", "Persisted Grants" },
{ "icon", "" }, { "icon", "" },
{ "hideTab", false }, { "hideTab", false },
}, },
new string[] { "admin" }); new string[] { "admin" });
}
} }
private async Task SeedSaasMenuAsync(Layout layout, Data data) private async Task SeedSaasMenuAsync(Layout layout, Data data)

Loading…
Cancel
Save