// 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", "6.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.AuthRequest", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AccessCode") .HasColumnType("text"); 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("PublicKey") .HasColumnType("text"); b.Property("RequestDeviceIdentifier") .HasColumnType("text"); b.Property("RequestDeviceType") .HasColumnType("smallint"); b.Property("RequestFingerprint") .HasColumnType("text"); b.Property("RequestIpAddress") .HasColumnType("text"); 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("ResponseDeviceId"); b.HasIndex("UserId"); b.ToTable("AuthRequest", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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("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.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("ReadOnly") .HasColumnType("boolean"); b.HasKey("CollectionId", "GroupId"); b.HasIndex("GroupId"); b.ToTable("CollectionGroups", (string)null); }); 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("ReadOnly") .HasColumnType("boolean"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("CollectionId", "OrganizationUserId"); b.HasIndex("OrganizationUserId"); b.HasIndex("UserId"); b.ToTable("CollectionUsers", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreationDate") .HasColumnType("timestamp with time zone"); 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("UserId"); b.ToTable("Device", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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.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("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("SystemUser") .HasColumnType("smallint"); b.Property("Type") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.ToTable("Event", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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("Bit.Infrastructure.EntityFramework.Models.Grant", b => { b.Property("Key") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("ClientId") .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") .HasColumnType("text"); b.Property("Description") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("ExpirationDate") .HasColumnType("timestamp with time zone"); b.Property("SessionId") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("SubjectId") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property("Type") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.HasKey("Key"); b.ToTable("Grant", (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.Property("UserId") .HasColumnType("uuid"); b.HasKey("GroupId", "OrganizationUserId"); b.HasIndex("OrganizationUserId"); b.HasIndex("UserId"); 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.Organization", b => { b.Property("Id") .HasColumnType("uuid"); 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("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("MaxAutoscaleSeats") .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("SelfHost") .HasColumnType("boolean"); 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("UsePolicies") .HasColumnType("boolean"); b.Property("UseResetPassword") .HasColumnType("boolean"); b.Property("UseScim") .HasColumnType("boolean"); b.Property("UseSso") .HasColumnType("boolean"); b.Property("UseTotp") .HasColumnType("boolean"); b.Property("UsersGetPremium") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("Organization", (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.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.ToTable("OrganizationSponsorship", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AccessAll") .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"); b.HasIndex("UserId"); b.ToTable("OrganizationUser", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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"); b.ToTable("Policy", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Provider", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("BillingEmail") .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("UseEvents") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("Provider", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.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.Models.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.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("OrganizationId"); b.HasIndex("UserId"); b.ToTable("Send", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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.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"); b.HasIndex("UserId"); b.ToTable("SsoUser", (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"); 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("Key") .HasColumnType("text"); b.Property("LastFailedLoginDate") .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("UnknownDeviceVerificationEnabled") .HasColumnType("boolean"); b.Property("UsesKeyConnector") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("User", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.AuthRequest", b => { 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("ResponseDevice"); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Cipher", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.Models.Collection", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.HasOne("Bit.Infrastructure.EntityFramework.Models.User", null) .WithMany("CollectionUsers") .HasForeignKey("UserId"); 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.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.Models.Folder", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") .WithMany("Folders") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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() .HasForeignKey("OrganizationUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", null) .WithMany("GroupUsers") .HasForeignKey("UserId"); b.Navigation("Group"); b.Navigation("OrganizationUser"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.Models.Organization", "Organization") .WithMany("Connections") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "SponsoredOrganization") .WithMany() .HasForeignKey("SponsoredOrganizationId"); b.HasOne("Bit.Infrastructure.EntityFramework.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.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.Policy", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") .WithMany("Policies") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") .WithMany() .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Bit.Infrastructure.EntityFramework.Models.Provider", "Provider") .WithMany() .HasForeignKey("ProviderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); b.Navigation("Provider"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderUser", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.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.Models.Send", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.SsoConfig", b => { b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") .WithMany("SsoConfigs") .HasForeignKey("OrganizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organization"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.SsoUser", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.Models.Transaction", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.Models.Cipher", b => { b.Navigation("CollectionCiphers"); }); 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.Organization", b => { b.Navigation("ApiKeys"); b.Navigation("Ciphers"); b.Navigation("Connections"); b.Navigation("Groups"); b.Navigation("OrganizationUsers"); b.Navigation("Policies"); b.Navigation("SsoConfigs"); b.Navigation("SsoUsers"); b.Navigation("Transactions"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => { b.Navigation("CollectionUsers"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => { b.Navigation("Ciphers"); b.Navigation("CollectionUsers"); b.Navigation("Folders"); b.Navigation("GroupUsers"); b.Navigation("OrganizationUsers"); b.Navigation("SsoUsers"); b.Navigation("Transactions"); }); #pragma warning restore 612, 618 } } }