// using System; using System.Collections.Generic; using IdentityShroud.Core.EFCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace IdentityShroud.Migrations.Migrations { [DbContext(typeof(Db))] partial class DbModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.2") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("IdentityShroud.Core.Model.Client", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AllowClientCredentialsFlow") .HasColumnType("boolean") .HasColumnName("allow_client_credentials_flow"); b.Property("ClientId") .IsRequired() .HasMaxLength(40) .HasColumnType("character varying(40)") .HasColumnName("client_id"); b.Property("Confidential") .HasColumnType("boolean") .HasColumnName("confidential"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Description") .HasMaxLength(2048) .HasColumnType("character varying(2048)") .HasColumnName("description"); b.Property("Name") .HasMaxLength(80) .HasColumnType("character varying(80)") .HasColumnName("name"); b.Property("RealmId") .HasColumnType("uuid") .HasColumnName("realm_id"); b.Property("SignatureAlgorithm") .HasMaxLength(20) .HasColumnType("character varying(20)") .HasColumnName("signature_algorithm"); b.HasKey("Id") .HasName("pk_client"); b.HasIndex("ClientId") .IsUnique() .HasDatabaseName("ix_client_client_id"); b.HasIndex("RealmId") .HasDatabaseName("ix_client_realm_id"); b.ToTable("client", (string)null); }); modelBuilder.Entity("IdentityShroud.Core.Model.ClientSecret", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClientId") .HasColumnType("uuid") .HasColumnName("client_id"); b.Property("ClientId1") .HasColumnType("integer") .HasColumnName("client_id1"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Expires") .HasColumnType("timestamp with time zone") .HasColumnName("expires"); b.Property("RevokedAt") .HasColumnType("timestamp with time zone") .HasColumnName("revoked_at"); b.ComplexProperty(typeof(Dictionary), "Secret", "IdentityShroud.Core.Model.ClientSecret.Secret#EncryptedValue", b1 => { b1.IsRequired(); b1.Property("DekId") .HasColumnType("uuid") .HasColumnName("secret_dek_id"); b1.Property("Value") .IsRequired() .HasColumnType("bytea") .HasColumnName("secret_value"); }); b.HasKey("Id") .HasName("pk_client_secret"); b.HasIndex("ClientId1") .HasDatabaseName("ix_client_secret_client_id1"); b.ToTable("client_secret", (string)null); }); modelBuilder.Entity("IdentityShroud.Core.Model.Realm", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("DefaultSignatureAlgorithm") .IsRequired() .HasColumnType("text") .HasColumnName("default_signature_algorithm"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("name"); b.Property("Slug") .IsRequired() .HasMaxLength(40) .HasColumnType("character varying(40)") .HasColumnName("slug"); b.HasKey("Id") .HasName("pk_realm"); b.ToTable("realm", (string)null); }); modelBuilder.Entity("IdentityShroud.Core.Model.RealmDek", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("Active") .HasColumnType("boolean") .HasColumnName("active"); b.Property("Algorithm") .IsRequired() .HasColumnType("text") .HasColumnName("algorithm"); b.Property("RealmId") .HasColumnType("uuid") .HasColumnName("realm_id"); b.ComplexProperty(typeof(Dictionary), "KeyData", "IdentityShroud.Core.Model.RealmDek.KeyData#EncryptedDek", b1 => { b1.IsRequired(); b1.Property("KekId") .HasColumnType("uuid") .HasColumnName("key_data_kek_id"); b1.Property("Value") .IsRequired() .HasColumnType("bytea") .HasColumnName("key_data_value"); }); b.HasKey("Id") .HasName("pk_realm_dek"); b.HasIndex("RealmId") .HasDatabaseName("ix_realm_dek_realm_id"); b.ToTable("realm_dek", (string)null); }); modelBuilder.Entity("IdentityShroud.Core.Model.RealmSigningKey", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("KeyType") .IsRequired() .HasColumnType("text") .HasColumnName("key_type"); b.Property("Priority") .HasColumnType("integer") .HasColumnName("priority"); b.Property("PublicKeyParameters") .HasColumnType("jsonb") .HasColumnName("public_key_parameters"); b.Property("RealmId") .HasColumnType("uuid") .HasColumnName("realm_id"); b.Property("RevokedAt") .HasColumnType("timestamp with time zone") .HasColumnName("revoked_at"); b.ComplexProperty(typeof(Dictionary), "Key", "IdentityShroud.Core.Model.RealmSigningKey.Key#EncryptedDek", b1 => { b1.IsRequired(); b1.Property("KekId") .HasColumnType("uuid") .HasColumnName("key_kek_id"); b1.Property("Value") .IsRequired() .HasColumnType("bytea") .HasColumnName("key_value"); }); b.HasKey("Id") .HasName("pk_realm_key"); b.HasIndex("RealmId") .HasDatabaseName("ix_realm_key_realm_id"); b.ToTable("realm_key", (string)null); }); modelBuilder.Entity("IdentityShroud.Core.Model.Client", b => { b.HasOne("IdentityShroud.Core.Model.Realm", null) .WithMany("Clients") .HasForeignKey("RealmId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_client_realm_realm_id"); }); modelBuilder.Entity("IdentityShroud.Core.Model.ClientSecret", b => { b.HasOne("IdentityShroud.Core.Model.Client", null) .WithMany("Secrets") .HasForeignKey("ClientId1") .HasConstraintName("fk_client_secret_client_client_id1"); }); modelBuilder.Entity("IdentityShroud.Core.Model.RealmDek", b => { b.HasOne("IdentityShroud.Core.Model.Realm", null) .WithMany("DataEncryptionKeys") .HasForeignKey("RealmId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_realm_dek_realm_realm_id"); }); modelBuilder.Entity("IdentityShroud.Core.Model.RealmSigningKey", b => { b.HasOne("IdentityShroud.Core.Model.Realm", null) .WithMany("TokenSigningKeys") .HasForeignKey("RealmId") .HasConstraintName("fk_realm_key_realm_realm_id"); }); modelBuilder.Entity("IdentityShroud.Core.Model.Client", b => { b.Navigation("Secrets"); }); modelBuilder.Entity("IdentityShroud.Core.Model.Realm", b => { b.Navigation("Clients"); b.Navigation("DataEncryptionKeys"); b.Navigation("TokenSigningKeys"); }); #pragma warning restore 612, 618 } } }