feat/Update_Controllers_to_Allow_for_Premium_Membership

This commit is contained in:
cesnimda
2026-08-03 09:17:28 +02:00
parent de937d25dc
commit c3f4a57195
187 changed files with 26062 additions and 991 deletions
@@ -190,6 +190,9 @@ namespace JobTrackerApi.Migrations
b.Property<int>("AccessFailedCount")
.HasColumnType("INTEGER");
b.Property<bool>("AiEnabled")
.HasColumnType("INTEGER");
b.Property<string>("AvatarImageDataUrl")
.HasColumnType("TEXT");
@@ -216,6 +219,9 @@ namespace JobTrackerApi.Migrations
b.Property<bool>("EmailConfirmed")
.HasColumnType("INTEGER");
b.Property<bool>("ExternalAiProcessingAllowed")
.HasColumnType("INTEGER");
b.Property<string>("FirstName")
.HasColumnType("TEXT");
@@ -243,9 +249,17 @@ namespace JobTrackerApi.Migrations
b.Property<DateTimeOffset?>("MicrosoftLinkedAt")
.HasColumnType("TEXT");
b.Property<string>("MicrosoftObjectId")
.HasMaxLength(36)
.HasColumnType("TEXT");
b.Property<string>("MicrosoftSubject")
.HasColumnType("TEXT");
b.Property<string>("MicrosoftTenantId")
.HasMaxLength(36)
.HasColumnType("TEXT");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("TEXT");
@@ -257,6 +271,13 @@ namespace JobTrackerApi.Migrations
b.Property<string>("PasswordHash")
.HasColumnType("TEXT");
b.Property<string>("PendingEmail")
.HasMaxLength(320)
.HasColumnType("TEXT");
b.Property<DateTimeOffset?>("PendingEmailRequestedAtUtc")
.HasColumnType("TEXT");
b.Property<string>("PhoneNumber")
.HasColumnType("TEXT");
@@ -309,6 +330,9 @@ namespace JobTrackerApi.Migrations
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.HasIndex("MicrosoftTenantId", "MicrosoftObjectId")
.IsUnique();
b.ToTable("AspNetUsers", (string)null);
});
@@ -1828,6 +1852,176 @@ namespace JobTrackerApi.Migrations
b.ToTable("TwoFactorRecoveryCodes");
});
modelBuilder.Entity("JobTrackerApi.Models.UserNotification", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<DateTime>("CreatedAtUtc")
.HasColumnType("TEXT");
b.Property<DateTime?>("DismissedAtUtc")
.HasColumnType("TEXT");
b.Property<string>("Kind")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property<string>("LinkPath")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property<string>("Message")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property<Guid?>("OperationId")
.HasColumnType("TEXT");
b.Property<string>("OwnerUserId")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("TEXT");
b.Property<DateTime?>("ReadAtUtc")
.HasColumnType("TEXT");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(160)
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("OperationId")
.IsUnique();
b.HasIndex("OwnerUserId", "DismissedAtUtc", "ReadAtUtc", "CreatedAtUtc");
b.ToTable("UserNotifications");
});
modelBuilder.Entity("JobTrackerApi.Models.UserOperation", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<int>("AttemptCount")
.HasColumnType("INTEGER");
b.Property<DateTime>("AvailableAtUtc")
.HasColumnType("TEXT");
b.Property<DateTime?>("CancellationRequestedAtUtc")
.HasColumnType("TEXT");
b.Property<DateTime?>("CompletedAtUtc")
.HasColumnType("TEXT");
b.Property<DateTime>("CreatedAtUtc")
.HasColumnType("TEXT");
b.Property<DateTime?>("DeadlineAtUtc")
.HasColumnType("TEXT");
b.Property<string>("EntitlementDecision")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property<string>("FailureCategory")
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property<string>("FailureMessage")
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property<string>("IdempotencyKey")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property<DateTime?>("LastHeartbeatAtUtc")
.HasColumnType("TEXT");
b.Property<DateTime?>("LeaseExpiresAtUtc")
.HasColumnType("TEXT");
b.Property<string>("LeaseToken")
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property<int>("MaxAttempts")
.HasColumnType("INTEGER");
b.Property<string>("Model")
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property<string>("OwnerUserId")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("TEXT");
b.Property<int>("Priority")
.HasColumnType("INTEGER");
b.Property<string>("PrivacyPolicy")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property<int?>("ProgressPercent")
.HasColumnType("INTEGER");
b.Property<string>("ProgressStage")
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property<string>("Provider")
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property<string>("ResultReference")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property<DateTime?>("StartedAtUtc")
.HasColumnType("TEXT");
b.Property<string>("Status")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property<string>("SubjectId")
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property<string>("SubjectType")
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property<string>("TaskType")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("OwnerUserId", "TaskType", "IdempotencyKey")
.IsUnique();
b.HasIndex("Status", "AvailableAtUtc", "Priority");
b.ToTable("UserOperations");
});
modelBuilder.Entity("JobTrackerApi.Models.UserRuleSettings", b =>
{
b.Property<string>("OwnerUserId")
@@ -2262,6 +2456,16 @@ namespace JobTrackerApi.Migrations
b.Navigation("JobApplication");
});
modelBuilder.Entity("JobTrackerApi.Models.UserNotification", b =>
{
b.HasOne("JobTrackerApi.Models.UserOperation", "Operation")
.WithOne()
.HasForeignKey("JobTrackerApi.Models.UserNotification", "OperationId")
.OnDelete(DeleteBehavior.SetNull);
b.Navigation("Operation");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)