using Asentrafin.Api.Entities; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Asentrafin.Api.Data.Configurations; public class PlaidSecurityConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder 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(); } }