diff --git a/backend/Directory.Packages.props b/backend/Directory.Packages.props index 775e9b8..6dc7798 100644 --- a/backend/Directory.Packages.props +++ b/backend/Directory.Packages.props @@ -3,6 +3,7 @@ true + @@ -10,4 +11,4 @@ - + \ No newline at end of file diff --git a/backend/src/Tnsu.ApprovalRoute.Api/Program.cs b/backend/src/Tnsu.ApprovalRoute.Api/Program.cs index a1dac74..5d1223b 100644 --- a/backend/src/Tnsu.ApprovalRoute.Api/Program.cs +++ b/backend/src/Tnsu.ApprovalRoute.Api/Program.cs @@ -1,3 +1,4 @@ +using Extensions.Hosting.AsyncInitialization; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -18,6 +19,6 @@ if (app.Environment.IsDevelopment()) app.MapHealthChecks("/health"); -app.Run(); +await app.InitAndRunAsync(); public partial class Program; diff --git a/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj b/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj index 24f7ac4..efc7fdf 100644 --- a/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj +++ b/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj @@ -4,6 +4,7 @@ + diff --git a/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteStepStatus.cs b/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteStepStatus.cs index 147d9d6..77d1367 100644 --- a/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteStepStatus.cs +++ b/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteStepStatus.cs @@ -2,6 +2,7 @@ namespace Tnsu.ApprovalRoute.Domain.Enums; public enum RouteStepStatus { + None, Draft, OnApproval, Approved, diff --git a/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteType.cs b/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteType.cs index 4a042fa..8004453 100644 --- a/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteType.cs +++ b/backend/src/Tnsu.ApprovalRoute.Domain/Enums/RouteType.cs @@ -2,6 +2,7 @@ namespace Tnsu.ApprovalRoute.Domain.Enums; public enum RouteType { + None, Parallel, Sequential } diff --git a/backend/src/Tnsu.ApprovalRoute.Infrastructure/InfrastructureServiceCollectionExtensions.cs b/backend/src/Tnsu.ApprovalRoute.Infrastructure/InfrastructureServiceCollectionExtensions.cs index b470fd9..7a70fcf 100644 --- a/backend/src/Tnsu.ApprovalRoute.Infrastructure/InfrastructureServiceCollectionExtensions.cs +++ b/backend/src/Tnsu.ApprovalRoute.Infrastructure/InfrastructureServiceCollectionExtensions.cs @@ -1,3 +1,4 @@ +using Extensions.Hosting.AsyncInitialization; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -12,6 +13,7 @@ public static class InfrastructureServiceCollectionExtensions { services.AddDbContext(opt => opt.UseNpgsql(configuration.GetConnectionString("Postgres"))); + services.AddAsyncInitializer(); return services; } diff --git a/backend/src/Tnsu.ApprovalRoute.Infrastructure/Persistence/DatabaseMigrationInitializer.cs b/backend/src/Tnsu.ApprovalRoute.Infrastructure/Persistence/DatabaseMigrationInitializer.cs new file mode 100644 index 0000000..c0e10b5 --- /dev/null +++ b/backend/src/Tnsu.ApprovalRoute.Infrastructure/Persistence/DatabaseMigrationInitializer.cs @@ -0,0 +1,10 @@ +using Extensions.Hosting.AsyncInitialization; +using Microsoft.EntityFrameworkCore; + +namespace Tnsu.ApprovalRoute.Infrastructure.Persistence; + +public sealed class DatabaseMigrationInitializer(ApprovalRouteDbContext db) : IAsyncInitializer +{ + public Task InitializeAsync(CancellationToken cancellationToken) => + db.Database.MigrateAsync(cancellationToken); +} diff --git a/backend/src/Tnsu.ApprovalRoute.Infrastructure/Tnsu.ApprovalRoute.Infrastructure.csproj b/backend/src/Tnsu.ApprovalRoute.Infrastructure/Tnsu.ApprovalRoute.Infrastructure.csproj index f268684..ef0f30b 100644 --- a/backend/src/Tnsu.ApprovalRoute.Infrastructure/Tnsu.ApprovalRoute.Infrastructure.csproj +++ b/backend/src/Tnsu.ApprovalRoute.Infrastructure/Tnsu.ApprovalRoute.Infrastructure.csproj @@ -4,6 +4,7 @@ +