В.7 Запись в AppSettings конкретного класса
Для того, чтобы открыть запись через middleware в AppSettings необходимо добавить свой IMutationLogicMapPart и при необходимости добавить свой MutationLogic.
В приведенном нижу примере мы просто открываем запись для определенного класса:
|
// запись в AppSettings конкретного класса
using Eos.Delo.Platform.Storage.Services.Logic;
using Eos.Delo.Platform.Storage.Services.Logic.MutationLogic;
using Eos.Delo.Samples.AppSettings.Module.Services.Logic.MutationLogic;
using Eos.Platform.AppSettings;
using System.Collections.Generic;
namespace Eos.Delo.Samples.AppSettings.Module.Services.Logic
{
public class MutationLogicMapPartAppSettingsTest : IMutationLogicMapPart
{
private static readonly List<MutationLogicMapPartItem> _supportedTypes = new()
{
new((obj) =>
{
var appSettings = (IAppSettings)obj;
if (appSettings.Namespace == typeof(AppSettingsTestClass).Namespace && appSettings.Typename == nameof(AppSettingsTestClass))
return typeof(PermissiveMutationLogic);
else
return typeof(DeniedMutationLogic);
}, new[] { typeof(IAppSettings) })
};
public IReadOnlyList<MutationLogicMapPartItem> SupportedTypes =>
_supportedTypes;
}
}
//Добавление в startup:
serviceCollection.AddSingleton<IMutationLogicMapPart, MutationLogicMapPartAppSettingsTest>();
|
Также можно определить собственный MutationLogic, если нужно описать права.
Примеры можно найти в дистрибутиве системы в архиве «APISamples.zip» (проект Eos.Delo.Samples.AppSettings.Module).
