Added security entities
parent
cbaf4154bd
commit
8e54fdc184
|
@ -1,6 +1,7 @@
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration;
|
using NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration;
|
||||||
using NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration.Power;
|
using NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration.Power;
|
||||||
|
using NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration.Security;
|
||||||
using NetworkResurrector.Api.Domain.Entities;
|
using NetworkResurrector.Api.Domain.Entities;
|
||||||
|
|
||||||
namespace NetworkResurrector.Api.Domain.Data.DbContexts
|
namespace NetworkResurrector.Api.Domain.Data.DbContexts
|
||||||
|
@ -26,6 +27,9 @@ namespace NetworkResurrector.Api.Domain.Data.DbContexts
|
||||||
modelBuilder.ApplyConfiguration(new PowerActionPerformerConfiguration());
|
modelBuilder.ApplyConfiguration(new PowerActionPerformerConfiguration());
|
||||||
modelBuilder.ApplyConfiguration(new PowerActionConfigurationEf());
|
modelBuilder.ApplyConfiguration(new PowerActionConfigurationEf());
|
||||||
modelBuilder.ApplyConfiguration(new MachineAgentConfiguration());
|
modelBuilder.ApplyConfiguration(new MachineAgentConfiguration());
|
||||||
|
modelBuilder.ApplyConfiguration(new PermissionConfiguration());
|
||||||
|
modelBuilder.ApplyConfiguration(new PermissionHierarchyConfiguration());
|
||||||
|
modelBuilder.ApplyConfiguration(new UserRoleAuthorizationConfiguration());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
|
using NetworkResurrector.Api.Domain.Entities.Security;
|
||||||
|
|
||||||
|
namespace NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration.Security
|
||||||
|
{
|
||||||
|
class PermissionConfiguration : IEntityTypeConfiguration<Permission>
|
||||||
|
{
|
||||||
|
public void Configure(EntityTypeBuilder<Permission> builder)
|
||||||
|
{
|
||||||
|
builder.ToTable("Permission").HasKey(key => key.PermissionId);
|
||||||
|
builder.Property(z => z.PermissionId).ValueGeneratedOnAdd();
|
||||||
|
builder.HasMany(z => z.Children).WithOne().HasForeignKey(z => z.ParentPermissionId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
|
using NetworkResurrector.Api.Domain.Entities.Security;
|
||||||
|
|
||||||
|
namespace NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration.Security
|
||||||
|
{
|
||||||
|
class PermissionHierarchyConfiguration : IEntityTypeConfiguration<PermissionHierarchy>
|
||||||
|
{
|
||||||
|
public void Configure(EntityTypeBuilder<PermissionHierarchy> builder)
|
||||||
|
{
|
||||||
|
builder.ToTable("PermissionHierarchy").HasKey(p => new { p.ParentPermissionId, p.ChildPermissionId });
|
||||||
|
builder.HasOne(z => z.Child).WithMany().HasForeignKey(p => p.ChildPermissionId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
|
using NetworkResurrector.Api.Domain.Entities.Security;
|
||||||
|
|
||||||
|
namespace NetworkResurrector.Api.Domain.Data.EntityTypeConfiguration.Security
|
||||||
|
{
|
||||||
|
class UserRoleAuthorizationConfiguration : IEntityTypeConfiguration<UserRoleAuthorization>
|
||||||
|
{
|
||||||
|
public void Configure(EntityTypeBuilder<UserRoleAuthorization> builder)
|
||||||
|
{
|
||||||
|
builder.ToTable("UserRoleAuthorization").HasKey(z => new { z.UserRoleId, z.PermissionId });
|
||||||
|
builder.HasOne(z => z.Permission).WithMany().HasForeignKey(z => z.PermissionId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace NetworkResurrector.Api.Domain.Entities.Security
|
||||||
|
{
|
||||||
|
public class Permission
|
||||||
|
{
|
||||||
|
public int PermissionId { get; set; }
|
||||||
|
public string PermissionCode { get; set; }
|
||||||
|
public string PermissionName { get; set; }
|
||||||
|
public string PermissionDescription { get; set; }
|
||||||
|
public ICollection<PermissionHierarchy> Children { get; set; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace NetworkResurrector.Api.Domain.Entities.Security
|
||||||
|
{
|
||||||
|
public class PermissionHierarchy
|
||||||
|
{
|
||||||
|
public int ParentPermissionId { get; set; }
|
||||||
|
public int ChildPermissionId { get; set; }
|
||||||
|
public Permission Child { get; set; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
namespace NetworkResurrector.Api.Domain.Entities.Security
|
||||||
|
{
|
||||||
|
public class UserRoleAuthorization
|
||||||
|
{
|
||||||
|
public int UserRoleId { get; set; }
|
||||||
|
public int PermissionId { get; set; }
|
||||||
|
public bool Active { get; set; }
|
||||||
|
public Permission Permission { get; set; }
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue