Files
btcpayserver/BTCPayServer.Data/ValueGenerators.cs
2025-10-28 15:33:23 +09:00

23 lines
692 B
C#

using System;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.ValueGeneration;
using NBitcoin;
using NBitcoin.DataEncoders;
namespace BTCPayServer.Data;
public class ValueGenerators
{
class WithPrefixGen(string prefix) : ValueGenerator
{
protected override object NextValue(EntityEntry entry)
=> $"{prefix}_{Encoders.Base58.EncodeData(RandomUtils.GetBytes(13))}";
public override bool GeneratesTemporaryValues => false;
}
public static Func<IProperty, ITypeBase, ValueGenerator> WithPrefix(string prefix)
=> (_, _) => new WithPrefixGen(prefix);
}