Catalog declared in code (Domain/Features/FeatureFlags.cs, build-validated), on/off state
persisted in SQLite (FeatureFlagStore + migration). GET /flags (drives FE gating) + admin
PUT /admin/flags/{key} (new flags:manage capability + FlagsAdmin gate). Enforced end-to-end:
the `inschrijving-open` flag hides the Inschrijven nav item + dashboard action (FE) AND makes
POST /applications for a registratie 403 when off (backend). FE FeatureFlagStore mirrors
AccessStore (enabled() deny-by-default); admin toggle page at /beheer/functies in ADMIN_LINKS.
+4 backend tests, /me cap-list updated, client regenerated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
271 lines
8.6 KiB
C#
271 lines
8.6 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using BigRegister.Api.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
#nullable disable
|
|
|
|
namespace BigRegister.Api.Data.Migrations
|
|
{
|
|
[DbContext(typeof(AppDbContext))]
|
|
partial class AppDbContextModelSnapshot : ModelSnapshot
|
|
{
|
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder.HasAnnotation("ProductVersion", "10.0.9");
|
|
|
|
modelBuilder.Entity("BigRegister.Api.Data.Aanvraag", b =>
|
|
{
|
|
b.Property<string>("Id")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<bool>("AutoApprovable")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("DocumentIds")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Draft")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Owner")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Reden")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Referentie")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("StepCount")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("StepIndex")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("Submitted")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTimeOffset?>("SubmittedAt")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Type")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTimeOffset>("UpdatedAt")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Applications");
|
|
});
|
|
|
|
modelBuilder.Entity("BigRegister.Api.Data.AuditEntry", b =>
|
|
{
|
|
b.Property<long>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Action")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Actor")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTimeOffset>("At")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("CategoryId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("DocumentId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("AuditEntries");
|
|
});
|
|
|
|
modelBuilder.Entity("BigRegister.Api.Data.AuthzAuditEntry", b =>
|
|
{
|
|
b.Property<long>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Action")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTimeOffset>("At")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("CorrelationId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Decision")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Resource")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Role")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("AuthzAudit");
|
|
});
|
|
|
|
modelBuilder.Entity("BigRegister.Api.Data.BriefEntity", b =>
|
|
{
|
|
b.Property<string>("BriefId")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("ArchivedHtml")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Beroep")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("DrafterId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Owner")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Placeholders")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Sections")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("SentOrgTemplateVersion")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("SubOrgId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("TemplateId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("BriefId");
|
|
|
|
b.HasIndex("Owner")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Briefs");
|
|
});
|
|
|
|
modelBuilder.Entity("BigRegister.Api.Data.FeatureFlagEntity", b =>
|
|
{
|
|
b.Property<string>("Key")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<bool>("Enabled")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Key");
|
|
|
|
b.ToTable("FeatureFlags");
|
|
});
|
|
|
|
modelBuilder.Entity("BigRegister.Api.Data.OrgTemplateEntity", b =>
|
|
{
|
|
b.Property<string>("SubOrgId")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Draft")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("History")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("PublishedVersion")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("SubOrgId");
|
|
|
|
b.ToTable("OrgTemplates");
|
|
});
|
|
|
|
modelBuilder.Entity("BigRegister.Api.Data.StoredDocument", b =>
|
|
{
|
|
b.Property<string>("DocumentId")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("CategoryId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<byte[]>("Content")
|
|
.IsRequired()
|
|
.HasColumnType("BLOB");
|
|
|
|
b.Property<string>("ContentType")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("FileName")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<bool>("Linked")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("LocalId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Owner")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<long>("SizeBytes")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTimeOffset>("UploadedAt")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("WizardId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("DocumentId");
|
|
|
|
b.ToTable("Documents");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|