mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 07:36:14 -05:00
refactor code to with user TwoFactorProviders
This commit is contained in:
21
src/Core/Utilities/EnumKeyResolver.cs
Normal file
21
src/Core/Utilities/EnumKeyResolver.cs
Normal file
@ -0,0 +1,21 @@
|
||||
using Newtonsoft.Json.Serialization;
|
||||
using System;
|
||||
|
||||
namespace Bit.Core.Utilities
|
||||
{
|
||||
public class EnumKeyResolver<T> : DefaultContractResolver where T : struct
|
||||
{
|
||||
protected override JsonDictionaryContract CreateDictionaryContract(Type objectType)
|
||||
{
|
||||
var contract = base.CreateDictionaryContract(objectType);
|
||||
var keyType = contract.DictionaryKeyType;
|
||||
|
||||
if(keyType.BaseType == typeof(Enum))
|
||||
{
|
||||
contract.DictionaryKeyResolver = propName => ((T)Enum.Parse(keyType, propName)).ToString();
|
||||
}
|
||||
|
||||
return contract;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user