server-master/srcs/_plugins/Plugin.MongoLogs/Extensions/IgnoreDefaultPropertiesConvention.cs
2026-02-10 18:21:30 +01:00

28 lines
No EOL
788 B
C#

using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Conventions;
namespace Plugin.MongoLogs.Extensions
{
public class IgnoreDefaultPropertiesConvention : IMemberMapConvention
{
public string Name => "Ignore default properties for all classes";
public void Apply(BsonMemberMap memberMap)
{
memberMap.SetIgnoreIfDefault(true);
}
}
public class TypedIgnoreDefaultPropertiesConvention<T> : IMemberMapConvention
{
public string Name => $"Ignore Default Properties for {typeof(T)}";
public void Apply(BsonMemberMap memberMap)
{
if (memberMap.ClassMap.ClassType == typeof(T))
{
memberMap.SetIgnoreIfDefault(true);
}
}
}
}