апи для работы с маршрутами согласования #2

Merged
admin merged 38 commits from initial-api into main 2026-07-27 13:14:32 +00:00
4 changed files with 9 additions and 9 deletions
Showing only changes of commit ccba53cc94 - Show all commits
@@ -9,5 +9,5 @@ public class RequestType
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
public string PageUrl { get; set; } = string.Empty; public string PageUrl { get; set; } = string.Empty;
public ICollection<Route> Routes { get; set; } = new List<Route>(); public ICollection<TemplateRoute> Routes { get; set; } = new List<TemplateRoute>();
} }
@@ -2,7 +2,7 @@ using Tnsu.ApprovalRoute.Domain.Enums;
namespace Tnsu.ApprovalRoute.Domain.Entities; namespace Tnsu.ApprovalRoute.Domain.Entities;
public class Route public class TemplateRoute
{ {
public Guid Id { get; set; } = Guid.NewGuid(); public Guid Id { get; set; } = Guid.NewGuid();
public RouteType RouteType { get; set; } = RouteType.Sequential; public RouteType RouteType { get; set; } = RouteType.Sequential;
@@ -16,5 +16,5 @@ public class Route
public bool RequiresControl { get; set; } public bool RequiresControl { get; set; }
public RequestType? RequestType { get; set; } public RequestType? RequestType { get; set; }
public ICollection<RouteStep> Steps { get; set; } = new List<RouteStep>(); public ICollection<TemplateRouteStep> Steps { get; set; } = new List<TemplateRouteStep>();
} }
@@ -2,7 +2,7 @@ using Tnsu.ApprovalRoute.Domain.Enums;
namespace Tnsu.ApprovalRoute.Domain.Entities; namespace Tnsu.ApprovalRoute.Domain.Entities;
public class RouteStep public class TemplateRouteStep
{ {
public Guid Id { get; set; } = Guid.NewGuid(); public Guid Id { get; set; } = Guid.NewGuid();
public int OrderNo { get; set; } public int OrderNo { get; set; }
@@ -16,5 +16,5 @@ public class RouteStep
public Guid RouteId { get; set; } public Guid RouteId { get; set; }
public bool AllowReassignToOtherApprovers { get; set; } public bool AllowReassignToOtherApprovers { get; set; }
public Route? Route { get; set; } public TemplateRoute? Route { get; set; }
} }
@@ -6,8 +6,8 @@ namespace Tnsu.ApprovalRoute.Infrastructure.Persistence;
public class ApprovalRouteDbContext(DbContextOptions<ApprovalRouteDbContext> options) : DbContext(options) public class ApprovalRouteDbContext(DbContextOptions<ApprovalRouteDbContext> options) : DbContext(options)
{ {
public DbSet<RequestType> RequestTypes => Set<RequestType>(); public DbSet<RequestType> RequestTypes => Set<RequestType>();
public DbSet<Route> Routes => Set<Route>(); public DbSet<TemplateRoute> Routes => Set<TemplateRoute>();
public DbSet<RouteStep> RouteSteps => Set<RouteStep>(); public DbSet<TemplateRouteStep> RouteSteps => Set<TemplateRouteStep>();
protected override void OnModelCreating(ModelBuilder modelBuilder) protected override void OnModelCreating(ModelBuilder modelBuilder)
{ {
@@ -18,14 +18,14 @@ public class ApprovalRouteDbContext(DbContextOptions<ApprovalRouteDbContext> opt
e.Property(x => x.PageUrl).HasMaxLength(512).IsRequired(); e.Property(x => x.PageUrl).HasMaxLength(512).IsRequired();
}); });
modelBuilder.Entity<Route>(e => modelBuilder.Entity<TemplateRoute>(e =>
{ {
e.HasKey(x => x.Id); e.HasKey(x => x.Id);
e.Property(x => x.RouteType).HasConversion<string>().HasMaxLength(32).IsRequired(); e.Property(x => x.RouteType).HasConversion<string>().HasMaxLength(32).IsRequired();
e.HasOne(x => x.RequestType).WithMany(x => x.Routes).HasForeignKey(x => x.RequestTypeId); e.HasOne(x => x.RequestType).WithMany(x => x.Routes).HasForeignKey(x => x.RequestTypeId);
}); });
modelBuilder.Entity<RouteStep>(e => modelBuilder.Entity<TemplateRouteStep>(e =>
{ {
e.HasKey(x => x.Id); e.HasKey(x => x.Id);
e.Property(x => x.ExecutorEmail).HasMaxLength(256).IsRequired(); e.Property(x => x.ExecutorEmail).HasMaxLength(256).IsRequired();