//
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("20230124132220_KDFOptions")]
partial class KDFOptions
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "6.0.12");
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.AccessPolicy", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Discriminator")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Read")
.HasColumnType("INTEGER");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Write")
.HasColumnType("INTEGER");
b.HasKey("Id")
.HasAnnotation("SqlServer:Clustered", true);
b.ToTable("AccessPolicy", (string)null);
b.HasDiscriminator("Discriminator").HasValue("AccessPolicy");
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ApiKey", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("ClientSecret")
.HasMaxLength(30)
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("EncryptedPayload")
.HasMaxLength(4000)
.HasColumnType("TEXT");
b.Property("ExpireAt")
.HasColumnType("TEXT");
b.Property("Key")
.HasColumnType("TEXT");
b.Property("Name")
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Scope")
.HasMaxLength(4000)
.HasColumnType("TEXT");
b.Property("ServiceAccountId")
.HasColumnType("TEXT");
b.HasKey("Id")
.HasAnnotation("SqlServer:Clustered", true);
b.HasIndex("ServiceAccountId")
.HasAnnotation("SqlServer:Clustered", false);
b.ToTable("ApiKey", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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("PublicKey")
.HasColumnType("TEXT");
b.Property("RequestDeviceIdentifier")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("RequestDeviceType")
.HasColumnType("INTEGER");
b.Property("RequestFingerprint")
.HasColumnType("TEXT");
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("ResponseDeviceId");
b.HasIndex("UserId");
b.ToTable("AuthRequest", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Cipher", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("Attachments")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Data")
.HasColumnType("TEXT");
b.Property("DeletedDate")
.HasColumnType("TEXT");
b.Property("Favorites")
.HasColumnType("TEXT");
b.Property("Folders")
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("Reprompt")
.HasColumnType("INTEGER");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("TEXT");
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("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("ExternalId")
.HasMaxLength(300)
.HasColumnType("TEXT");
b.Property("Name")
.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("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("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("Identifier")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("Name")
.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("UserId");
b.ToTable("Device", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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.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("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("SystemUser")
.HasColumnType("INTEGER");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("Event", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Folder", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.HasColumnType("TEXT");
b.Property("UserId")
.HasColumnType("TEXT");
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("TEXT");
b.Property("ClientId")
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("ConsumedDate")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Data")
.HasColumnType("TEXT");
b.Property("Description")
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("ExpirationDate")
.HasColumnType("TEXT");
b.Property("SessionId")
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property("SubjectId")
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("Type")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.HasKey("Key");
b.ToTable("Grant", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("AccessAll")
.HasColumnType("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("ExternalId")
.HasMaxLength(300)
.HasColumnType("TEXT");
b.Property("Name")
.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")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("Enabled")
.HasColumnType("INTEGER");
b.Property("Key")
.HasMaxLength(150)
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("Installation", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Organization", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("BillingEmail")
.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("MaxAutoscaleSeats")
.HasColumnType("INTEGER");
b.Property("MaxCollections")
.HasColumnType("INTEGER");
b.Property("MaxStorageGb")
.HasColumnType("INTEGER");
b.Property("Name")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("OwnersNotifiedOfAutoscaling")
.HasColumnType("TEXT");
b.Property("Plan")
.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("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("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.ToTable("Organization", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("ApiKey")
.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("Type")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("OrganizationId");
b.ToTable("OrganizationConnection", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("FriendlyName")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("LastSyncDate")
.HasColumnType("TEXT");
b.Property("OfferedToEmail")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("PlanSponsorshipType")
.HasColumnType("INTEGER");
b.Property("SponsoredOrganizationId")
.HasColumnType("TEXT");
b.Property("SponsoringOrganizationId")
.HasColumnType("TEXT");
b.Property("SponsoringOrganizationUserId")
.HasColumnType("TEXT");
b.Property("ToDelete")
.HasColumnType("INTEGER");
b.Property("ValidUntil")
.HasColumnType("TEXT");
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("TEXT");
b.Property("AccessAll")
.HasColumnType("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Email")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("ExternalId")
.HasMaxLength(300)
.HasColumnType("TEXT");
b.Property("Key")
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("Permissions")
.HasColumnType("TEXT");
b.Property("ResetPasswordKey")
.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("OrganizationId");
b.HasIndex("UserId");
b.ToTable("OrganizationUser", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.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");
b.ToTable("Policy", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Project", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("DeletedDate")
.HasColumnType("TEXT");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("OrganizationId")
.HasColumnType("TEXT");
b.Property("RevisionDate")
.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("Project", (string)null);
});
modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.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("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.Models.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.Models.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.Models.Secret", b =>
{
b.Property("Id")
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property