diff --git a/Volo.Abp.sln b/Volo.Abp.sln
index 2aebb01576..b709a43440 100644
--- a/Volo.Abp.sln
+++ b/Volo.Abp.sln
@@ -254,6 +254,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Settings.Domain",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Settings.Tests", "test\Volo.Abp.Settings.Tests\Volo.Abp.Settings.Tests.csproj", "{61422EC8-8FFB-48EA-B4B5-527E29077930}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Settings.Domain.Shared", "src\Volo.Abp.Settings.Domain.Shared\Volo.Abp.Settings.Domain.Shared.csproj", "{27F990E2-6820-4159-B54A-59C8ADED8D28}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -664,6 +666,10 @@ Global
{61422EC8-8FFB-48EA-B4B5-527E29077930}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61422EC8-8FFB-48EA-B4B5-527E29077930}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61422EC8-8FFB-48EA-B4B5-527E29077930}.Release|Any CPU.Build.0 = Release|Any CPU
+ {27F990E2-6820-4159-B54A-59C8ADED8D28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {27F990E2-6820-4159-B54A-59C8ADED8D28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {27F990E2-6820-4159-B54A-59C8ADED8D28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {27F990E2-6820-4159-B54A-59C8ADED8D28}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -787,6 +793,7 @@ Global
{1DCD9600-215A-4A94-AEFD-577568D62633} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{837BC537-3AEC-4F6D-9D64-9704F64D0E1E} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{61422EC8-8FFB-48EA-B4B5-527E29077930} = {37087D1B-3693-4E96-983D-A69F210BDE53}
+ {27F990E2-6820-4159-B54A-59C8ADED8D28} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}
diff --git a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs
index 18aa2952c1..03b5dea2af 100644
--- a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs
+++ b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContext.cs
@@ -59,12 +59,6 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
}
- ///
- /// Configures the schema needed for the identity framework.
- ///
- ///
- /// The builder being used to construct the model for this context.
- ///
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
diff --git a/src/Volo.Abp.Session/Volo/Abp/Session/UserSettingValueProvider.cs b/src/Volo.Abp.Session/Volo/Abp/Session/UserSettingValueProvider.cs
index 56e1992f73..87217d3478 100644
--- a/src/Volo.Abp.Session/Volo/Abp/Session/UserSettingValueProvider.cs
+++ b/src/Volo.Abp.Session/Volo/Abp/Session/UserSettingValueProvider.cs
@@ -7,9 +7,9 @@ namespace Volo.Abp.Session
public class UserSettingValueProvider : SettingValueProvider
{
- public const string DefaultEntityType = "User";
+ public const string ProviderName = "User";
- public override string EntityType => DefaultEntityType;
+ public override string Name => ProviderName;
protected ICurrentUser CurrentUser { get; }
@@ -19,29 +19,29 @@ namespace Volo.Abp.Session
CurrentUser = currentUser;
}
- public override async Task GetOrNullAsync(SettingDefinition setting, string entityId)
+ public override async Task GetOrNullAsync(SettingDefinition setting, string providerKey)
{
- if (entityId == null)
+ if (providerKey == null)
{
if (CurrentUser.Id == null)
{
return null;
}
- entityId = CurrentUser.Id.ToString();
+ providerKey = CurrentUser.Id.ToString();
}
- return await SettingStore.GetOrNullAsync(setting.Name, EntityType, entityId);
+ return await SettingStore.GetOrNullAsync(setting.Name, Name, providerKey);
}
- public override Task SetAsync(SettingDefinition setting, string value, string entityId)
+ public override Task SetAsync(SettingDefinition setting, string value, string providerKey)
{
- return SettingStore.SetAsync(setting.Name, value, EntityType, entityId);
+ return SettingStore.SetAsync(setting.Name, value, Name, providerKey);
}
- public override Task ClearAsync(SettingDefinition setting, string entityId)
+ public override Task ClearAsync(SettingDefinition setting, string providerKey)
{
- return SettingStore.DeleteAsync(setting.Name, EntityType, entityId);
+ return SettingStore.DeleteAsync(setting.Name, Name, providerKey);
}
}
}
\ No newline at end of file
diff --git a/src/Volo.Abp.Session/Volo/Abp/Settings/UserSettingManagerExtensions.cs b/src/Volo.Abp.Session/Volo/Abp/Settings/UserSettingManagerExtensions.cs
index 569bde8395..9387c5c607 100644
--- a/src/Volo.Abp.Session/Volo/Abp/Settings/UserSettingManagerExtensions.cs
+++ b/src/Volo.Abp.Session/Volo/Abp/Settings/UserSettingManagerExtensions.cs
@@ -10,32 +10,32 @@ namespace Volo.Abp.Settings
{
public static Task GetOrNullForUserAsync(this ISettingManager settingManager, [NotNull] string name, Guid userId, bool fallback = true)
{
- return settingManager.GetOrNullAsync(name, UserSettingValueProvider.DefaultEntityType, userId.ToString(), fallback);
+ return settingManager.GetOrNullAsync(name, UserSettingValueProvider.ProviderName, userId.ToString(), fallback);
}
public static Task GetOrNullForCurrentUserAsync(this ISettingManager settingManager, [NotNull] string name, bool fallback = true)
{
- return settingManager.GetOrNullAsync(name, UserSettingValueProvider.DefaultEntityType, null, fallback);
+ return settingManager.GetOrNullAsync(name, UserSettingValueProvider.ProviderName, null, fallback);
}
public static Task> GetAllForUserAsync(this ISettingManager settingManager, Guid userId, bool fallback = true)
{
- return settingManager.GetAllAsync(UserSettingValueProvider.DefaultEntityType, userId.ToString(), fallback);
+ return settingManager.GetAllAsync(UserSettingValueProvider.ProviderName, userId.ToString(), fallback);
}
public static Task> GetAllForCurrentUserAsync(this ISettingManager settingManager, bool fallback = true)
{
- return settingManager.GetAllAsync(UserSettingValueProvider.DefaultEntityType, null, fallback);
+ return settingManager.GetAllAsync(UserSettingValueProvider.ProviderName, null, fallback);
}
public static Task SetForUserAsync(this ISettingManager settingManager, Guid userId, [NotNull] string name, [CanBeNull] string value, bool forceToSet = false)
{
- return settingManager.SetAsync(name, value, UserSettingValueProvider.DefaultEntityType, userId.ToString(), forceToSet);
+ return settingManager.SetAsync(name, value, UserSettingValueProvider.ProviderName, userId.ToString(), forceToSet);
}
public static Task SetForCurrentUserAsync(this ISettingManager settingManager, [NotNull] string name, [CanBeNull] string value, bool forceToSet = false)
{
- return settingManager.SetAsync(name, value, UserSettingValueProvider.DefaultEntityType, null, forceToSet);
+ return settingManager.SetAsync(name, value, UserSettingValueProvider.ProviderName, null, forceToSet);
}
}
}
diff --git a/src/Volo.Abp.Settings.Domain.Shared/Volo.Abp.Settings.Domain.Shared.csproj b/src/Volo.Abp.Settings.Domain.Shared/Volo.Abp.Settings.Domain.Shared.csproj
new file mode 100644
index 0000000000..1ae08840a7
--- /dev/null
+++ b/src/Volo.Abp.Settings.Domain.Shared/Volo.Abp.Settings.Domain.Shared.csproj
@@ -0,0 +1,20 @@
+
+
+
+
+
+ netstandard2.0
+ Volo.Abp.Settings.Domain.Shared
+ Volo.Abp.Settings.Domain.Shared
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ false
+ false
+ false
+
+
+
+
+
+
+
+
diff --git a/src/Volo.Abp.Settings.Domain.Shared/Volo/Abp/Settings/AbpSettingsDomainSharedModule.cs b/src/Volo.Abp.Settings.Domain.Shared/Volo/Abp/Settings/AbpSettingsDomainSharedModule.cs
new file mode 100644
index 0000000000..fdf5f9e41c
--- /dev/null
+++ b/src/Volo.Abp.Settings.Domain.Shared/Volo/Abp/Settings/AbpSettingsDomainSharedModule.cs
@@ -0,0 +1,13 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Modularity;
+
+namespace Volo.Abp.Settings
+{
+ public class AbpSettingsDomainSharedModule : AbpModule
+ {
+ public override void ConfigureServices(IServiceCollection services)
+ {
+ services.AddAssemblyOf();
+ }
+ }
+}
diff --git a/src/Volo.Abp.Settings.Domain.Shared/Volo/Abp/Settings/SettingsConsts.cs b/src/Volo.Abp.Settings.Domain.Shared/Volo/Abp/Settings/SettingsConsts.cs
new file mode 100644
index 0000000000..0b25a74bf8
--- /dev/null
+++ b/src/Volo.Abp.Settings.Domain.Shared/Volo/Abp/Settings/SettingsConsts.cs
@@ -0,0 +1,10 @@
+namespace Volo.Abp.Settings
+{
+ public static class SettingsConsts
+ {
+ public const int MaxNameLength = 128;
+ public const int MaxValueLength = 2048;
+ public const int MaxProviderNameLength = 64;
+ public const int MaxProviderKeyLength = 64;
+ }
+}
diff --git a/src/Volo.Abp.Settings.Domain/Volo.Abp.Settings.Domain.csproj b/src/Volo.Abp.Settings.Domain/Volo.Abp.Settings.Domain.csproj
index 425916670d..b980a78f55 100644
--- a/src/Volo.Abp.Settings.Domain/Volo.Abp.Settings.Domain.csproj
+++ b/src/Volo.Abp.Settings.Domain/Volo.Abp.Settings.Domain.csproj
@@ -15,6 +15,7 @@
+
diff --git a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/AbpSettingsConsts.cs b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/AbpSettingsConsts.cs
new file mode 100644
index 0000000000..f3a9f4653c
--- /dev/null
+++ b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/AbpSettingsConsts.cs
@@ -0,0 +1,9 @@
+namespace Volo.Abp.Settings
+{
+ public static class AbpSettingsConsts
+ {
+ public const string DefaultDbTablePrefix = "Abp";
+
+ public const string DefaultDbSchema = null;
+ }
+}
diff --git a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/AbpSettingsDomainModule.cs b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/AbpSettingsDomainModule.cs
index a6edc3f87a..7bbb6659b8 100644
--- a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/AbpSettingsDomainModule.cs
+++ b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/AbpSettingsDomainModule.cs
@@ -5,6 +5,7 @@ namespace Volo.Abp.Settings
{
[DependsOn(typeof(AbpSettingsModule))]
[DependsOn(typeof(AbpDddModule))]
+ [DependsOn(typeof(AbpSettingsDomainSharedModule))]
public class AbpSettingsDomainModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
diff --git a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/ISettingRepository.cs b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/ISettingRepository.cs
index 7c7164204a..5084e51ec5 100644
--- a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/ISettingRepository.cs
+++ b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/ISettingRepository.cs
@@ -7,8 +7,8 @@ namespace Volo.Abp.Settings
{
public interface ISettingRepository : IBasicRepository
{
- Task FindAsync(string name, string entityType, string entityId);
+ Task FindAsync(string name, string providerName, string providerKey);
- Task> GetListAsync(string entityType, string entityId);
+ Task> GetListAsync(string providerName, string providerKey);
}
}
\ No newline at end of file
diff --git a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/Setting.cs b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/Setting.cs
index c2a8318fc6..9a04000f50 100644
--- a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/Setting.cs
+++ b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/Setting.cs
@@ -13,10 +13,10 @@ namespace Volo.Abp.Settings
public virtual string Value { get; internal set; }
[CanBeNull]
- public virtual string EntityType { get; protected set; }
+ public virtual string ProviderName { get; protected set; }
[CanBeNull]
- public virtual string EntityId { get; protected set; }
+ public virtual string ProviderKey { get; protected set; }
protected Setting()
{
@@ -27,8 +27,8 @@ namespace Volo.Abp.Settings
Guid id,
[NotNull] string name,
[NotNull] string value,
- [CanBeNull] string entityType = null,
- [CanBeNull] string entityId = null)
+ [CanBeNull] string providerName = null,
+ [CanBeNull] string providerKey = null)
{
Check.NotNull(name, nameof(name));
Check.NotNull(value, nameof(value));
@@ -36,8 +36,8 @@ namespace Volo.Abp.Settings
Id = id;
Name = name;
Value = value;
- EntityType = entityType;
- EntityId = entityId;
+ ProviderName = providerName;
+ ProviderKey = providerKey;
}
}
}
\ No newline at end of file
diff --git a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/SettingStore.cs b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/SettingStore.cs
index 231e097775..a1bb9b3c3d 100644
--- a/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/SettingStore.cs
+++ b/src/Volo.Abp.Settings.Domain/Volo/Abp/Settings/SettingStore.cs
@@ -14,18 +14,18 @@ namespace Volo.Abp.Settings
_settingRepository = settingRepository;
}
- public async Task GetOrNullAsync(string name, string entityType, string entityId)
+ public async Task GetOrNullAsync(string name, string providerName, string providerKey)
{
- var setting = await _settingRepository.FindAsync(name, entityType, entityId);
+ var setting = await _settingRepository.FindAsync(name, providerName, providerKey);
return setting?.Value;
}
- public async Task SetAsync(string name, string value, string entityType, string entityId)
+ public async Task SetAsync(string name, string value, string providerName, string providerKey)
{
- var setting = await _settingRepository.FindAsync(name, entityType, entityId);
+ var setting = await _settingRepository.FindAsync(name, providerName, providerKey);
if (setting == null)
{
- setting = new Setting(GuidGenerator.Create(), name, value, entityType, entityId);
+ setting = new Setting(GuidGenerator.Create(), name, value, providerName, providerKey);
await _settingRepository.InsertAsync(setting);
}
@@ -33,15 +33,15 @@ namespace Volo.Abp.Settings
await _settingRepository.UpdateAsync(setting);
}
- public async Task> GetListAsync(string entityType, string entityId)
+ public async Task> GetListAsync(string providerName, string providerKey)
{
- var setting = await _settingRepository.GetListAsync(entityType, entityId);
+ var setting = await _settingRepository.GetListAsync(providerName, providerKey);
return setting.Select(s => new SettingValue(s.Name, s.Value)).ToList();
}
- public async Task DeleteAsync(string name, string entityType, string entityId)
+ public async Task DeleteAsync(string name, string providerName, string providerKey)
{
- var setting = await _settingRepository.FindAsync(name, entityType, entityId);
+ var setting = await _settingRepository.FindAsync(name, providerName, providerKey);
if (setting != null)
{
await _settingRepository.DeleteAsync(setting);
diff --git a/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/AbpSettingsDbContext.cs b/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/AbpSettingsDbContext.cs
index cc6ed9ce6f..0ce713d764 100644
--- a/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/AbpSettingsDbContext.cs
+++ b/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/AbpSettingsDbContext.cs
@@ -7,6 +7,10 @@ namespace Volo.Abp.Settings.EntityFrameworkCore
[ConnectionStringName("AbpSettings")]
public class AbpSettingsDbContext : AbpDbContext, IAbpSettingsDbContext
{
+ public static string TablePrefix { get; set; } = AbpSettingsConsts.DefaultDbTablePrefix;
+
+ public static string Schema { get; set; } = AbpSettingsConsts.DefaultDbSchema;
+
public DbSet Settings { get; set; }
public AbpSettingsDbContext(DbContextOptions options)
@@ -14,5 +18,11 @@ namespace Volo.Abp.Settings.EntityFrameworkCore
{
}
+
+ protected override void OnModelCreating(ModelBuilder builder)
+ {
+ base.OnModelCreating(builder);
+ builder.ConfigureAbpSettings(TablePrefix, Schema);
+ }
}
}
diff --git a/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/AbpSettingsDbContextModelBuilderExtensions.cs b/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/AbpSettingsDbContextModelBuilderExtensions.cs
new file mode 100644
index 0000000000..15b91d3cf7
--- /dev/null
+++ b/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/AbpSettingsDbContextModelBuilderExtensions.cs
@@ -0,0 +1,33 @@
+using JetBrains.Annotations;
+using Microsoft.EntityFrameworkCore;
+
+namespace Volo.Abp.Settings.EntityFrameworkCore
+{
+ public static class AbpSettingsDbContextModelBuilderExtensions
+ {
+ public static void ConfigureAbpSettings(
+ [NotNull] this ModelBuilder builder,
+ [CanBeNull] string tablePrefix = AbpSettingsConsts.DefaultDbTablePrefix,
+ [CanBeNull] string schema = AbpSettingsConsts.DefaultDbSchema)
+ {
+ Check.NotNull(builder, nameof(builder));
+
+ if (tablePrefix == null)
+ {
+ tablePrefix = "";
+ }
+
+ builder.Entity(b =>
+ {
+ b.ToTable(tablePrefix + "Settings", schema);
+
+ b.Property(x => x.Name).HasMaxLength(SettingsConsts.MaxNameLength).IsRequired();
+ b.Property(x => x.Value).HasMaxLength(SettingsConsts.MaxValueLength).IsRequired();
+ b.Property(x => x.ProviderName).HasMaxLength(SettingsConsts.MaxProviderNameLength);
+ b.Property(x => x.ProviderKey).HasMaxLength(SettingsConsts.MaxProviderKeyLength);
+
+ b.HasIndex(x => new {x.Name, x.ProviderName, x.ProviderKey});
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/EfCoreSettingRepository.cs b/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/EfCoreSettingRepository.cs
index 2073f36269..3f31147390 100644
--- a/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/EfCoreSettingRepository.cs
+++ b/src/Volo.Abp.Settings.EntityFrameworkCore/Volo/Abp/Settings/EntityFrameworkCore/EfCoreSettingRepository.cs
@@ -15,14 +15,14 @@ namespace Volo.Abp.Settings.EntityFrameworkCore
{
}
- public async Task FindAsync(string name, string entityType, string entityId)
+ public async Task FindAsync(string name, string providerName, string providerKey)
{
- return await DbSet.FirstOrDefaultAsync(s => s.Name == name && s.EntityType == entityType && s.EntityId == entityId);
+ return await DbSet.FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey);
}
- public async Task> GetListAsync(string entityType, string entityId)
+ public async Task> GetListAsync(string providerName, string providerKey)
{
- return await DbSet.Where(s => s.EntityType == entityType && s.EntityId == entityId).ToListAsync();
+ return await DbSet.Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey).ToListAsync();
}
}
}
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs
index f6d6df3b91..0d236a4336 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs
@@ -4,7 +4,9 @@ namespace Volo.Abp.Settings
{
public class DefaultValueSettingValueProvider : SettingValueProvider
{
- public override string EntityType => null;
+ public const string ProviderName = null;
+
+ public override string Name => ProviderName;
public DefaultValueSettingValueProvider(ISettingStore settingStore)
: base(settingStore)
@@ -12,18 +14,18 @@ namespace Volo.Abp.Settings
}
- public override Task GetOrNullAsync(SettingDefinition setting, string entityId)
+ public override Task GetOrNullAsync(SettingDefinition setting, string providerKey)
{
return Task.FromResult(setting.DefaultValue);
}
- public override Task SetAsync(SettingDefinition setting, string value, string entityId)
+ public override Task SetAsync(SettingDefinition setting, string value, string providerKey)
{
setting.DefaultValue = value;
return Task.CompletedTask;
}
- public override Task ClearAsync(SettingDefinition setting, string entityId)
+ public override Task ClearAsync(SettingDefinition setting, string providerKey)
{
setting.DefaultValue = null;
return Task.CompletedTask;
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingManagerExtensions.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingManagerExtensions.cs
index ce22151a38..d5dabccfe8 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingManagerExtensions.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingManagerExtensions.cs
@@ -8,17 +8,17 @@ namespace Volo.Abp.Settings
{
public static Task GetOrNullGlobalAsync(this ISettingManager settingManager, [NotNull] string name, bool fallback = true)
{
- return settingManager.GetOrNullAsync(name, GlobalSettingValueProvider.DefaultEntityType, null, fallback);
+ return settingManager.GetOrNullAsync(name, GlobalSettingValueProvider.ProviderName, null, fallback);
}
public static Task> GetAllGlobalAsync(this ISettingManager settingManager, bool fallback = true)
{
- return settingManager.GetAllAsync(GlobalSettingValueProvider.DefaultEntityType, null, fallback);
+ return settingManager.GetAllAsync(GlobalSettingValueProvider.ProviderName, null, fallback);
}
public static Task SetGlobalAsync(this ISettingManager settingManager, [NotNull] string name, [CanBeNull] string value)
{
- return settingManager.SetAsync(name, value, GlobalSettingValueProvider.DefaultEntityType, null);
+ return settingManager.SetAsync(name, value, GlobalSettingValueProvider.ProviderName, null);
}
}
}
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs
index c5c628cffd..78a38cc703 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs
@@ -4,28 +4,28 @@ namespace Volo.Abp.Settings
{
public class GlobalSettingValueProvider : SettingValueProvider
{
- public const string DefaultEntityType = "Global";
+ public const string ProviderName = "Global";
- public override string EntityType => DefaultEntityType;
+ public override string Name => ProviderName;
public GlobalSettingValueProvider(ISettingStore settingStore)
: base(settingStore)
{
}
- public override Task GetOrNullAsync(SettingDefinition setting, string entityId)
+ public override Task GetOrNullAsync(SettingDefinition setting, string providerKey)
{
- return SettingStore.GetOrNullAsync(setting.Name, EntityType, null);
+ return SettingStore.GetOrNullAsync(setting.Name, Name, null);
}
- public override Task SetAsync(SettingDefinition setting, string value, string entityId)
+ public override Task SetAsync(SettingDefinition setting, string value, string providerKey)
{
- return SettingStore.SetAsync(setting.Name, value, EntityType, null);
+ return SettingStore.SetAsync(setting.Name, value, Name, null);
}
- public override Task ClearAsync(SettingDefinition setting, string entityId)
+ public override Task ClearAsync(SettingDefinition setting, string providerKey)
{
- return SettingStore.DeleteAsync(setting.Name, EntityType, null);
+ return SettingStore.DeleteAsync(setting.Name, Name, null);
}
}
}
\ No newline at end of file
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingManager.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingManager.cs
index 4d60e5a61c..9c794a2c9b 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingManager.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingManager.cs
@@ -8,12 +8,12 @@ namespace Volo.Abp.Settings
{
Task GetOrNullAsync([NotNull]string name);
- Task GetOrNullAsync([NotNull]string name, [NotNull] string entityType, [CanBeNull] string entityId, bool fallback = true);
+ Task GetOrNullAsync([NotNull]string name, [NotNull] string providerName, [CanBeNull] string providerKey, bool fallback = true);
Task> GetAllAsync();
- Task> GetAllAsync([NotNull] string entityType, [CanBeNull] string entityId, bool fallback = true);
+ Task> GetAllAsync([NotNull] string providerName, [CanBeNull] string providerKey, bool fallback = true);
- Task SetAsync([NotNull] string name, [CanBeNull] string value, [NotNull] string entityType, [CanBeNull] string entityId, bool forceToSet = false);
+ Task SetAsync([NotNull] string name, [CanBeNull] string value, [NotNull] string providerName, [CanBeNull] string providerKey, bool forceToSet = false);
}
}
\ No newline at end of file
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs
index 523da0c38c..40ee68f462 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs
@@ -6,12 +6,12 @@ namespace Volo.Abp.Settings
{
public interface ISettingStore
{
- Task GetOrNullAsync([NotNull] string name, [CanBeNull] string entityType, [CanBeNull] string entityId);
+ Task GetOrNullAsync([NotNull] string name, [CanBeNull] string providerName, [CanBeNull] string providerKey);
- Task SetAsync([NotNull] string name, [NotNull] string value, [CanBeNull] string entityType, [CanBeNull] string entityId);
+ Task SetAsync([NotNull] string name, [NotNull] string value, [CanBeNull] string providerName, [CanBeNull] string providerKey);
- Task> GetListAsync([CanBeNull] string entityType, [CanBeNull] string entityId);
+ Task> GetListAsync([CanBeNull] string providerName, [CanBeNull] string providerKey);
- Task DeleteAsync([NotNull] string name, [CanBeNull]string entityType, [CanBeNull]string entityId);
+ Task DeleteAsync([NotNull] string name, [CanBeNull]string providerName, [CanBeNull]string providerKey);
}
}
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs
index 9065b4bba7..830546b23d 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs
@@ -5,12 +5,12 @@ namespace Volo.Abp.Settings
{
public interface ISettingValueProvider
{
- string EntityType { get; }
+ string Name { get; }
- Task GetOrNullAsync([NotNull] SettingDefinition setting, [CanBeNull] string entityId);
+ Task GetOrNullAsync([NotNull] SettingDefinition setting, [CanBeNull] string providerKey);
- Task SetAsync([NotNull] SettingDefinition setting, [NotNull] string value, [CanBeNull] string entityId);
+ Task SetAsync([NotNull] SettingDefinition setting, [NotNull] string value, [CanBeNull] string providerKey);
- Task ClearAsync([NotNull] SettingDefinition setting, [CanBeNull] string entityId);
+ Task ClearAsync([NotNull] SettingDefinition setting, [CanBeNull] string providerKey);
}
}
\ No newline at end of file
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs
index 898e2d9f51..ade721431d 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs
@@ -6,22 +6,22 @@ namespace Volo.Abp.Settings
{
public class NullSettingStore : ISettingStore, ISingletonDependency
{
- public Task GetOrNullAsync(string name, string entityType, string entityId)
+ public Task GetOrNullAsync(string name, string providerName, string providerKey)
{
return Task.FromResult((string) null);
}
- public Task SetAsync(string name, string value, string entityType, string entityId)
+ public Task SetAsync(string name, string value, string providerName, string providerKey)
{
return Task.CompletedTask;
}
- public Task> GetListAsync(string entityType, string entityId)
+ public Task> GetListAsync(string providerName, string providerKey)
{
return Task.FromResult(new List());
}
- public Task DeleteAsync(string name, string entityType, string entityId)
+ public Task DeleteAsync(string name, string providerName, string providerKey)
{
return Task.CompletedTask;
}
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManager.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManager.cs
index 23fff238fc..fb3f6cca0f 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManager.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManager.cs
@@ -44,33 +44,33 @@ namespace Volo.Abp.Settings
return GetOrNullInternalAsync(name, null, null);
}
- public virtual Task GetOrNullAsync(string name, string entityType, string entityId, bool fallback = true)
+ public virtual Task GetOrNullAsync(string name, string providerName, string providerKey, bool fallback = true)
{
Check.NotNull(name, nameof(name));
- Check.NotNull(entityType, nameof(entityType));
+ Check.NotNull(providerName, nameof(providerName));
- return GetOrNullInternalAsync(name, entityType, entityId, fallback);
+ return GetOrNullInternalAsync(name, providerName, providerKey, fallback);
}
- public virtual async Task GetOrNullInternalAsync(string name, string entityType, string entityId, bool fallback = true)
+ public virtual async Task GetOrNullInternalAsync(string name, string providerName, string providerKey, bool fallback = true)
{
var setting = SettingDefinitionManager.Get(name);
var providers = Enumerable
.Reverse(Providers.Value);
- if (entityType != null)
+ if (providerName != null)
{
- providers = providers.SkipWhile(c => c.EntityType != entityType);
+ providers = providers.SkipWhile(c => c.Name != providerName);
}
if (!fallback || !setting.IsInherited)
{
- providers = providers.TakeWhile(c => c.EntityType == entityType);
+ providers = providers.TakeWhile(c => c.Name == providerName);
}
foreach (var provider in providers)
{
- var value = await provider.GetOrNullAsync(setting, entityId);
+ var value = await provider.GetOrNullAsync(setting, providerKey);
if (value != null)
{
return value;
@@ -100,18 +100,18 @@ namespace Volo.Abp.Settings
return settingValues.Values.ToList();
}
- public virtual async Task> GetAllAsync(string entityType, string entityId, bool fallback = true)
+ public virtual async Task> GetAllAsync(string providerName, string providerKey, bool fallback = true)
{
- Check.NotNull(entityType, nameof(entityType));
+ Check.NotNull(providerName, nameof(providerName));
var settingValues = new Dictionary();
var settingDefinitions = SettingDefinitionManager.GetAll();
var providers = Enumerable.Reverse(Providers.Value)
- .SkipWhile(c => c.EntityType != entityType);
+ .SkipWhile(c => c.Name != providerName);
if (!fallback)
{
- providers = providers.TakeWhile(c => c.EntityType == entityType);
+ providers = providers.TakeWhile(c => c.Name == providerName);
}
var providerList = providers.Reverse().ToList();
@@ -124,7 +124,7 @@ namespace Volo.Abp.Settings
{
foreach (var provider in providerList)
{
- var value = await provider.GetOrNullAsync(setting, entityId);
+ var value = await provider.GetOrNullAsync(setting, providerKey);
if (value != null)
{
settingValues[setting.Name] = new SettingValue(setting.Name, value);
@@ -135,7 +135,7 @@ namespace Volo.Abp.Settings
{
settingValues[setting.Name] = new SettingValue(
setting.Name,
- await providerList[0].GetOrNullAsync(setting, entityId)
+ await providerList[0].GetOrNullAsync(setting, providerKey)
);
}
}
@@ -144,16 +144,16 @@ namespace Volo.Abp.Settings
return settingValues.Values.ToList();
}
- public virtual async Task SetAsync(string name, string value, string entityType, string entityId, bool forceToSet = false)
+ public virtual async Task SetAsync(string name, string value, string providerName, string providerKey, bool forceToSet = false)
{
Check.NotNull(name, nameof(name));
- Check.NotNull(entityType, nameof(entityType));
+ Check.NotNull(providerName, nameof(providerName));
var setting = SettingDefinitionManager.Get(name);
var providers = Enumerable
.Reverse(Providers.Value)
- .SkipWhile(p => p.EntityType != entityType)
+ .SkipWhile(p => p.Name != providerName)
.ToList();
if (!providers.Any())
@@ -164,7 +164,7 @@ namespace Volo.Abp.Settings
if (providers.Count > 1 && !forceToSet && setting.IsInherited && value != null)
{
//Clear the value if it's same as it's fallback value
- var fallbackValue = await GetOrNullInternalAsync(name, providers[1].EntityType, entityId);
+ var fallbackValue = await GetOrNullInternalAsync(name, providers[1].Name, providerKey);
if (fallbackValue == value)
{
value = null;
@@ -172,21 +172,21 @@ namespace Volo.Abp.Settings
}
providers = providers
- .TakeWhile(p => p.EntityType == entityType)
+ .TakeWhile(p => p.Name == providerName)
.ToList(); //Getting list for case of there are more than one provider with same EntityType
if (value == null)
{
foreach (var provider in providers)
{
- await provider.ClearAsync(setting, entityId);
+ await provider.ClearAsync(setting, providerKey);
}
}
else
{
foreach (var provider in providers)
{
- await provider.SetAsync(setting, value, entityId);
+ await provider.SetAsync(setting, value, providerKey);
}
}
}
diff --git a/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs b/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs
index 5af5b45471..dcd98945e4 100644
--- a/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs
+++ b/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs
@@ -5,7 +5,7 @@ namespace Volo.Abp.Settings
{
public abstract class SettingValueProvider : ISettingValueProvider, ISingletonDependency
{
- public abstract string EntityType { get; }
+ public abstract string Name { get; }
protected ISettingStore SettingStore { get; }
@@ -14,10 +14,10 @@ namespace Volo.Abp.Settings
SettingStore = settingStore;
}
- public abstract Task GetOrNullAsync(SettingDefinition setting, string entityId);
+ public abstract Task GetOrNullAsync(SettingDefinition setting, string providerKey);
- public abstract Task SetAsync(SettingDefinition setting, string value, string entityId);
+ public abstract Task SetAsync(SettingDefinition setting, string value, string providerKey);
- public abstract Task ClearAsync(SettingDefinition setting, string entityId);
+ public abstract Task ClearAsync(SettingDefinition setting, string providerKey);
}
}
\ No newline at end of file
diff --git a/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityApplicationTestBase.cs b/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityApplicationTestBase.cs
index 5077ad8e3c..d30568aca4 100644
--- a/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityApplicationTestBase.cs
+++ b/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityApplicationTestBase.cs
@@ -35,8 +35,8 @@ namespace Volo.Abp.Settings
return UsingDbContext(context =>
context.Settings.Where(
s =>
- s.EntityType == UserSettingValueProvider.DefaultEntityType &&
- s.EntityId == AbpIdentityTestDataBuilder.User1Id.ToString() &&
+ s.ProviderName == UserSettingValueProvider.ProviderName &&
+ s.ProviderKey == AbpIdentityTestDataBuilder.User1Id.ToString() &&
s.Name == "MySetting2"
).ToList()
);
diff --git a/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityTestDataBuilder.cs b/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityTestDataBuilder.cs
index 5405edf567..73488df1b4 100644
--- a/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityTestDataBuilder.cs
+++ b/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityTestDataBuilder.cs
@@ -21,14 +21,14 @@ namespace Volo.Abp.Settings
public void Build()
{
- _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting1", "42", GlobalSettingValueProvider.DefaultEntityType));
+ _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting1", "42", GlobalSettingValueProvider.ProviderName));
- _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "default-store-value", GlobalSettingValueProvider.DefaultEntityType));
- _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user1-store-value", UserSettingValueProvider.DefaultEntityType, User1Id.ToString()));
- _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user2-store-value", UserSettingValueProvider.DefaultEntityType, User2Id.ToString()));
+ _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "default-store-value", GlobalSettingValueProvider.ProviderName));
+ _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user1-store-value", UserSettingValueProvider.ProviderName, User1Id.ToString()));
+ _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user2-store-value", UserSettingValueProvider.ProviderName, User2Id.ToString()));
- _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySettingWithoutInherit", "default-store-value", GlobalSettingValueProvider.DefaultEntityType));
- _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySettingWithoutInherit", "user1-store-value", UserSettingValueProvider.DefaultEntityType, User1Id.ToString()));
+ _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySettingWithoutInherit", "default-store-value", GlobalSettingValueProvider.ProviderName));
+ _settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySettingWithoutInherit", "user1-store-value", UserSettingValueProvider.ProviderName, User1Id.ToString()));
}
}
}
\ No newline at end of file
diff --git a/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingManager_User_Tests.cs b/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingManager_User_Tests.cs
index 621c31f0a9..767a10bd94 100644
--- a/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingManager_User_Tests.cs
+++ b/test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/SettingManager_User_Tests.cs
@@ -111,7 +111,7 @@ namespace Volo.Abp.Settings
await _settingManager.SetForUserAsync(AbpIdentityTestDataBuilder.User1Id, "MySetting2", null);
GetSettingsFromDbContext(
- UserSettingValueProvider.DefaultEntityType,
+ UserSettingValueProvider.ProviderName,
AbpIdentityTestDataBuilder.User1Id.ToString(),
"MySetting2"
).Count.ShouldBe(0);
@@ -129,7 +129,7 @@ namespace Volo.Abp.Settings
.ShouldBe("user1-new-store-value");
GetSettingsFromDbContext(
- UserSettingValueProvider.DefaultEntityType,
+ UserSettingValueProvider.ProviderName,
AbpIdentityTestDataBuilder.User1Id.ToString(),
"MySetting2"
).Single().Value.ShouldBe("user1-new-store-value");
@@ -145,7 +145,7 @@ namespace Volo.Abp.Settings
);
GetSettingsFromDbContext(
- UserSettingValueProvider.DefaultEntityType,
+ UserSettingValueProvider.ProviderName,
AbpIdentityTestDataBuilder.User1Id.ToString(),
"MySetting2"
).Count.ShouldBe(0);
@@ -165,7 +165,7 @@ namespace Volo.Abp.Settings
);
GetSettingsFromDbContext(
- UserSettingValueProvider.DefaultEntityType,
+ UserSettingValueProvider.ProviderName,
AbpIdentityTestDataBuilder.User1Id.ToString(),
"MySetting2"
).Single().Value.ShouldBe("default-store-value");