// using System; using Bit.Infrastructure.EntityFramework.Repositories; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Bit.PostgresMigrations.Migrations { [DbContext(typeof(DatabaseContext))] partial class DatabaseContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("Npgsql:CollationDefinition:postgresIndetermanisticCollation", "en-u-ks-primary,en-u-ks-primary,icu,False") .HasAnnotation("ProductVersion", "7.0.14") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AllowAdminAccessToAllCollectionItems") .HasColumnType("boolean") .HasDefaultValue(true); b.Property("BillingEmail") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("BusinessAddress1") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("BusinessAddress2") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("BusinessAddress3") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("BusinessCountry") .HasMaxLength(2) .HasColumnType("character varying(2)"); b.Property("BusinessName") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("BusinessTaxNumber") .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("ExpirationDate") .HasColumnType("timestamp with time zone"); b.Property("FlexibleCollections") .HasColumnType("boolean"); b.Property("Gateway") .HasColumnType("smallint"); b.Property("GatewayCustomerId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("GatewaySubscriptionId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Identifier") .HasMaxLength(50) .HasColumnType("character varying(50)") .UseCollation("postgresIndetermanisticCollation"); b.Property("LicenseKey") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("LimitCollectionCreationDeletion") .HasColumnType("boolean") .HasDefaultValue(true); b.Property("MaxAutoscaleSeats") .HasColumnType("integer"); b.Property("MaxAutoscaleSmSeats") .HasColumnType("integer"); b.Property("MaxAutoscaleSmServiceAccounts") .HasColumnType("integer"); b.Property("MaxCollections") .HasColumnType("smallint"); b.Property("MaxStorageGb") .HasColumnType("smallint"); b.Property("Name") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("OwnersNotifiedOfAutoscaling") .HasColumnType("timestamp with time zone"); b.Property("Plan") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("PlanType") .HasColumnType("smallint"); b.Property("PrivateKey") .HasColumnType("text"); b.Property("PublicKey") .HasColumnType("text"); b.Property("ReferenceData") .HasColumnType("text"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Seats") .HasColumnType("integer"); b.Property("SecretsManagerBeta") .HasColumnType("boolean"); b.Property("SelfHost") .HasColumnType("boolean"); b.Property("SmSeats") .HasColumnType("integer"); b.Property("SmServiceAccounts") .HasColumnType("integer"); b.Property("Status") .HasColumnType("smallint"); b.Property("Storage") .HasColumnType("bigint"); b.Property("TwoFactorProviders") .HasColumnType("text"); b.Property("Use2fa") .HasColumnType("boolean"); b.Property("UseApi") .HasColumnType("boolean"); b.Property("UseCustomPermissions") .HasColumnType("boolean"); b.Property("UseDirectory") .HasColumnType("boolean"); b.Property("UseEvents") .HasColumnType("boolean"); b.Property("UseGroups") .HasColumnType("boolean"); b.Property("UseKeyConnector") .HasColumnType("boolean"); b.Property("UsePasswordManager") .HasColumnType("boolean"); b.Property("UsePolicies") .HasColumnType("boolean"); b.Property("UseResetPassword") .HasColumnType("boolean"); b.Property("UseScim") .HasColumnType("boolean"); b.Property("UseSecretsManager") .HasColumnType("boolean"); b.Property("UseSso") .HasColumnType("boolean"); b.Property("UseTotp") .HasColumnType("boolean"); b.Property("UsersGetPremium") .HasColumnType("boolean"); b.HasKey("Id"); b.HasIndex("Id", "Enabled"); NpgsqlIndexBuilderExtensions.IncludeProperties(b.HasIndex("Id", "Enabled"), new[] { "UseTotp" }); b.ToTable("Organization", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Policy", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); b.HasKey("Id"); b.HasIndex("OrganizationId") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("OrganizationId", "Type") .IsUnique() .HasAnnotation("SqlServer:Clustered", false); b.ToTable("Policy", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.Provider", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("BillingEmail") .HasColumnType("text"); b.Property("BillingPhone") .HasColumnType("text"); b.Property("BusinessAddress1") .HasColumnType("text"); b.Property("BusinessAddress2") .HasColumnType("text"); b.Property("BusinessAddress3") .HasColumnType("text"); b.Property("BusinessCountry") .HasColumnType("text"); b.Property("BusinessName") .HasColumnType("text"); b.Property("BusinessTaxNumber") .HasColumnType("text"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("Name") .HasColumnType("text"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); b.Property("Type") .HasColumnType("smallint"); b.Property("UseEvents") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("Provider", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.ProviderOrganization", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Key") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("ProviderId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Settings") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.HasIndex("ProviderId"); b.ToTable("ProviderOrganization", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.ProviderUser", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Email") .HasColumnType("text"); b.Property("Key") .HasColumnType("text"); b.Property("Permissions") .HasColumnType("text"); b.Property("ProviderId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); b.Property("Type") .HasColumnType("smallint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("ProviderId"); b.HasIndex("UserId"); b.ToTable("ProviderUser", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AccessCode") .HasMaxLength(25) .HasColumnType("character varying(25)"); b.Property("Approved") .HasColumnType("boolean"); b.Property("AuthenticationDate") .HasColumnType("timestamp with time zone"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Key") .HasColumnType("text"); b.Property("MasterPasswordHash") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("PublicKey") .HasColumnType("text"); b.Property("RequestDeviceIdentifier") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("RequestDeviceType") .HasColumnType("smallint"); b.Property("RequestIpAddress") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("ResponseDate") .HasColumnType("timestamp with time zone"); b.Property("ResponseDeviceId") .HasColumnType("uuid"); b.Property("Type") .HasColumnType("smallint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.HasIndex("ResponseDeviceId"); b.HasIndex("UserId"); b.ToTable("AuthRequest", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("GranteeId") .HasColumnType("uuid"); b.Property("GrantorId") .HasColumnType("uuid"); b.Property("KeyEncrypted") .HasColumnType("text"); b.Property("LastNotificationDate") .HasColumnType("timestamp with time zone"); b.Property("RecoveryInitiatedDate") .HasColumnType("timestamp with time zone"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); b.Property("Type") .HasColumnType("smallint"); b.Property("WaitTimeDays") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("GranteeId"); b.HasIndex("GrantorId"); b.ToTable("EmergencyAccess", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.Grant", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClientId") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("ConsumedDate") .HasColumnType("timestamp with time zone"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Data") .IsRequired() .HasColumnType("text"); b.Property("Description") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("ExpirationDate") .HasColumnType("timestamp with time zone"); b.Property("Key") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("SessionId") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("SubjectId") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("Type") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.HasKey("Id") .HasAnnotation("SqlServer:Clustered", true); b.HasIndex("ExpirationDate") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("Key") .IsUnique(); b.ToTable("Grant", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("SsoConfig", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("ExternalId") .HasMaxLength(50) .HasColumnType("character varying(50)") .UseCollation("postgresIndetermanisticCollation"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrganizationId") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("UserId"); b.HasIndex("OrganizationId", "ExternalId") .IsUnique() .HasAnnotation("SqlServer:Clustered", false); NpgsqlIndexBuilderExtensions.IncludeProperties(b.HasIndex("OrganizationId", "ExternalId"), new[] { "UserId" }); b.HasIndex("OrganizationId", "UserId") .IsUnique() .HasAnnotation("SqlServer:Clustered", false); b.ToTable("SsoUser", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.WebAuthnCredential", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AaGuid") .HasColumnType("uuid"); b.Property("Counter") .HasColumnType("integer"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("CredentialId") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("EncryptedPrivateKey") .HasMaxLength(2000) .HasColumnType("character varying(2000)"); b.Property("EncryptedPublicKey") .HasMaxLength(2000) .HasColumnType("character varying(2000)"); b.Property("EncryptedUserKey") .HasMaxLength(2000) .HasColumnType("character varying(2000)"); b.Property("Name") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("PublicKey") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("SupportsPrf") .HasColumnType("boolean"); b.Property("Type") .HasMaxLength(20) .HasColumnType("character varying(20)"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("WebAuthnCredential", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("ExternalId") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property("Name") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("Collection", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => { b.Property("CollectionId") .HasColumnType("uuid"); b.Property("CipherId") .HasColumnType("uuid"); b.HasKey("CollectionId", "CipherId"); b.HasIndex("CipherId"); b.ToTable("CollectionCipher", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => { b.Property("CollectionId") .HasColumnType("uuid"); b.Property("GroupId") .HasColumnType("uuid"); b.Property("HidePasswords") .HasColumnType("boolean"); b.Property("Manage") .HasColumnType("boolean"); b.Property("ReadOnly") .HasColumnType("boolean"); b.HasKey("CollectionId", "GroupId"); b.HasIndex("GroupId"); b.ToTable("CollectionGroups"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => { b.Property("CollectionId") .HasColumnType("uuid"); b.Property("OrganizationUserId") .HasColumnType("uuid"); b.Property("HidePasswords") .HasColumnType("boolean"); b.Property("Manage") .HasColumnType("boolean"); b.Property("ReadOnly") .HasColumnType("boolean"); b.HasKey("CollectionId", "OrganizationUserId"); b.HasIndex("OrganizationUserId"); b.ToTable("CollectionUsers"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("EncryptedPrivateKey") .HasColumnType("text"); b.Property("EncryptedPublicKey") .HasColumnType("text"); b.Property("EncryptedUserKey") .HasColumnType("text"); b.Property("Identifier") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Name") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("PushToken") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("Identifier") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("UserId") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("UserId", "Identifier") .IsUnique() .HasAnnotation("SqlServer:Clustered", false); b.ToTable("Device", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Event", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("ActingUserId") .HasColumnType("uuid"); b.Property("CipherId") .HasColumnType("uuid"); b.Property("CollectionId") .HasColumnType("uuid"); b.Property("Date") .HasColumnType("timestamp with time zone"); b.Property("DeviceType") .HasColumnType("smallint"); b.Property("DomainName") .HasColumnType("text"); b.Property("GroupId") .HasColumnType("uuid"); b.Property("InstallationId") .HasColumnType("uuid"); b.Property("IpAddress") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("OrganizationUserId") .HasColumnType("uuid"); b.Property("PolicyId") .HasColumnType("uuid"); b.Property("ProviderId") .HasColumnType("uuid"); b.Property("ProviderOrganizationId") .HasColumnType("uuid"); b.Property("ProviderUserId") .HasColumnType("uuid"); b.Property("SecretId") .HasColumnType("uuid"); b.Property("ServiceAccountId") .HasColumnType("uuid"); b.Property("SystemUser") .HasColumnType("smallint"); b.Property("Type") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("Date", "OrganizationId", "ActingUserId", "CipherId") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("Event", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AccessAll") .HasColumnType("boolean"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("ExternalId") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property("Name") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("Group", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => { b.Property("GroupId") .HasColumnType("uuid"); b.Property("OrganizationUserId") .HasColumnType("uuid"); b.HasKey("GroupId", "OrganizationUserId"); b.HasIndex("OrganizationUserId"); b.ToTable("GroupUser", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Installation", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("Key") .HasMaxLength(150) .HasColumnType("character varying(150)"); b.HasKey("Id"); b.ToTable("Installation", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("ApiKey") .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("OrganizationApiKey", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("Config") .HasColumnType("text"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("Type") .HasColumnType("smallint"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("OrganizationConnection", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("DomainName") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("JobRunCount") .HasColumnType("integer"); b.Property("LastCheckedDate") .HasColumnType("timestamp with time zone"); b.Property("NextRunDate") .HasColumnType("timestamp with time zone"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("Txt") .HasColumnType("text"); b.Property("VerifiedDate") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("OrganizationDomain", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("FriendlyName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("LastSyncDate") .HasColumnType("timestamp with time zone"); b.Property("OfferedToEmail") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("PlanSponsorshipType") .HasColumnType("smallint"); b.Property("SponsoredOrganizationId") .HasColumnType("uuid"); b.Property("SponsoringOrganizationId") .HasColumnType("uuid"); b.Property("SponsoringOrganizationUserId") .HasColumnType("uuid"); b.Property("ToDelete") .HasColumnType("boolean"); b.Property("ValidUntil") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("SponsoredOrganizationId"); b.HasIndex("SponsoringOrganizationId"); b.HasIndex("SponsoringOrganizationUserId") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("OrganizationSponsorship", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AccessAll") .HasColumnType("boolean"); b.Property("AccessSecretsManager") .HasColumnType("boolean"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("ExternalId") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property("Key") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("Permissions") .HasColumnType("text"); b.Property("ResetPasswordKey") .HasColumnType("text"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); b.Property("Type") .HasColumnType("smallint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrganizationId") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("UserId") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("UserId", "OrganizationId", "Status") .HasAnnotation("SqlServer:Clustered", false); NpgsqlIndexBuilderExtensions.IncludeProperties(b.HasIndex("UserId", "OrganizationId", "Status"), new[] { "AccessAll" }); b.ToTable("OrganizationUser", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AccessCount") .HasColumnType("integer"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); b.Property("DeletionDate") .HasColumnType("timestamp with time zone"); b.Property("Disabled") .HasColumnType("boolean"); b.Property("ExpirationDate") .HasColumnType("timestamp with time zone"); b.Property("HideEmail") .HasColumnType("boolean"); b.Property("Key") .HasColumnType("text"); b.Property("MaxAccessCount") .HasColumnType("integer"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("Password") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("DeletionDate") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("OrganizationId"); b.HasIndex("UserId") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("UserId", "OrganizationId") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("Send", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.TaxRate", b => { b.Property("Id") .HasMaxLength(40) .HasColumnType("character varying(40)"); b.Property("Active") .HasColumnType("boolean"); b.Property("Country") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("PostalCode") .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property("Rate") .HasColumnType("numeric"); b.Property("State") .HasMaxLength(2) .HasColumnType("character varying(2)"); b.HasKey("Id"); b.ToTable("TaxRate", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("Amount") .HasColumnType("numeric"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Details") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("Gateway") .HasColumnType("smallint"); b.Property("GatewayId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("PaymentMethodType") .HasColumnType("smallint"); b.Property("Refunded") .HasColumnType("boolean"); b.Property("RefundedAmount") .HasColumnType("numeric"); b.Property("Type") .HasColumnType("smallint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.HasIndex("UserId") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("UserId", "OrganizationId", "CreationDate") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("Transaction", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AccountRevisionDate") .HasColumnType("timestamp with time zone"); b.Property("ApiKey") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("AvatarColor") .HasMaxLength(7) .HasColumnType("character varying(7)"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Culture") .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property("Email") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .UseCollation("postgresIndetermanisticCollation"); b.Property("EmailVerified") .HasColumnType("boolean"); b.Property("EquivalentDomains") .HasColumnType("text"); b.Property("ExcludedGlobalEquivalentDomains") .HasColumnType("text"); b.Property("FailedLoginCount") .HasColumnType("integer"); b.Property("ForcePasswordReset") .HasColumnType("boolean"); b.Property("Gateway") .HasColumnType("smallint"); b.Property("GatewayCustomerId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("GatewaySubscriptionId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Kdf") .HasColumnType("smallint"); b.Property("KdfIterations") .HasColumnType("integer"); b.Property("KdfMemory") .HasColumnType("integer"); b.Property("KdfParallelism") .HasColumnType("integer"); b.Property("Key") .HasColumnType("text"); b.Property("LastEmailChangeDate") .HasColumnType("timestamp with time zone"); b.Property("LastFailedLoginDate") .HasColumnType("timestamp with time zone"); b.Property("LastKdfChangeDate") .HasColumnType("timestamp with time zone"); b.Property("LastKeyRotationDate") .HasColumnType("timestamp with time zone"); b.Property("LastPasswordChangeDate") .HasColumnType("timestamp with time zone"); b.Property("LicenseKey") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("MasterPassword") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property("MasterPasswordHint") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("MaxStorageGb") .HasColumnType("smallint"); b.Property("Name") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Premium") .HasColumnType("boolean"); b.Property("PremiumExpirationDate") .HasColumnType("timestamp with time zone"); b.Property("PrivateKey") .HasColumnType("text"); b.Property("PublicKey") .HasColumnType("text"); b.Property("ReferenceData") .HasColumnType("text"); b.Property("RenewalReminderDate") .HasColumnType("timestamp with time zone"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("SecurityStamp") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Storage") .HasColumnType("bigint"); b.Property("TwoFactorProviders") .HasColumnType("text"); b.Property("TwoFactorRecoveryCode") .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("UsesKeyConnector") .HasColumnType("boolean"); b.HasKey("Id"); b.HasIndex("Email") .IsUnique() .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("Premium", "PremiumExpirationDate", "RenewalReminderDate") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("User", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Discriminator") .IsRequired() .HasColumnType("text"); b.Property("Read") .HasColumnType("boolean"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Write") .HasColumnType("boolean"); b.HasKey("Id") .HasAnnotation("SqlServer:Clustered", true); b.ToTable("AccessPolicy", (string)null); b.HasDiscriminator("Discriminator").HasValue("AccessPolicy"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("ClientSecretHash") .HasMaxLength(128) .HasColumnType("character varying(128)"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("EncryptedPayload") .HasMaxLength(4000) .HasColumnType("character varying(4000)"); b.Property("ExpireAt") .HasColumnType("timestamp with time zone"); b.Property("Key") .HasColumnType("text"); b.Property("Name") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Scope") .HasMaxLength(4000) .HasColumnType("character varying(4000)"); b.Property("ServiceAccountId") .HasColumnType("uuid"); b.HasKey("Id") .HasAnnotation("SqlServer:Clustered", true); b.HasIndex("ServiceAccountId") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("ApiKey", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("DeletedDate") .HasColumnType("timestamp with time zone"); b.Property("Name") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.HasKey("Id") .HasAnnotation("SqlServer:Clustered", true); b.HasIndex("DeletedDate") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("OrganizationId") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("Project", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("DeletedDate") .HasColumnType("timestamp with time zone"); b.Property("Key") .HasColumnType("text"); b.Property("Note") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Value") .HasColumnType("text"); b.HasKey("Id") .HasAnnotation("SqlServer:Clustered", true); b.HasIndex("DeletedDate") .HasAnnotation("SqlServer:Clustered", false); b.HasIndex("OrganizationId") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("Secret", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Name") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.HasKey("Id") .HasAnnotation("SqlServer:Clustered", true); b.HasIndex("OrganizationId") .HasAnnotation("SqlServer:Clustered", false); b.ToTable("ServiceAccount", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("Attachments") .HasColumnType("text"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); b.Property("DeletedDate") .HasColumnType("timestamp with time zone"); b.Property("Favorites") .HasColumnType("text"); b.Property("Folders") .HasColumnType("text"); b.Property("Key") .HasColumnType("text"); b.Property("OrganizationId") .HasColumnType("uuid"); b.Property("Reprompt") .HasColumnType("smallint"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.HasIndex("UserId"); b.ToTable("Cipher", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); b.Property("Name") .HasColumnType("text"); b.Property("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Folder", (string)null); }); modelBuilder.Entity("ProjectSecret", b => { b.Property("ProjectsId") .HasColumnType("uuid"); b.Property("SecretsId") .HasColumnType("uuid"); b.HasKey("ProjectsId", "SecretsId"); b.HasIndex("SecretsId"); b.ToTable("ProjectSecret"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => { b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); b.Property("GrantedProjectId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedProjectId"); b.Property("GroupId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GroupId"); b.HasIndex("GrantedProjectId"); b.HasIndex("GroupId"); b.HasDiscriminator().HasValue("group_project"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => { b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); b.Property("GrantedServiceAccountId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedServiceAccountId"); b.Property("GroupId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GroupId"); b.HasIndex("GrantedServiceAccountId"); b.HasIndex("GroupId"); b.HasDiscriminator().HasValue("group_service_account"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => { b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); b.Property("GrantedProjectId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedProjectId"); b.Property("ServiceAccountId") .HasColumnType("uuid") .HasColumnName("ServiceAccountId"); b.HasIndex("GrantedProjectId"); b.HasIndex("ServiceAccountId"); b.HasDiscriminator().HasValue("service_account_project"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => { b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); b.Property("GrantedProjectId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedProjectId"); b.Property("OrganizationUserId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("OrganizationUserId"); b.HasIndex("GrantedProjectId"); b.HasIndex("OrganizationUserId"); b.HasDiscriminator().HasValue("user_project"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => { b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); b.Property("GrantedServiceAccountId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedServiceAccountId"); b.Property("OrganizationUserId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("OrganizationUserId"); b.HasIndex("GrantedServiceAccountId"); b.HasIndex("OrganizationUserId"); b.HasDiscriminator().HasValue("user_service_account"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Policy", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("Policies") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.ProviderOrganization", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.Provider", "Provider") .WithMany() .HasForeignKey("ProviderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); b.Navigation("Provider"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.ProviderUser", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.Provider", "Provider") .WithMany() .HasForeignKey("ProviderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany() .HasForeignKey("UserId"); b.Navigation("Provider"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.Device", "ResponseDevice") .WithMany() .HasForeignKey("ResponseDeviceId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); b.Navigation("ResponseDevice"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantee") .WithMany() .HasForeignKey("GranteeId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantor") .WithMany() .HasForeignKey("GrantorId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Grantee"); b.Navigation("Grantor"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("SsoConfigs") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("SsoUsers") .HasForeignKey("OrganizationId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany("SsoUsers") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.WebAuthnCredential", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("Collections") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", "Cipher") .WithMany("CollectionCiphers") .HasForeignKey("CipherId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") .WithMany("CollectionCiphers") .HasForeignKey("CollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Cipher"); b.Navigation("Collection"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") .WithMany("CollectionGroups") .HasForeignKey("CollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") .WithMany() .HasForeignKey("GroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Collection"); b.Navigation("Group"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") .WithMany("CollectionUsers") .HasForeignKey("CollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") .WithMany("CollectionUsers") .HasForeignKey("OrganizationUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Collection"); b.Navigation("OrganizationUser"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("Groups") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") .WithMany("GroupUsers") .HasForeignKey("GroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") .WithMany("GroupUsers") .HasForeignKey("OrganizationUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Group"); b.Navigation("OrganizationUser"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("ApiKeys") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("Connections") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("Domains") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "SponsoredOrganization") .WithMany() .HasForeignKey("SponsoredOrganizationId"); b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "SponsoringOrganization") .WithMany() .HasForeignKey("SponsoringOrganizationId"); b.Navigation("SponsoredOrganization"); b.Navigation("SponsoringOrganization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("OrganizationUsers") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany("OrganizationUsers") .HasForeignKey("UserId"); b.Navigation("Organization"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany() .HasForeignKey("UserId"); b.Navigation("Organization"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("Transactions") .HasForeignKey("OrganizationId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany("Transactions") .HasForeignKey("UserId"); b.Navigation("Organization"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => { b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") .WithMany() .HasForeignKey("ServiceAccountId"); b.Navigation("ServiceAccount"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => { b.HasOne("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", "Organization") .WithMany("Ciphers") .HasForeignKey("OrganizationId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany("Ciphers") .HasForeignKey("UserId"); b.Navigation("Organization"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany("Folders") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProjectSecret", b => { b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", null) .WithMany() .HasForeignKey("ProjectsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", null) .WithMany() .HasForeignKey("SecretsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => { b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") .WithMany("GroupAccessPolicies") .HasForeignKey("GrantedProjectId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") .WithMany() .HasForeignKey("GroupId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("GrantedProject"); b.Navigation("Group"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => { b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") .WithMany("GroupAccessPolicies") .HasForeignKey("GrantedServiceAccountId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") .WithMany() .HasForeignKey("GroupId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("GrantedServiceAccount"); b.Navigation("Group"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => { b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") .WithMany("ServiceAccountAccessPolicies") .HasForeignKey("GrantedProjectId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") .WithMany() .HasForeignKey("ServiceAccountId"); b.Navigation("GrantedProject"); b.Navigation("ServiceAccount"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => { b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") .WithMany("UserAccessPolicies") .HasForeignKey("GrantedProjectId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") .WithMany() .HasForeignKey("OrganizationUserId"); b.Navigation("GrantedProject"); b.Navigation("OrganizationUser"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => { b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") .WithMany("UserAccessPolicies") .HasForeignKey("GrantedServiceAccountId"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") .WithMany() .HasForeignKey("OrganizationUserId"); b.Navigation("GrantedServiceAccount"); b.Navigation("OrganizationUser"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", b => { b.Navigation("ApiKeys"); b.Navigation("Ciphers"); b.Navigation("Collections"); b.Navigation("Connections"); b.Navigation("Domains"); b.Navigation("Groups"); b.Navigation("OrganizationUsers"); b.Navigation("Policies"); b.Navigation("SsoConfigs"); b.Navigation("SsoUsers"); b.Navigation("Transactions"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => { b.Navigation("CollectionCiphers"); b.Navigation("CollectionGroups"); b.Navigation("CollectionUsers"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => { b.Navigation("GroupUsers"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => { b.Navigation("CollectionUsers"); b.Navigation("GroupUsers"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => { b.Navigation("Ciphers"); b.Navigation("Folders"); b.Navigation("OrganizationUsers"); b.Navigation("SsoUsers"); b.Navigation("Transactions"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => { b.Navigation("GroupAccessPolicies"); b.Navigation("ServiceAccountAccessPolicies"); b.Navigation("UserAccessPolicies"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => { b.Navigation("GroupAccessPolicies"); b.Navigation("UserAccessPolicies"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => { b.Navigation("CollectionCiphers"); }); #pragma warning restore 612, 618 } } }