feat: 角色模板改为数据库管理支持前端自定义
This commit is contained in:
@@ -34,6 +34,16 @@ public sealed class IdentityDbContext(
|
||||
/// </summary>
|
||||
public DbSet<Role> Roles => Set<Role>();
|
||||
|
||||
/// <summary>
|
||||
/// 角色模板集合(平台级)。
|
||||
/// </summary>
|
||||
public DbSet<RoleTemplate> RoleTemplates => Set<RoleTemplate>();
|
||||
|
||||
/// <summary>
|
||||
/// 角色模板权限集合。
|
||||
/// </summary>
|
||||
public DbSet<RoleTemplatePermission> RoleTemplatePermissions => Set<RoleTemplatePermission>();
|
||||
|
||||
/// <summary>
|
||||
/// 权限集合。
|
||||
/// </summary>
|
||||
@@ -59,6 +69,8 @@ public sealed class IdentityDbContext(
|
||||
ConfigureIdentityUser(modelBuilder.Entity<IdentityUser>());
|
||||
ConfigureMiniUser(modelBuilder.Entity<MiniUser>());
|
||||
ConfigureRole(modelBuilder.Entity<Role>());
|
||||
ConfigureRoleTemplate(modelBuilder.Entity<RoleTemplate>());
|
||||
ConfigureRoleTemplatePermission(modelBuilder.Entity<RoleTemplatePermission>());
|
||||
ConfigurePermission(modelBuilder.Entity<Permission>());
|
||||
ConfigureUserRole(modelBuilder.Entity<UserRole>());
|
||||
ConfigureRolePermission(modelBuilder.Entity<RolePermission>());
|
||||
@@ -133,6 +145,28 @@ public sealed class IdentityDbContext(
|
||||
builder.HasIndex(x => new { x.TenantId, x.Code }).IsUnique();
|
||||
}
|
||||
|
||||
private static void ConfigureRoleTemplate(EntityTypeBuilder<RoleTemplate> builder)
|
||||
{
|
||||
builder.ToTable("role_templates");
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.TemplateCode).HasMaxLength(64).IsRequired();
|
||||
builder.Property(x => x.Name).HasMaxLength(128).IsRequired();
|
||||
builder.Property(x => x.Description).HasMaxLength(256);
|
||||
builder.Property(x => x.IsActive).IsRequired();
|
||||
ConfigureAuditableEntity(builder);
|
||||
builder.HasIndex(x => x.TemplateCode).IsUnique();
|
||||
}
|
||||
|
||||
private static void ConfigureRoleTemplatePermission(EntityTypeBuilder<RoleTemplatePermission> builder)
|
||||
{
|
||||
builder.ToTable("role_template_permissions");
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.RoleTemplateId).IsRequired();
|
||||
builder.Property(x => x.PermissionCode).HasMaxLength(128).IsRequired();
|
||||
ConfigureAuditableEntity(builder);
|
||||
builder.HasIndex(x => new { x.RoleTemplateId, x.PermissionCode }).IsUnique();
|
||||
}
|
||||
|
||||
private static void ConfigureUserRole(EntityTypeBuilder<UserRole> builder)
|
||||
{
|
||||
builder.ToTable("user_roles");
|
||||
|
||||
Reference in New Issue
Block a user