Browse Source

feat(saas): added saas global feature configuration.

pull/518/head
cKey 4 years ago
parent
commit
a438506ae2
  1. 4
      aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/LINGYUN/Abp/MultiTenancy/Editions/GlobalFeatures/EditionsFeature.cs
  2. 6
      aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/LINGYUN/Abp/MultiTenancy/Editions/GlobalFeatures/GlobalEditionsFeatures.cs
  3. 16
      aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/Volo/Abp/GlobalFeatures/GlobalModuleFeaturesDictionaryEditionsExtensions.cs
  4. 13
      aspnet-core/services/LY.MicroService.BackendAdmin.HttpApi.Host/BackendAdminHttpApiHostModule.Configure.cs
  5. 3
      aspnet-core/services/LY.MicroService.BackendAdmin.HttpApi.Host/BackendAdminHttpApiHostModule.cs
  6. 12
      aspnet-core/services/LY.MicroService.LocalizationManagement.HttpApi.Host/LocalizationManagementHttpApiHostModule.Configure.cs
  7. 1
      aspnet-core/services/LY.MicroService.LocalizationManagement.HttpApi.Host/LocalizationManagementHttpApiHostModule.cs
  8. 12
      aspnet-core/services/LY.MicroService.PlatformManagement.HttpApi.Host/PlatformManagementHttpApiHostModule.Configure.cs
  9. 1
      aspnet-core/services/LY.MicroService.PlatformManagement.HttpApi.Host/PlatformManagementHttpApiHostModule.cs
  10. 13
      aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/RealtimeMessageHttpApiHostModule.Configure.cs
  11. 1
      aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/RealtimeMessageHttpApiHostModule.cs
  12. 12
      aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.Configure.cs
  13. 1
      aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.cs
  14. 19
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs
  15. 1
      aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs
  16. 12
      aspnet-core/services/LY.MicroService.identityServer.HttpApi.Host/IdentityServerHttpApiHostModule.Configure.cs
  17. 1
      aspnet-core/services/LY.MicroService.identityServer.HttpApi.Host/IdentityServerHttpApiHostModule.cs
  18. 12
      aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs
  19. 4
      aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.cs

4
aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/LINGYUN/Abp/MultiTenancy/Editions/GlobalFeatures/EditionsFeature.cs

@ -6,9 +6,9 @@ namespace LINGYUN.Abp.MultiTenancy.Editions.GlobalFeatures;
[GlobalFeatureName(Name)]
public class EditionsFeature : GlobalFeature
{
public const string Name = "Abp.MultiTenancy.Editions";
public const string Name = "Abp.Editions";
internal EditionsFeature([NotNull] GlobalMultiTenancyFeatures module)
internal EditionsFeature([NotNull] GlobalEditionsFeatures module)
: base(module)
{
}

6
aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/LINGYUN/Abp/MultiTenancy/Editions/GlobalFeatures/GlobalMultiTenancyFeatures.cs → aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/LINGYUN/Abp/MultiTenancy/Editions/GlobalFeatures/GlobalEditionsFeatures.cs

@ -3,13 +3,13 @@ using Volo.Abp.GlobalFeatures;
namespace LINGYUN.Abp.MultiTenancy.Editions.GlobalFeatures;
public class GlobalMultiTenancyFeatures : GlobalModuleFeatures
public class GlobalEditionsFeatures : GlobalModuleFeatures
{
public const string ModuleName = "Abp.MultiTenancy";
public const string ModuleName = "Abp.Editions";
public EditionsFeature Editions => GetFeature<EditionsFeature>();
public GlobalMultiTenancyFeatures([NotNull] GlobalFeatureManager featureManager)
public GlobalEditionsFeatures([NotNull] GlobalFeatureManager featureManager)
: base(featureManager)
{
AddFeature(new EditionsFeature(this));

16
aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/Volo/Abp/GlobalFeatures/GlobalModuleFeaturesDictionaryMultiTenancyExtensions.cs → aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.Editions/Volo/Abp/GlobalFeatures/GlobalModuleFeaturesDictionaryEditionsExtensions.cs

@ -5,28 +5,28 @@ using System.Collections.Generic;
namespace Volo.Abp.GlobalFeatures;
public static class GlobalModuleFeaturesDictionaryMultiTenancyExtensions
public static class GlobalModuleFeaturesDictionaryEditionsExtensions
{
public static GlobalMultiTenancyFeatures MultiTenancy(
public static GlobalEditionsFeatures Editions(
[NotNull] this GlobalModuleFeaturesDictionary modules)
{
Check.NotNull(modules, nameof(modules));
return modules
.GetOrAdd(
GlobalMultiTenancyFeatures.ModuleName,
_ => new GlobalMultiTenancyFeatures(modules.FeatureManager)
GlobalEditionsFeatures.ModuleName,
_ => new GlobalEditionsFeatures(modules.FeatureManager)
)
as GlobalMultiTenancyFeatures;
as GlobalEditionsFeatures;
}
public static GlobalModuleFeaturesDictionary MultiTenancy(
public static GlobalModuleFeaturesDictionary Editions(
[NotNull] this GlobalModuleFeaturesDictionary modules,
[NotNull] Action<GlobalMultiTenancyFeatures> configureAction)
[NotNull] Action<GlobalEditionsFeatures> configureAction)
{
Check.NotNull(configureAction, nameof(configureAction));
configureAction(modules.MultiTenancy());
configureAction(modules.Editions());
return modules;
}

13
aspnet-core/services/LY.MicroService.BackendAdmin.HttpApi.Host/BackendAdminHttpApiHostModule.Configure.cs

@ -22,12 +22,14 @@ using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Caching;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Identity.Localization;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement;
using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
namespace LY.MicroService.BackendAdmin;
@ -35,6 +37,17 @@ namespace LY.MicroService.BackendAdmin;
public partial class BackendAdminHttpApiHostModule
{
protected const string DefaultCorsPolicyName = "Default";
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "Backend-Admin";

3
aspnet-core/services/LY.MicroService.BackendAdmin.HttpApi.Host/BackendAdminHttpApiHostModule.cs

@ -85,6 +85,7 @@ public partial class BackendAdminHttpApiHostModule : AbpModule
var configuration = context.Services.GetConfiguration();
PreConfigureApp();
PreConfigureFeature();
PreConfigureCAP(configuration);
}
@ -106,8 +107,6 @@ public partial class BackendAdminHttpApiHostModule : AbpModule
ConfigureCors(context.Services, configuration);
ConfigureSeedWorker(context.Services, hostingEnvironment.IsDevelopment());
ConfigureSecurity(context.Services, configuration, hostingEnvironment.IsDevelopment());
context.Services.AddAlwaysAllowAuthorization();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)

12
aspnet-core/services/LY.MicroService.LocalizationManagement.HttpApi.Host/LocalizationManagementHttpApiHostModule.Configure.cs

@ -20,10 +20,12 @@ using Volo.Abp;
using Volo.Abp.Auditing;
using Volo.Abp.Caching;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
@ -33,6 +35,16 @@ public partial class LocalizationManagementHttpApiHostModule
{
protected const string DefaultCorsPolicyName = "Default";
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "Localization";

1
aspnet-core/services/LY.MicroService.LocalizationManagement.HttpApi.Host/LocalizationManagementHttpApiHostModule.cs

@ -54,6 +54,7 @@ namespace LY.MicroService.LocalizationManagement
var configuration = context.Services.GetConfiguration();
PreConfigureApp();
PreConfigureFeature();
PreConfigureCAP(configuration);
}

12
aspnet-core/services/LY.MicroService.PlatformManagement.HttpApi.Host/PlatformManagementHttpApiHostModule.Configure.cs

@ -25,10 +25,12 @@ using Volo.Abp.BlobStoring;
using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.Caching;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
namespace LY.MicroService.PlatformManagement;
@ -37,6 +39,16 @@ public partial class PlatformManagementHttpApiHostModule
{
protected const string DefaultCorsPolicyName = "Default";
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "Platform";

1
aspnet-core/services/LY.MicroService.PlatformManagement.HttpApi.Host/PlatformManagementHttpApiHostModule.cs

@ -81,6 +81,7 @@ public partial class PlatformManagementHttpApiHostModule : AbpModule
var configuration = context.Services.GetConfiguration();
PreConfigureApp();
PreConfigureFeature();
PreConfigureCAP(configuration);
}

13
aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/RealtimeMessageHttpApiHostModule.Configure.cs

@ -28,10 +28,12 @@ using Volo.Abp.AspNetCore.Auditing;
using Volo.Abp.Auditing;
using Volo.Abp.Caching;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Threading;
using Volo.Abp.Timing;
using Volo.Abp.VirtualFileSystem;
using HangfireDashboardOptions = Hangfire.DashboardOptions;
@ -41,6 +43,17 @@ namespace LY.MicroService.RealtimeMessage;
public partial class RealtimeMessageHttpApiHostModule
{
protected static string[] PrefixTokenQueryStrings = new [] { "/signalr-hubs", "/hangfire" };
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "MessageService";

1
aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/RealtimeMessageHttpApiHostModule.cs

@ -78,6 +78,7 @@ namespace LY.MicroService.RealtimeMessage
var configuration = context.Services.GetConfiguration();
PreConfigureApp();
PreConfigureFeature();
PreCongifureHangfire();
PreConfigureCAP(configuration);
}

12
aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.Configure.cs

@ -21,17 +21,29 @@ using Volo.Abp;
using Volo.Abp.Auditing;
using Volo.Abp.Caching;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Quartz;
using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
namespace LY.MicroService.TaskManagement;
public partial class TaskManagementHttpApiHostModule
{
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "TaskManagement";

1
aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.cs

@ -70,6 +70,7 @@ public partial class TaskManagementHttpApiHostModule : AbpModule
var configuration = context.Services.GetConfiguration();
PreConfigureApp();
PreConfigureFeature();
PreConfigureCAP(configuration);
PreConfigureQuartz(configuration);
}

19
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs

@ -1,7 +1,8 @@
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.BlobStoring.OssManagement;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using LINGYUN.Abp.BlobStoring.OssManagement;
using LINGYUN.Abp.WorkflowCore.Components;
using Medallion.Threading;
using Medallion.Threading.Redis;
using Microsoft.AspNetCore.Authentication.JwtBearer;
@ -19,18 +20,28 @@ using Volo.Abp.Auditing;
using Volo.Abp.BlobStoring;
using Volo.Abp.Caching;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Uow;
using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
using LINGYUN.Abp.WorkflowCore.Components;
namespace LY.MicroService.WorkflowManagement;
public partial class WorkflowManagementHttpApiHostModule
{
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "WorkflowManagement";

1
aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs

@ -72,6 +72,7 @@ public partial class WorkflowManagementHttpApiHostModule : AbpModule
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigureApp();
PreConfigureFeature();
}
public override void ConfigureServices(ServiceConfigurationContext context)

12
aspnet-core/services/LY.MicroService.identityServer.HttpApi.Host/IdentityServerHttpApiHostModule.Configure.cs

@ -23,12 +23,14 @@ using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Caching;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Identity.Localization;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement;
using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
namespace LY.MicroService.IdentityServer;
@ -37,6 +39,16 @@ public partial class IdentityServerHttpApiHostModule
{
protected const string DefaultCorsPolicyName = "Default";
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "Identity-Server-Admin";

1
aspnet-core/services/LY.MicroService.identityServer.HttpApi.Host/IdentityServerHttpApiHostModule.cs

@ -60,6 +60,7 @@ public partial class IdentityServerHttpApiHostModule : AbpModule
var configuration = context.Services.GetConfiguration();
PreConfigureApp();
PreConfigureFeature();
PreConfigureCAP(configuration);
PreConfigureIdentity();
}

12
aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs

@ -23,11 +23,13 @@ using Volo.Abp.Account.Localization;
using Volo.Abp.Auditing;
using Volo.Abp.Caching;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.IdentityServer;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Threading;
using Volo.Abp.UI.Navigation.Urls;
using Volo.Abp.VirtualFileSystem;
@ -35,6 +37,16 @@ namespace LY.MicroService.IdentityServer;
public partial class IdentityServerModule
{
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
private void PreConfigureFeature()
{
OneTimeRunner.Run(() =>
{
GlobalFeatureManager.Instance.Modules.Editions().EnableAll();
});
}
private void PreConfigureApp()
{
AbpSerilogEnrichersConsts.ApplicationName = "Identity-Server-STS";

4
aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.cs

@ -28,7 +28,6 @@ using Volo.Abp.Autofac;
using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.EntityFrameworkCore.MySQL;
using Volo.Abp.FeatureManagement.EntityFrameworkCore;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Identity;
using Volo.Abp.IdentityServer.Jwt;
using Volo.Abp.Modularity;
@ -77,6 +76,7 @@ public partial class IdentityServerModule : AbpModule
var hostingEnvironment = context.Services.GetHostingEnvironment();
PreConfigureApp();
PreConfigureFeature();
PreConfigureCAP(configuration);
PreConfigureCertificate(configuration, hostingEnvironment);
}
@ -99,8 +99,6 @@ public partial class IdentityServerModule : AbpModule
ConfigureCors(context.Services, configuration);
ConfigureSeedWorker(context.Services, hostingEnvironment.IsDevelopment());
ConfigureSecurity(context.Services, configuration, hostingEnvironment.IsDevelopment());
GlobalFeatureManager.Instance.Modules.MultiTenancy().EnableAll();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)

Loading…
Cancel
Save