Feature/request type access (#23)
Tests / frontend-test (push) Successful in 49s
Tests / backend-test (push) Successful in 1m38s

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/23
This commit was merged in pull request #23.
This commit is contained in:
2026-09-25 11:48:02 +00:00
parent 1bf8d4ca11
commit a8bfd9f456
20 changed files with 1067 additions and 2 deletions
@@ -7,6 +7,7 @@ namespace Tnsu.ApprovalRoute.Infrastructure.Persistence;
public class ApprovalRouteDbContext(DbContextOptions<ApprovalRouteDbContext> options) : DbContext(options)
{
public DbSet<RequestType> RequestTypes => Set<RequestType>();
public DbSet<RequestTypeAccess> RequestTypeAccesses => Set<RequestTypeAccess>();
public DbSet<RequestListPartition> RequestListPartitions => Set<RequestListPartition>();
public DbSet<TemplateRoute> TemplateRoutes => Set<TemplateRoute>();
public DbSet<TemplateRouteStep> TemplateRouteSteps => Set<TemplateRouteStep>();
@@ -35,6 +36,15 @@ public class ApprovalRouteDbContext(DbContextOptions<ApprovalRouteDbContext> opt
e.Property(x => x.Section).HasMaxLength(256).IsRequired();
});
modelBuilder.Entity<RequestTypeAccess>(e =>
{
e.HasKey(x => x.Id);
e.Property(x => x.Email).HasMaxLength(256).IsRequired();
e.HasOne(x => x.RequestType).WithMany().HasForeignKey(x => x.RequestTypeId);
// Одна и та же пара тип+email не должна выдаваться дважды.
e.HasIndex(x => new { x.RequestTypeId, x.Email }).IsUnique();
});
modelBuilder.Entity<RequestListPartition>(e =>
{
e.HasKey(x => x.Id);