Skip to content
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
<PackageReference Include="VirtoCommerce.CoreModule.Core" Version="3.821.0" />
<PackageReference Include="VirtoCommerce.EnvironmentsCompare.Core" Version="3.800.0-alpha.7-vcst-3900-environments-compare-initial" />
<PackageReference Include="VirtoCommerce.NotificationsModule.Core" Version="3.809.0" />
<PackageReference Include="VirtoCommerce.Platform.Core" Version="3.889.0" />
<PackageReference Include="VirtoCommerce.Seo.Core" Version="3.801.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="VirtoCommerce.EnvironmentsCompare.Core">
<HintPath>..\..\..\vc-module-environments-compare\src\VirtoCommerce.EnvironmentsCompare.Core\bin\Debug\net8.0\VirtoCommerce.EnvironmentsCompare.Core.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
using System.Threading.Tasks;
using VirtoCommerce.EnvironmentsCompare.Core.Models;
using VirtoCommerce.EnvironmentsCompare.Core.Services;
using VirtoCommerce.Platform.Core.Common;
using VirtoCommerce.Platform.Core.Settings;
using VirtoCommerce.StoreModule.Core.Model.Search;
using VirtoCommerce.StoreModule.Core.Services;

namespace VirtoCommerce.StoreModule.Data.Services;

public class ComparableStoreSettingsProvider(IStoreSearchService storeSearchService) : IComparableSettingsProvider
{
public async Task<ComparableSettingProviderResult> GetComparableSettingsAsync()
{
var result = AbstractTypeFactory<ComparableSettingProviderResult>.TryCreateInstance();
result.Scope = "StoreSettings";

var storeSearchCriteria = AbstractTypeFactory<StoreSearchCriteria>.TryCreateInstance();
storeSearchCriteria.Take = 100;

foreach (var store in await storeSearchService.SearchAllNoCloneAsync(storeSearchCriteria))
{
var storeGroup = new ComparableSettingGroup();
storeGroup.Name = store.Id;

result.SettingGroups.Add(storeGroup);

foreach (var storeSetting in store.Settings)
{
storeGroup.Settings.Add(new ComparableSetting()
{
Name = storeSetting.Name,
Value = storeSetting.Value,
IsSecret = IsSettingSecret(storeSetting)
});
}
}

return result;
}

protected virtual bool IsSettingSecret(ObjectSettingEntry setting)
{
return setting.ValueType == SettingValueType.SecureString || setting.Name.EqualsIgnoreCase("Shipping.Bopis.GoogleMaps.ApiKey");
}
}
3 changes: 3 additions & 0 deletions src/VirtoCommerce.StoreModule.Web/Module.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using VirtoCommerce.CoreModule.Core.Seo;
using VirtoCommerce.EnvironmentsCompare.Core.Services;
using VirtoCommerce.NotificationsModule.Core.Services;
using VirtoCommerce.Platform.Core.Common;
using VirtoCommerce.Platform.Core.DynamicProperties;
Expand Down Expand Up @@ -81,6 +82,8 @@ public void Initialize(IServiceCollection serviceCollection)
serviceCollection.AddTransient<IStoreAuthenticationService, StoreAuthenticationService>();
serviceCollection.AddTransient<IStoreAuthenticationSchemeService, StoreAuthenticationSchemeService>();
serviceCollection.AddTransient<IStoreAuthenticationSchemeSearchService, StoreAuthenticationSchemeSearchService>();

serviceCollection.AddTransient<IComparableSettingsProvider, ComparableStoreSettingsProvider>();
}

public void PostInitialize(IApplicationBuilder appBuilder)
Expand Down
1 change: 1 addition & 0 deletions src/VirtoCommerce.StoreModule.Web/module.manifest
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<dependency id="VirtoCommerce.Core" version="3.821.0" />
<dependency id="VirtoCommerce.Notifications" version="3.809.0" />
<dependency id="VirtoCommerce.Seo" version="3.801.0" />
<dependency id="VirtoCommerce.EnvironmentsCompare" version="3.800.0-alpha.7-vcst-3900-environments-compare-initial" optional="true" />
</dependencies>

<title>Store</title>
Expand Down
Loading