// <auto-generated /> using System; using Bit.Infrastructure.EntityFramework.Repositories; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Bit.PostgresMigrations.Migrations { [DbContext(typeof(DatabaseContext))] [Migration("20230720200747_2023-07-11_00_CollectionManagePermission.sql")] partial class _20230711_00_CollectionManagePermissionsql { /// <inheritdoc /> protected override void BuildTargetModel(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.5") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("AccessCode") .HasMaxLength(25) .HasColumnType("character varying(25)"); b.Property<bool?>("Approved") .HasColumnType("boolean"); b.Property<DateTime?>("AuthenticationDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Key") .HasColumnType("text"); b.Property<string>("MasterPasswordHash") .HasColumnType("text"); b.Property<Guid?>("OrganizationId") .HasColumnType("uuid"); b.Property<string>("PublicKey") .HasColumnType("text"); b.Property<string>("RequestDeviceIdentifier") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<byte>("RequestDeviceType") .HasColumnType("smallint"); b.Property<string>("RequestIpAddress") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<DateTime?>("ResponseDate") .HasColumnType("timestamp with time zone"); b.Property<Guid?>("ResponseDeviceId") .HasColumnType("uuid"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<Guid>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property<Guid?>("GranteeId") .HasColumnType("uuid"); b.Property<Guid>("GrantorId") .HasColumnType("uuid"); b.Property<string>("KeyEncrypted") .HasColumnType("text"); b.Property<DateTime?>("LastNotificationDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime?>("RecoveryInitiatedDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Status") .HasColumnType("smallint"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<int>("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<string>("Key") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property<string>("ClientId") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property<DateTime?>("ConsumedDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Data") .HasColumnType("text"); b.Property<string>("Description") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property<DateTime?>("ExpirationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("SessionId") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property<string>("SubjectId") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property<string>("Type") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.HasKey("Key"); b.ToTable("Grant", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => { b.Property<long>("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id")); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Data") .HasColumnType("text"); b.Property<bool>("Enabled") .HasColumnType("boolean"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("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<long>("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id")); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("ExternalId") .HasMaxLength(50) .HasColumnType("character varying(50)") .UseCollation("postgresIndetermanisticCollation"); b.Property<Guid?>("OrganizationId") .HasColumnType("uuid"); b.Property<Guid>("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.HasIndex("UserId"); b.ToTable("SsoUser", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("ExternalId") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property<string>("Name") .HasColumnType("text"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("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<Guid>("CollectionId") .HasColumnType("uuid"); b.Property<Guid>("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<Guid>("CollectionId") .HasColumnType("uuid"); b.Property<Guid>("GroupId") .HasColumnType("uuid"); b.Property<bool>("HidePasswords") .HasColumnType("boolean"); b.Property<bool>("Manage") .HasColumnType("boolean"); b.Property<bool>("ReadOnly") .HasColumnType("boolean"); b.HasKey("CollectionId", "GroupId"); b.HasIndex("GroupId"); b.ToTable("CollectionGroups"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => { b.Property<Guid>("CollectionId") .HasColumnType("uuid"); b.Property<Guid>("OrganizationUserId") .HasColumnType("uuid"); b.Property<bool>("HidePasswords") .HasColumnType("boolean"); b.Property<bool>("Manage") .HasColumnType("boolean"); b.Property<bool>("ReadOnly") .HasColumnType("boolean"); b.HasKey("CollectionId", "OrganizationUserId"); b.HasIndex("OrganizationUserId"); b.ToTable("CollectionUsers"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => { b.Property<Guid>("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("EncryptedPrivateKey") .HasColumnType("text"); b.Property<string>("EncryptedPublicKey") .HasColumnType("text"); b.Property<string>("EncryptedUserKey") .HasColumnType("text"); b.Property<string>("Identifier") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("Name") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("PushToken") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<Guid>("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Device", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Event", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<Guid?>("ActingUserId") .HasColumnType("uuid"); b.Property<Guid?>("CipherId") .HasColumnType("uuid"); b.Property<Guid?>("CollectionId") .HasColumnType("uuid"); b.Property<DateTime>("Date") .HasColumnType("timestamp with time zone"); b.Property<byte?>("DeviceType") .HasColumnType("smallint"); b.Property<string>("DomainName") .HasColumnType("text"); b.Property<Guid?>("GroupId") .HasColumnType("uuid"); b.Property<Guid?>("InstallationId") .HasColumnType("uuid"); b.Property<string>("IpAddress") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<Guid?>("OrganizationId") .HasColumnType("uuid"); b.Property<Guid?>("OrganizationUserId") .HasColumnType("uuid"); b.Property<Guid?>("PolicyId") .HasColumnType("uuid"); b.Property<Guid?>("ProviderId") .HasColumnType("uuid"); b.Property<Guid?>("ProviderOrganizationId") .HasColumnType("uuid"); b.Property<Guid?>("ProviderUserId") .HasColumnType("uuid"); b.Property<Guid?>("SecretId") .HasColumnType("uuid"); b.Property<Guid?>("ServiceAccountId") .HasColumnType("uuid"); b.Property<byte?>("SystemUser") .HasColumnType("smallint"); b.Property<int>("Type") .HasColumnType("integer"); b.Property<Guid?>("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.ToTable("Event", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<bool>("AccessAll") .HasColumnType("boolean"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("ExternalId") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property<string>("Name") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("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<Guid>("GroupId") .HasColumnType("uuid"); b.Property<Guid>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property<bool>("Enabled") .HasColumnType("boolean"); b.Property<string>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("BillingEmail") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property<string>("BusinessAddress1") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("BusinessAddress2") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("BusinessAddress3") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("BusinessCountry") .HasMaxLength(2) .HasColumnType("character varying(2)"); b.Property<string>("BusinessName") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("BusinessTaxNumber") .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<bool>("Enabled") .HasColumnType("boolean"); b.Property<DateTime?>("ExpirationDate") .HasColumnType("timestamp with time zone"); b.Property<byte?>("Gateway") .HasColumnType("smallint"); b.Property<string>("GatewayCustomerId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("GatewaySubscriptionId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("Identifier") .HasMaxLength(50) .HasColumnType("character varying(50)") .UseCollation("postgresIndetermanisticCollation"); b.Property<string>("LicenseKey") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property<int?>("MaxAutoscaleSeats") .HasColumnType("integer"); b.Property<int?>("MaxAutoscaleSmSeats") .HasColumnType("integer"); b.Property<int?>("MaxAutoscaleSmServiceAccounts") .HasColumnType("integer"); b.Property<short?>("MaxCollections") .HasColumnType("smallint"); b.Property<short?>("MaxStorageGb") .HasColumnType("smallint"); b.Property<string>("Name") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<DateTime?>("OwnersNotifiedOfAutoscaling") .HasColumnType("timestamp with time zone"); b.Property<string>("Plan") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<byte>("PlanType") .HasColumnType("smallint"); b.Property<string>("PrivateKey") .HasColumnType("text"); b.Property<string>("PublicKey") .HasColumnType("text"); b.Property<string>("ReferenceData") .HasColumnType("text"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<int?>("Seats") .HasColumnType("integer"); b.Property<bool>("SelfHost") .HasColumnType("boolean"); b.Property<int?>("SmSeats") .HasColumnType("integer"); b.Property<int?>("SmServiceAccounts") .HasColumnType("integer"); b.Property<byte>("Status") .HasColumnType("smallint"); b.Property<long?>("Storage") .HasColumnType("bigint"); b.Property<string>("TwoFactorProviders") .HasColumnType("text"); b.Property<bool>("Use2fa") .HasColumnType("boolean"); b.Property<bool>("UseApi") .HasColumnType("boolean"); b.Property<bool>("UseCustomPermissions") .HasColumnType("boolean"); b.Property<bool>("UseDirectory") .HasColumnType("boolean"); b.Property<bool>("UseEvents") .HasColumnType("boolean"); b.Property<bool>("UseGroups") .HasColumnType("boolean"); b.Property<bool>("UseKeyConnector") .HasColumnType("boolean"); b.Property<bool>("UsePasswordManager") .HasColumnType("boolean"); b.Property<bool>("UsePolicies") .HasColumnType("boolean"); b.Property<bool>("UseResetPassword") .HasColumnType("boolean"); b.Property<bool>("UseScim") .HasColumnType("boolean"); b.Property<bool>("UseSecretsManager") .HasColumnType("boolean"); b.Property<bool>("UseSso") .HasColumnType("boolean"); b.Property<bool>("UseTotp") .HasColumnType("boolean"); b.Property<bool>("UsersGetPremium") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("Organization", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("ApiKey") .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Type") .HasColumnType("smallint"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("OrganizationApiKey", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("Config") .HasColumnType("text"); b.Property<bool>("Enabled") .HasColumnType("boolean"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<byte>("Type") .HasColumnType("smallint"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("OrganizationConnection", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("DomainName") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property<int>("JobRunCount") .HasColumnType("integer"); b.Property<DateTime?>("LastCheckedDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime>("NextRunDate") .HasColumnType("timestamp with time zone"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<string>("Txt") .HasColumnType("text"); b.Property<DateTime?>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("FriendlyName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property<DateTime?>("LastSyncDate") .HasColumnType("timestamp with time zone"); b.Property<string>("OfferedToEmail") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property<byte?>("PlanSponsorshipType") .HasColumnType("smallint"); b.Property<Guid?>("SponsoredOrganizationId") .HasColumnType("uuid"); b.Property<Guid?>("SponsoringOrganizationId") .HasColumnType("uuid"); b.Property<Guid>("SponsoringOrganizationUserId") .HasColumnType("uuid"); b.Property<bool>("ToDelete") .HasColumnType("boolean"); b.Property<DateTime?>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<bool>("AccessAll") .HasColumnType("boolean"); b.Property<bool>("AccessSecretsManager") .HasColumnType("boolean"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property<string>("ExternalId") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property<string>("Key") .HasColumnType("text"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<string>("Permissions") .HasColumnType("text"); b.Property<string>("ResetPasswordKey") .HasColumnType("text"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<short>("Status") .HasColumnType("smallint"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<Guid?>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Data") .HasColumnType("text"); b.Property<bool>("Enabled") .HasColumnType("boolean"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Type") .HasColumnType("smallint"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.ToTable("Policy", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Provider", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("BillingEmail") .HasColumnType("text"); b.Property<string>("BillingPhone") .HasColumnType("text"); b.Property<string>("BusinessAddress1") .HasColumnType("text"); b.Property<string>("BusinessAddress2") .HasColumnType("text"); b.Property<string>("BusinessAddress3") .HasColumnType("text"); b.Property<string>("BusinessCountry") .HasColumnType("text"); b.Property<string>("BusinessName") .HasColumnType("text"); b.Property<string>("BusinessTaxNumber") .HasColumnType("text"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<bool>("Enabled") .HasColumnType("boolean"); b.Property<string>("Name") .HasColumnType("text"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Status") .HasColumnType("smallint"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<bool>("UseEvents") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("Provider", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Key") .HasColumnType("text"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<Guid>("ProviderId") .HasColumnType("uuid"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<string>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Email") .HasColumnType("text"); b.Property<string>("Key") .HasColumnType("text"); b.Property<string>("Permissions") .HasColumnType("text"); b.Property<Guid>("ProviderId") .HasColumnType("uuid"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Status") .HasColumnType("smallint"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<Guid?>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<int>("AccessCount") .HasColumnType("integer"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Data") .HasColumnType("text"); b.Property<DateTime>("DeletionDate") .HasColumnType("timestamp with time zone"); b.Property<bool>("Disabled") .HasColumnType("boolean"); b.Property<DateTime?>("ExpirationDate") .HasColumnType("timestamp with time zone"); b.Property<bool?>("HideEmail") .HasColumnType("boolean"); b.Property<string>("Key") .HasColumnType("text"); b.Property<int?>("MaxAccessCount") .HasColumnType("integer"); b.Property<Guid?>("OrganizationId") .HasColumnType("uuid"); b.Property<string>("Password") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<Guid?>("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrganizationId"); b.HasIndex("UserId"); b.ToTable("Send", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.TaxRate", b => { b.Property<string>("Id") .HasMaxLength(40) .HasColumnType("character varying(40)"); b.Property<bool>("Active") .HasColumnType("boolean"); b.Property<string>("Country") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("PostalCode") .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property<decimal>("Rate") .HasColumnType("numeric"); b.Property<string>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<decimal>("Amount") .HasColumnType("numeric"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Details") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property<byte?>("Gateway") .HasColumnType("smallint"); b.Property<string>("GatewayId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<Guid?>("OrganizationId") .HasColumnType("uuid"); b.Property<byte?>("PaymentMethodType") .HasColumnType("smallint"); b.Property<bool?>("Refunded") .HasColumnType("boolean"); b.Property<decimal?>("RefundedAmount") .HasColumnType("numeric"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<Guid?>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("AccountRevisionDate") .HasColumnType("timestamp with time zone"); b.Property<string>("ApiKey") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property<string>("AvatarColor") .HasMaxLength(7) .HasColumnType("character varying(7)"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Culture") .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property<string>("Email") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .UseCollation("postgresIndetermanisticCollation"); b.Property<bool>("EmailVerified") .HasColumnType("boolean"); b.Property<string>("EquivalentDomains") .HasColumnType("text"); b.Property<string>("ExcludedGlobalEquivalentDomains") .HasColumnType("text"); b.Property<int>("FailedLoginCount") .HasColumnType("integer"); b.Property<bool>("ForcePasswordReset") .HasColumnType("boolean"); b.Property<byte?>("Gateway") .HasColumnType("smallint"); b.Property<string>("GatewayCustomerId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<string>("GatewaySubscriptionId") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<byte>("Kdf") .HasColumnType("smallint"); b.Property<int>("KdfIterations") .HasColumnType("integer"); b.Property<int?>("KdfMemory") .HasColumnType("integer"); b.Property<int?>("KdfParallelism") .HasColumnType("integer"); b.Property<string>("Key") .HasColumnType("text"); b.Property<DateTime?>("LastEmailChangeDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime?>("LastFailedLoginDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime?>("LastKdfChangeDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime?>("LastKeyRotationDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime?>("LastPasswordChangeDate") .HasColumnType("timestamp with time zone"); b.Property<string>("LicenseKey") .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property<string>("MasterPassword") .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property<string>("MasterPasswordHint") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<short?>("MaxStorageGb") .HasColumnType("smallint"); b.Property<string>("Name") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<bool>("Premium") .HasColumnType("boolean"); b.Property<DateTime?>("PremiumExpirationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("PrivateKey") .HasColumnType("text"); b.Property<string>("PublicKey") .HasColumnType("text"); b.Property<string>("ReferenceData") .HasColumnType("text"); b.Property<DateTime?>("RenewalReminderDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<string>("SecurityStamp") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property<long?>("Storage") .HasColumnType("bigint"); b.Property<string>("TwoFactorProviders") .HasColumnType("text"); b.Property<string>("TwoFactorRecoveryCode") .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property<bool>("UsesKeyConnector") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("User", (string)null); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Discriminator") .IsRequired() .HasColumnType("text"); b.Property<bool>("Read") .HasColumnType("boolean"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<bool>("Write") .HasColumnType("boolean"); b.HasKey("Id") .HasAnnotation("SqlServer:Clustered", true); b.ToTable("AccessPolicy", (string)null); b.HasDiscriminator<string>("Discriminator").HasValue("AccessPolicy"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => { b.Property<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("ClientSecretHash") .HasMaxLength(128) .HasColumnType("character varying(128)"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("EncryptedPayload") .HasMaxLength(4000) .HasColumnType("character varying(4000)"); b.Property<DateTime?>("ExpireAt") .HasColumnType("timestamp with time zone"); b.Property<string>("Key") .HasColumnType("text"); b.Property<string>("Name") .HasMaxLength(200) .HasColumnType("character varying(200)"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Scope") .HasMaxLength(4000) .HasColumnType("character varying(4000)"); b.Property<Guid?>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime?>("DeletedDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Name") .HasColumnType("text"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<DateTime?>("DeletedDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Key") .HasColumnType("text"); b.Property<string>("Note") .HasColumnType("text"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<string>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Name") .HasColumnType("text"); b.Property<Guid>("OrganizationId") .HasColumnType("uuid"); b.Property<DateTime>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<string>("Attachments") .HasColumnType("text"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Data") .HasColumnType("text"); b.Property<DateTime?>("DeletedDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Favorites") .HasColumnType("text"); b.Property<string>("Folders") .HasColumnType("text"); b.Property<Guid?>("OrganizationId") .HasColumnType("uuid"); b.Property<byte?>("Reprompt") .HasColumnType("smallint"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<byte>("Type") .HasColumnType("smallint"); b.Property<Guid?>("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<Guid>("Id") .HasColumnType("uuid"); b.Property<DateTime>("CreationDate") .HasColumnType("timestamp with time zone"); b.Property<string>("Name") .HasColumnType("text"); b.Property<DateTime>("RevisionDate") .HasColumnType("timestamp with time zone"); b.Property<Guid>("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Folder", (string)null); }); modelBuilder.Entity("ProjectSecret", b => { b.Property<Guid>("ProjectsId") .HasColumnType("uuid"); b.Property<Guid>("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<Guid?>("GrantedProjectId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedProjectId"); b.Property<Guid?>("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<Guid?>("GrantedServiceAccountId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedServiceAccountId"); b.Property<Guid?>("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<Guid?>("GrantedProjectId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedProjectId"); b.Property<Guid?>("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<Guid?>("GrantedProjectId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedProjectId"); b.Property<Guid?>("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<Guid?>("GrantedServiceAccountId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("GrantedServiceAccountId"); b.Property<Guid?>("OrganizationUserId") .ValueGeneratedOnUpdateSometimes() .HasColumnType("uuid") .HasColumnName("OrganizationUserId"); b.HasIndex("GrantedServiceAccountId"); b.HasIndex("OrganizationUserId"); b.HasDiscriminator().HasValue("user_service_account"); }); modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.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.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.Collection", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.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.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.OrganizationDomain", b => { b.HasOne("Bit.Infrastructure.EntityFramework.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.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.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.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.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.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.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.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"); b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") .WithMany() .HasForeignKey("GroupId"); 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"); 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"); 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"); 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.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("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.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 } } }