asentrafin/backend/Data/Configurations/PlaidSecurityConfiguration.cs

28 lines
1.3 KiB
C#

using Asentrafin.Api.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Asentrafin.Api.Data.Configurations;
public class PlaidSecurityConfiguration : IEntityTypeConfiguration<PlaidSecurity>
{
public void Configure(EntityTypeBuilder<PlaidSecurity> builder)
{
builder.ToTable("plaid_securities");
builder.HasKey(security => security.Id);
builder.Property(security => security.PlaidSecurityId).HasMaxLength(128).IsRequired();
builder.Property(security => security.Cusip).HasMaxLength(32);
builder.Property(security => security.Isin).HasMaxLength(32);
builder.Property(security => security.Sedol).HasMaxLength(32);
builder.Property(security => security.TickerSymbol).HasMaxLength(32);
builder.Property(security => security.Name).HasMaxLength(512);
builder.Property(security => security.Type).HasMaxLength(64);
builder.Property(security => security.IsoCurrencyCode).HasMaxLength(8);
builder.Property(security => security.UnofficialCurrencyCode).HasMaxLength(32);
builder.Property(security => security.RawJson).HasColumnType("jsonb");
builder.HasIndex(security => security.PlaidSecurityId).IsUnique();
}
}