28 lines
1.3 KiB
C#
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();
|
|
}
|
|
}
|