//
using System;
using Bit.Infrastructure.EntityFramework.Repositories;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace Bit.SqliteMigrations.Migrations
{
[DbContext(typeof(DatabaseContext))]
[Migration("20240909181758_GenerateDuoSDKVersion4TwoFactorMetadata")]
partial class GenerateDuoSDKVersion4TwoFactorMetadata
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("AllowAdminAccessToAllCollectionItems")
.HasColumnType("INTEGER")
.HasDefaultValue(true);
b.Property("BillingEmail")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("BusinessAddress1")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("BusinessAddress2")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("BusinessAddress3")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("BusinessCountry")
.HasMaxLength(2)
.HasColumnType("TEXT");
b.Property("BusinessName")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("BusinessTaxNumber")
.HasMaxLength(30)
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Enabled")
.HasColumnType("INTEGER");
b.Property("ExpirationDate")
.HasColumnType("TEXT");
b.Property("Gateway")
.HasColumnType("INTEGER");
b.Property("GatewayCustomerId")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("GatewaySubscriptionId")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("Identifier")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("LicenseKey")
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property("LimitCollectionCreationDeletion")
.HasColumnType("INTEGER")
.HasDefaultValue(true);
b.Property("MaxAutoscaleSeats")
.HasColumnType("INTEGER");
b.Property("MaxAutoscaleSmSeats")
.HasColumnType("INTEGER");
b.Property("MaxAutoscaleSmServiceAccounts")
.HasColumnType("INTEGER");
b.Property("MaxCollections")
.HasColumnType("INTEGER");
b.Property("MaxStorageGb")
.HasColumnType("INTEGER");
b.Property("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("OwnersNotifiedOfAutoscaling")
.HasColumnType("TEXT");
b.Property("Plan")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("PlanType")
.HasColumnType("INTEGER");
b.Property("PrivateKey")
.HasColumnType("TEXT");
b.Property("PublicKey")
.HasColumnType("TEXT");
b.Property("ReferenceData")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Seats")
.HasColumnType("INTEGER");
b.Property("SelfHost")
.HasColumnType("INTEGER");
b.Property("SmSeats")
.HasColumnType("INTEGER");
b.Property("SmServiceAccounts")
.HasColumnType("INTEGER");
b.Property("Status")
.HasColumnType("INTEGER");
b.Property("Storage")
.HasColumnType("INTEGER");
b.Property("TwoFactorProviders")
.HasColumnType("TEXT");
b.Property("Use2fa")
.HasColumnType("INTEGER");
b.Property("UseApi")
.HasColumnType("INTEGER");
b.Property("UseCustomPermissions")
.HasColumnType("INTEGER");
b.Property("UseDirectory")
.HasColumnType("INTEGER");
b.Property("UseEvents")
.HasColumnType("INTEGER");
b.Property("UseGroups")
.HasColumnType("INTEGER");
b.Property("UseKeyConnector")
.HasColumnType("INTEGER");
b.Property("UsePasswordManager")
.HasColumnType("INTEGER");
b.Property("UsePolicies")
.HasColumnType("INTEGER");
b.Property("UseResetPassword")
.HasColumnType("INTEGER");
b.Property("UseScim")
.HasColumnType("INTEGER");
b.Property("UseSecretsManager")
.HasColumnType("INTEGER");
b.Property("UseSso")
.HasColumnType("INTEGER");
b.Property("UseTotp")
.HasColumnType("INTEGER");
b.Property("UsersGetPremium")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Id", "Enabled")
.HasAnnotation("Npgsql:IndexInclude", new[] { "UseTotp" });
b.ToTable("Organization", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Policy", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Data")
.HasColumnType("TEXT");
b.Property("Enabled")
.HasColumnType("INTEGER");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnType("INTEGER");
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("TEXT");
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("TEXT");
b.Property("Enabled")
.HasColumnType("INTEGER");
b.Property("Gateway")
.HasColumnType("INTEGER");
b.Property("GatewayCustomerId")
.HasColumnType("TEXT");
b.Property("GatewaySubscriptionId")
.HasColumnType("TEXT");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Status")
.HasColumnType("INTEGER");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UseEvents")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("Provider", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.ProviderOrganization", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Key")
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("ProviderId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
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("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Email")
.HasColumnType("TEXT");
b.Property("Key")
.HasColumnType("TEXT");
b.Property("Permissions")
.HasColumnType("TEXT");
b.Property("ProviderId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Status")
.HasColumnType("INTEGER");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("TEXT");
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("TEXT");
b.Property("AccessCode")
.HasMaxLength(25)
.HasColumnType("TEXT");
b.Property("Approved")
.HasColumnType("INTEGER");
b.Property("AuthenticationDate")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Key")
.HasColumnType("TEXT");
b.Property("MasterPasswordHash")
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("PublicKey")
.HasColumnType("TEXT");
b.Property("RequestDeviceIdentifier")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("RequestDeviceType")
.HasColumnType("INTEGER");
b.Property("RequestIpAddress")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("ResponseDate")
.HasColumnType("TEXT");
b.Property("ResponseDeviceId")
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("TEXT");
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("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Email")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("GranteeId")
.HasColumnType("TEXT");
b.Property("GrantorId")
.HasColumnType("TEXT");
b.Property("KeyEncrypted")
.HasColumnType("TEXT");
b.Property("LastNotificationDate")
.HasColumnType("TEXT");
b.Property("RecoveryInitiatedDate")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Status")
.HasColumnType("INTEGER");
b.Property("Type")
.HasColumnType("INTEGER");
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");
b.Property("ClientId")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("ConsumedDate")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Data")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Description")
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("ExpirationDate")
.HasColumnType("TEXT");
b.Property("Key")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("SessionId")
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property("SubjectId")
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("Type")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.HasKey("Id")
.HasName("PK_Grant")
.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("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Data")
.HasColumnType("TEXT");
b.Property("Enabled")
.HasColumnType("INTEGER");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
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("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("ExternalId")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("UserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("OrganizationId")
.HasAnnotation("SqlServer:Clustered", false);
b.HasIndex("UserId");
b.HasIndex("OrganizationId", "ExternalId")
.IsUnique()
.HasAnnotation("Npgsql:IndexInclude", new[] { "UserId" })
.HasAnnotation("SqlServer:Clustered", false);
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("TEXT");
b.Property("AaGuid")
.HasColumnType("TEXT");
b.Property("Counter")
.HasColumnType("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("CredentialId")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("EncryptedPrivateKey")
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("EncryptedPublicKey")
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("EncryptedUserKey")
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("Name")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("PublicKey")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("SupportsPrf")
.HasColumnType("INTEGER");
b.Property("Type")
.HasMaxLength(20)
.HasColumnType("TEXT");
b.Property("UserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("WebAuthnCredential", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Billing.Models.ProviderInvoiceItem", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("AssignedSeats")
.HasColumnType("INTEGER");
b.Property("ClientId")
.HasColumnType("TEXT");
b.Property("ClientName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("Created")
.HasColumnType("TEXT");
b.Property("InvoiceId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("InvoiceNumber")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("PlanName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("ProviderId")
.HasColumnType("TEXT");
b.Property("Total")
.HasColumnType("TEXT");
b.Property("UsedSeats")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ProviderId");
b.ToTable("ProviderInvoiceItem", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Billing.Models.ProviderPlan", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("AllocatedSeats")
.HasColumnType("INTEGER");
b.Property("PlanType")
.HasColumnType("INTEGER");
b.Property("ProviderId")
.HasColumnType("TEXT");
b.Property("PurchasedSeats")
.HasColumnType("INTEGER");
b.Property("SeatMinimum")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ProviderId");
b.HasIndex("Id", "PlanType")
.IsUnique();
b.ToTable("ProviderPlan", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Cache", b =>
{
b.Property("Id")
.HasMaxLength(449)
.HasColumnType("TEXT");
b.Property("AbsoluteExpiration")
.HasColumnType("TEXT");
b.Property("ExpiresAtTime")
.HasColumnType("TEXT");
b.Property("SlidingExpirationInSeconds")
.HasColumnType("INTEGER");
b.Property("Value")
.IsRequired()
.HasColumnType("BLOB");
b.HasKey("Id")
.HasAnnotation("SqlServer:Clustered", true);
b.HasIndex("ExpiresAtTime")
.HasAnnotation("SqlServer:Clustered", false);
b.ToTable("Cache", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("ExternalId")
.HasMaxLength(300)
.HasColumnType("TEXT");
b.Property("Name")
.IsRequired()
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("OrganizationId");
b.ToTable("Collection", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b =>
{
b.Property("CollectionId")
.HasColumnType("TEXT");
b.Property("CipherId")
.HasColumnType("TEXT");
b.HasKey("CollectionId", "CipherId");
b.HasIndex("CipherId");
b.ToTable("CollectionCipher", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b =>
{
b.Property("CollectionId")
.HasColumnType("TEXT");
b.Property("GroupId")
.HasColumnType("TEXT");
b.Property("HidePasswords")
.HasColumnType("INTEGER");
b.Property("Manage")
.HasColumnType("INTEGER");
b.Property("ReadOnly")
.HasColumnType("INTEGER");
b.HasKey("CollectionId", "GroupId");
b.HasIndex("GroupId");
b.ToTable("CollectionGroups");
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b =>
{
b.Property("CollectionId")
.HasColumnType("TEXT");
b.Property("OrganizationUserId")
.HasColumnType("TEXT");
b.Property("HidePasswords")
.HasColumnType("INTEGER");
b.Property("Manage")
.HasColumnType("INTEGER");
b.Property("ReadOnly")
.HasColumnType("INTEGER");
b.HasKey("CollectionId", "OrganizationUserId");
b.HasIndex("OrganizationUserId");
b.ToTable("CollectionUsers");
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("EncryptedPrivateKey")
.HasColumnType("TEXT");
b.Property("EncryptedPublicKey")
.HasColumnType("TEXT");
b.Property("EncryptedUserKey")
.HasColumnType("TEXT");
b.Property("Identifier")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("PushToken")
.HasMaxLength(255)
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("TEXT");
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("TEXT");
b.Property("ActingUserId")
.HasColumnType("TEXT");
b.Property("CipherId")
.HasColumnType("TEXT");
b.Property("CollectionId")
.HasColumnType("TEXT");
b.Property("Date")
.HasColumnType("TEXT");
b.Property("DeviceType")
.HasColumnType("INTEGER");
b.Property("DomainName")
.HasColumnType("TEXT");
b.Property("GroupId")
.HasColumnType("TEXT");
b.Property("InstallationId")
.HasColumnType("TEXT");
b.Property("IpAddress")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("OrganizationUserId")
.HasColumnType("TEXT");
b.Property("PolicyId")
.HasColumnType("TEXT");
b.Property("ProviderId")
.HasColumnType("TEXT");
b.Property("ProviderOrganizationId")
.HasColumnType("TEXT");
b.Property("ProviderUserId")
.HasColumnType("TEXT");
b.Property("SecretId")
.HasColumnType("TEXT");
b.Property("ServiceAccountId")
.HasColumnType("TEXT");
b.Property("SystemUser")
.HasColumnType("INTEGER");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("TEXT");
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("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("ExternalId")
.HasMaxLength(300)
.HasColumnType("TEXT");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("OrganizationId");
b.ToTable("Group", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b =>
{
b.Property("GroupId")
.HasColumnType("TEXT");
b.Property("OrganizationUserId")
.HasColumnType("TEXT");
b.HasKey("GroupId", "OrganizationUserId");
b.HasIndex("OrganizationUserId");
b.ToTable("GroupUser", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Installation", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Email")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("Enabled")
.HasColumnType("INTEGER");
b.Property("Key")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("Installation", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("ApiKey")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("OrganizationId");
b.ToTable("OrganizationApiKey", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("Config")
.HasColumnType("TEXT");
b.Property("Enabled")
.HasColumnType("INTEGER");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property