23157d2bcf
Flow Debugger (design 2026-09-05 §5.2): bit NOT NULL DEFAULT 0 column + EF migration 20260906034113 with its docs/plans/sql production twin. CreateApiMethodCommand gains TraceAllCalls=false; UpdateApiMethodCommand gains bool? TraceAllCalls (null = unchanged so an older CLI never resets it). Management result echoes the flag; CLI create/update expose --trace-all-calls; README carries the ~7-rows-per-call warning. Claude-Session: https://claude.ai/code/session_01GSLkkHKz9JrAtmJjmQK3cP
42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
using ZB.MOM.WW.ScadaBridge.Commons.Entities.InboundApi;
|
|
|
|
namespace ZB.MOM.WW.ScadaBridge.ConfigurationDatabase.Configurations;
|
|
|
|
// The SQL Server ApiKey entity was retired — inbound API keys now
|
|
// live in the shared ZB.MOM.WW.Auth.ApiKeys SQLite store. The former
|
|
// ApiKeyConfiguration (and the ApiMethod.ApprovedApiKeyIds mapping) were removed; the
|
|
// ApiKeys table + ApprovedApiKeyIds column are dropped by the RetireInboundApiKeyStore
|
|
// migration.
|
|
|
|
public class ApiMethodConfiguration : IEntityTypeConfiguration<ApiMethod>
|
|
{
|
|
/// <summary>Configures the EF Core mapping for the <see cref="ApiMethod"/> entity.</summary>
|
|
/// <param name="builder">Entity type builder used to apply the configuration.</param>
|
|
public void Configure(EntityTypeBuilder<ApiMethod> builder)
|
|
{
|
|
builder.HasKey(m => m.Id);
|
|
|
|
builder.Property(m => m.Name)
|
|
.IsRequired()
|
|
.HasMaxLength(200);
|
|
|
|
builder.Property(m => m.Script)
|
|
.IsRequired();
|
|
|
|
builder.Property(m => m.ParameterDefinitions)
|
|
.HasMaxLength(4000);
|
|
|
|
builder.Property(m => m.ReturnDefinition)
|
|
.HasMaxLength(4000);
|
|
|
|
// Flow Debugger (design 2026-09-05 §5.2): bit NOT NULL DEFAULT 0.
|
|
builder.Property(m => m.TraceAllCalls)
|
|
.IsRequired()
|
|
.HasDefaultValue(false);
|
|
|
|
builder.HasIndex(m => m.Name).IsUnique();
|
|
}
|
|
}
|