feat: мультироль
🚀 Create and publish a Docker image / Detect changes in backend and frontend (push) Successful in 9s
🚀 Create and publish a Docker image / Build & publish backend image (push) Successful in 2m6s
🚀 Create and publish a Docker image / Build & publish frontend image (push) Successful in 26s
🚀 Create and publish a Docker image / Update stack on Portainer (push) Successful in 6s

This commit is contained in:
2026-05-11 21:29:16 +03:00
parent 3b0bbfc858
commit 6824d7ce7d
29 changed files with 1350 additions and 95 deletions
@@ -17,7 +17,7 @@ namespace UniVerse.Infrastructure.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "10.0.0")
.HasAnnotation("ProductVersion", "10.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "coin_transaction_type", "coin_transaction_type", new[] { "review_reward", "achievement_reward", "attendance_reward", "admin_adjustment" });
@@ -667,10 +667,6 @@ namespace UniVerse.Infrastructure.Migrations
.HasColumnType("character varying(255)")
.HasColumnName("microsoft_id");
b.Property<int>("Role")
.HasColumnType("integer")
.HasColumnName("role");
b.Property<DateTime>("UpdatedAt")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
@@ -725,6 +721,21 @@ namespace UniVerse.Infrastructure.Migrations
b.ToTable("user_achievements", (string)null);
});
modelBuilder.Entity("UniVerse.Domain.Entities.UserRoleAssignment", b =>
{
b.Property<int>("UserId")
.HasColumnType("integer")
.HasColumnName("user_id");
b.Property<int>("Role")
.HasColumnType("integer")
.HasColumnName("role");
b.HasKey("UserId", "Role");
b.ToTable("user_roles", (string)null);
});
modelBuilder.Entity("UniVerse.Domain.Entities.CoinTransaction", b =>
{
b.HasOne("UniVerse.Domain.Entities.Achievement", "Achievement")
@@ -894,6 +905,17 @@ namespace UniVerse.Infrastructure.Migrations
b.Navigation("User");
});
modelBuilder.Entity("UniVerse.Domain.Entities.UserRoleAssignment", b =>
{
b.HasOne("UniVerse.Domain.Entities.User", "User")
.WithMany("Roles")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("UniVerse.Domain.Entities.Achievement", b =>
{
b.Navigation("UserAchievements");
@@ -940,6 +962,8 @@ namespace UniVerse.Infrastructure.Migrations
b.Navigation("Reviews");
b.Navigation("Roles");
b.Navigation("StudentProfile");
b.Navigation("TeacherProfile");