feat: add FormComponentRegistry entity and EF configuration
This commit is contained in:
parent
293b23958f
commit
37ca47c5ea
21
src/Workflow.Domain/Entities/FormComponentRegistry.cs
Normal file
21
src/Workflow.Domain/Entities/FormComponentRegistry.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
using Workflow.Domain.Common;
|
||||||
|
|
||||||
|
namespace Workflow.Domain.Entities;
|
||||||
|
|
||||||
|
public class FormComponentRegistry : BaseEntity, IFullAudit
|
||||||
|
{
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
public string DisplayName { get; set; } = string.Empty;
|
||||||
|
public string Category { get; set; } = string.Empty;
|
||||||
|
public string Icon { get; set; } = string.Empty;
|
||||||
|
public string DefaultSchema { get; set; } = string.Empty;
|
||||||
|
public string SupportedProps { get; set; } = "{}";
|
||||||
|
public bool IsActive { get; set; } = true;
|
||||||
|
public int SortOrder { get; set; }
|
||||||
|
public Guid CreatedBy { get; set; }
|
||||||
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||||
|
public Guid UpdatedBy { get; set; }
|
||||||
|
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
|
||||||
|
public bool IsDeleted { get; set; }
|
||||||
|
public string? OperatorIP { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
|
using Workflow.Domain.Entities;
|
||||||
|
|
||||||
|
namespace Workflow.Infrastructure.Persistence.Configurations;
|
||||||
|
|
||||||
|
public class FormComponentRegistryConfiguration : IEntityTypeConfiguration<FormComponentRegistry>
|
||||||
|
{
|
||||||
|
public void Configure(EntityTypeBuilder<FormComponentRegistry> builder)
|
||||||
|
{
|
||||||
|
builder.ToTable("wf_form_component_registry");
|
||||||
|
builder.HasKey(e => e.Id);
|
||||||
|
builder.Property(e => e.Id).ValueGeneratedNever();
|
||||||
|
builder.Property(e => e.Name).HasMaxLength(100).IsRequired();
|
||||||
|
builder.Property(e => e.DisplayName).HasMaxLength(100).IsRequired();
|
||||||
|
builder.Property(e => e.Category).HasMaxLength(50).IsRequired();
|
||||||
|
builder.Property(e => e.Icon).HasMaxLength(100).IsRequired();
|
||||||
|
builder.Property(e => e.DefaultSchema).HasColumnType("jsonb").IsRequired();
|
||||||
|
builder.Property(e => e.SupportedProps).HasColumnType("jsonb").IsRequired();
|
||||||
|
builder.Property(e => e.OperatorIP).HasMaxLength(500);
|
||||||
|
builder.HasIndex(e => e.Name).IsUnique();
|
||||||
|
builder.HasIndex(e => e.Category);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -17,8 +17,8 @@ public class WorkflowDbContext : DbContext
|
|||||||
public DbSet<WorkflowToken> WorkflowTokens => Set<WorkflowToken>();
|
public DbSet<WorkflowToken> WorkflowTokens => Set<WorkflowToken>();
|
||||||
public DbSet<WorkflowTask> WorkflowTasks => Set<WorkflowTask>();
|
public DbSet<WorkflowTask> WorkflowTasks => Set<WorkflowTask>();
|
||||||
public DbSet<FormDefinition> FormDefinitions => Set<FormDefinition>();
|
public DbSet<FormDefinition> FormDefinitions => Set<FormDefinition>();
|
||||||
public DbSet<FormDefinitionField> FormDefinitionFields => Set<FormDefinitionField>();
|
|
||||||
public DbSet<FormData> FormData => Set<FormData>();
|
public DbSet<FormData> FormData => Set<FormData>();
|
||||||
|
public DbSet<FormComponentRegistry> FormComponentRegistries => Set<FormComponentRegistry>();
|
||||||
|
|
||||||
public WorkflowDbContext(DbContextOptions<WorkflowDbContext> options) : base(options) { }
|
public WorkflowDbContext(DbContextOptions<WorkflowDbContext> options) : base(options) { }
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user