diff --git a/util/MySqlMigrations/HelperScripts/2024-02-16_00_AccessAllCollectionGroups.sql b/util/MySqlMigrations/HelperScripts/2024-02-16_00_AccessAllCollectionGroups.sql
deleted file mode 100644
index b93e83a0dd..0000000000
--- a/util/MySqlMigrations/HelperScripts/2024-02-16_00_AccessAllCollectionGroups.sql
+++ /dev/null
@@ -1,47 +0,0 @@
--- Step 1: Create a temporary table to store the groups with AccessAll = 1
-CREATE TEMPORARY TABLE IF NOT EXISTS TempGroup AS
-SELECT `Id` AS `GroupId`, `OrganizationId`
-FROM `Group`
-WHERE `AccessAll` = 1;
-
--- Step 2: Create a temporary table to store distinct OrganizationUserIds
-CREATE TEMPORARY TABLE IF NOT EXISTS TempOrganizationUsers AS
-SELECT DISTINCT GU.`OrganizationUserId`
-FROM `GroupUser` GU
-JOIN TempGroup TG ON GU.`GroupId` = TG.`GroupId`;
-
--- Step 3: Update existing rows in `CollectionGroups`
-UPDATE `CollectionGroups` CG
-INNER JOIN `Collection` C ON CG.`CollectionId` = C.`Id`
-INNER JOIN TempGroup TG ON CG.`GroupId` = TG.`GroupId`
-SET
- CG.`ReadOnly` = 0,
- CG.`HidePasswords` = 0,
- CG.`Manage` = 0
-WHERE C.`OrganizationId` = TG.`OrganizationId`;
-
--- Step 4: Insert new rows into `CollectionGroups`
-INSERT INTO `CollectionGroups` (`CollectionId`, `GroupId`, `ReadOnly`, `HidePasswords`, `Manage`)
-SELECT C.`Id`, TG.`GroupId`, 0, 0, 0
-FROM `Collection` C
-INNER JOIN TempGroup TG
- ON C.`OrganizationId` = TG.`OrganizationId`
-LEFT JOIN `CollectionGroups` CG
- ON CG.`CollectionId` = C.`Id` AND CG.`GroupId` = TG.`GroupId`
-WHERE CG.`CollectionId` IS NULL;
-
--- Step 5: Update Group to clear AccessAll flag
-UPDATE `Group` G
-INNER JOIN TempGroup TG ON G.`Id` = TG.`GroupId`
-SET G.`AccessAll` = 0, G.`RevisionDate` = UTC_TIMESTAMP();
-
--- Step 6: Update User AccountRevisionDate for each unique OrganizationUserId
-UPDATE `User` U
-INNER JOIN `OrganizationUser` OU ON OU.`UserId` = U.`Id`
-INNER JOIN TempOrganizationUsers TOU ON TOU.`OrganizationUserId` = OU.`Id`
-SET U.`AccountRevisionDate` = UTC_TIMESTAMP()
-WHERE OU.`Status` = 2;
-
--- Step 7: Drop the temporary tables
-DROP TEMPORARY TABLE IF EXISTS TempGroup;
-DROP TEMPORARY TABLE IF EXISTS TempOrganizationUsers;
diff --git a/util/MySqlMigrations/HelperScripts/2024-02-16_01_AccessAllCollectionUsers.sql b/util/MySqlMigrations/HelperScripts/2024-02-16_01_AccessAllCollectionUsers.sql
deleted file mode 100644
index b02b06a6b0..0000000000
--- a/util/MySqlMigrations/HelperScripts/2024-02-16_01_AccessAllCollectionUsers.sql
+++ /dev/null
@@ -1,40 +0,0 @@
--- Step 1: Create a temporary table
-CREATE TEMPORARY TABLE TempOrgUser AS
-SELECT `Id` AS `OrganizationUserId`, `OrganizationId`
-FROM `OrganizationUser`
-WHERE `AccessAll` = 1;
-
--- Step 2: Update existing rows in CollectionUsers
-UPDATE `CollectionUsers` AS `target`
-INNER JOIN `Collection` AS `C` ON `target`.`CollectionId` = `C`.`Id`
-INNER JOIN `TempOrgUser` AS `OU` ON `C`.`OrganizationId` = `OU`.`OrganizationId`
-SET
- `target`.`ReadOnly` = 0,
- `target`.`HidePasswords` = 0,
- `target`.`Manage` = 0;
-
--- Step 3: Insert new rows into CollectionUsers
-INSERT INTO `CollectionUsers` (`CollectionId`, `OrganizationUserId`, `ReadOnly`, `HidePasswords`, `Manage`)
-SELECT `C`.`Id` AS `CollectionId`, `OU`.`OrganizationUserId`, 0, 0, 0
-FROM `Collection` AS `C`
-INNER JOIN `TempOrgUser` AS `OU` ON `C`.`OrganizationId` = `OU`.`OrganizationId`
-WHERE NOT EXISTS (
- SELECT 1
- FROM `CollectionUsers` AS `CU`
- WHERE `CU`.`CollectionId` = `C`.`Id` AND `CU`.`OrganizationUserId` = `OU`.`OrganizationUserId`
-);
-
--- Step 4: Update OrganizationUser to clear AccessAll flag
-UPDATE `OrganizationUser` AS `OU`
-INNER JOIN `TempOrgUser` AS `T` ON `OU`.`Id` = `T`.`OrganizationUserId`
-SET `OU`.`AccessAll` = 0;
-
--- Step 5: Update `User` AccountRevisionDate for each unique OrganizationUserId
-UPDATE `User` AS `U`
-INNER JOIN `OrganizationUser` AS `OU` ON `OU`.`UserId` = `U`.`Id`
-INNER JOIN `TempOrgUser` AS `TOU` ON `TOU`.`OrganizationUserId` = `OU`.`Id`
-SET `U`.`AccountRevisionDate` = UTC_TIMESTAMP()
-WHERE `OU`.`Status` = 2;
-
--- Step 6: Drop the temporary table
-DROP TEMPORARY TABLE IF EXISTS TempOrgUser;
diff --git a/util/MySqlMigrations/HelperScripts/2024-02-16_02_ManagersEditAssignedCollectionUsers.sql b/util/MySqlMigrations/HelperScripts/2024-02-16_02_ManagersEditAssignedCollectionUsers.sql
deleted file mode 100644
index ef1ec83898..0000000000
--- a/util/MySqlMigrations/HelperScripts/2024-02-16_02_ManagersEditAssignedCollectionUsers.sql
+++ /dev/null
@@ -1,74 +0,0 @@
--- Step 1: Update `CollectionUser` with `Manage` = 1 for all users with Manager role or 'EditAssignedCollections' permission
- -- Create a temporary table
- CREATE TEMPORARY TABLE TempOrgUser AS
- SELECT ou.Id AS OrganizationUserId
- FROM OrganizationUser ou
- WHERE ou.Type = 3 OR (ou.Permissions IS NOT NULL AND
- JSON_VALID(ou.Permissions) > 0 AND JSON_UNQUOTE(JSON_EXTRACT(ou.Permissions, '$.editAssignedCollections')) = 'true');
-
- -- Update CollectionUsers with Manage = 1 using the temporary table
- UPDATE CollectionUsers cu
- INNER JOIN TempOrgUser temp ON cu.OrganizationUserId = temp.OrganizationUserId
- SET cu.ReadOnly = 0,
- cu.HidePasswords = 0,
- cu.Manage = 1;
-
- -- Update `User` AccountRevisionDate for each unique OrganizationUserId
- UPDATE `User` AS `U`
- INNER JOIN `OrganizationUser` AS `OU` ON `OU`.`UserId` = `U`.`Id`
- INNER JOIN `TempOrgUser` AS `TOU` ON `TOU`.`OrganizationUserId` = `OU`.`Id`
- SET `U`.`AccountRevisionDate` = UTC_TIMESTAMP()
- WHERE `OU`.`Status` = 2;
-
- -- Drop the temporary table
- DROP TEMPORARY TABLE IF EXISTS TempOrgUser;
-
--- Step 2: Insert rows to CollectionUser for Managers and users with 'EditAssignedCollections' permission assigned to groups with collection access
- -- Store the results in a temporary table
- CREATE TEMPORARY TABLE IF NOT EXISTS TempCol AS
- SELECT cg.CollectionId, ou.Id AS OrganizationUserId
- FROM CollectionGroups cg
- INNER JOIN GroupUser gu ON cg.GroupId = gu.GroupId
- INNER JOIN OrganizationUser ou ON gu.OrganizationUserId = ou.Id
- WHERE (ou.Type = 3 OR (ou.Permissions IS NOT NULL AND JSON_VALID(ou.Permissions) > 0 AND JSON_UNQUOTE(JSON_EXTRACT(ou.Permissions, '$.editAssignedCollections')) = 'true'))
- AND NOT EXISTS (
- SELECT 1 FROM CollectionUsers cu
- WHERE cu.CollectionId = cg.CollectionId AND cu.OrganizationUserId = ou.Id
- );
-
- -- Insert rows into CollectionUsers using the temporary table
- INSERT INTO CollectionUsers (CollectionId, OrganizationUserId, ReadOnly, HidePasswords, Manage)
- SELECT CollectionId, OrganizationUserId, 0, 0, 1
- FROM TempCol;
-
- -- Update `User` AccountRevisionDate for each unique OrganizationUserId
- UPDATE `User` AS `U`
- INNER JOIN `OrganizationUser` AS `OU` ON `OU`.`UserId` = `U`.`Id`
- INNER JOIN `TempCol` AS `TC` ON `TC`.`OrganizationUserId` = `OU`.`Id`
- SET `U`.`AccountRevisionDate` = UTC_TIMESTAMP()
- WHERE `OU`.`Status` = 2;
-
- -- Drop the temporary table
- DROP TEMPORARY TABLE IF EXISTS TempCol;
-
--- Step 3: Set all Managers to Users
- -- Create a temporary table
- CREATE TEMPORARY TABLE TempOrgUser AS
- SELECT ou.Id AS OrganizationUserId
- FROM OrganizationUser ou
- WHERE ou.Type = 3;
-
- -- Update OrganizationUser with Type = 2 using the temporary table
- UPDATE OrganizationUser ou
- INNER JOIN TempOrgUser temp ON ou.Id = temp.OrganizationUserId
- SET ou.Type = 2;
-
- -- Update `User` AccountRevisionDate for each unique OrganizationUserId
- UPDATE `User` AS `U`
- INNER JOIN `OrganizationUser` AS `OU` ON `OU`.`UserId` = `U`.`Id`
- INNER JOIN `TempOrgUser` AS `TOU` ON `TOU`.`OrganizationUserId` = `OU`.`Id`
- SET `U`.`AccountRevisionDate` = UTC_TIMESTAMP()
- WHERE `OU`.`Status` = 2;
-
- -- Drop the temporary table
- DROP TEMPORARY TABLE IF EXISTS TempOrgUser;
diff --git a/util/MySqlMigrations/HelperScripts/2024-02-16_03_EnableOrgsFlexibleCollections.sql b/util/MySqlMigrations/HelperScripts/2024-02-16_03_EnableOrgsFlexibleCollections.sql
deleted file mode 100644
index 1794cdb965..0000000000
--- a/util/MySqlMigrations/HelperScripts/2024-02-16_03_EnableOrgsFlexibleCollections.sql
+++ /dev/null
@@ -1,4 +0,0 @@
--- Set `FlexibleCollections` = 1 for all organizations that have not yet been migrated.
-UPDATE `Organization`
-SET `FlexibleCollections` = 1
-WHERE `FlexibleCollections` = 0;
diff --git a/util/MySqlMigrations/Migrations/20240216131258_FCAccessAllCollectionGroups.Designer.cs b/util/MySqlMigrations/Migrations/20240216131258_FCAccessAllCollectionGroups.Designer.cs
deleted file mode 100644
index a7f0e19b63..0000000000
--- a/util/MySqlMigrations/Migrations/20240216131258_FCAccessAllCollectionGroups.Designer.cs
+++ /dev/null
@@ -1,2396 +0,0 @@
-//
-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.MySqlMigrations.Migrations
-{
- [DbContext(typeof(DatabaseContext))]
- [Migration("20240216131258_FCAccessAllCollectionGroups")]
- partial class FCAccessAllCollectionGroups
- {
- ///
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "7.0.15")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("AllowAdminAccessToAllCollectionItems")
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(true);
-
- b.Property("BillingEmail")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)");
-
- b.Property("BusinessAddress1")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("BusinessAddress2")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("BusinessAddress3")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("BusinessCountry")
- .HasMaxLength(2)
- .HasColumnType("varchar(2)");
-
- b.Property("BusinessName")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("BusinessTaxNumber")
- .HasMaxLength(30)
- .HasColumnType("varchar(30)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Enabled")
- .HasColumnType("tinyint(1)");
-
- b.Property("ExpirationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("FlexibleCollections")
- .HasColumnType("tinyint(1)");
-
- b.Property("Gateway")
- .HasColumnType("tinyint unsigned");
-
- b.Property("GatewayCustomerId")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("GatewaySubscriptionId")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("Identifier")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("LicenseKey")
- .HasMaxLength(100)
- .HasColumnType("varchar(100)");
-
- b.Property("LimitCollectionCreationDeletion")
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(true);
-
- b.Property("MaxAutoscaleSeats")
- .HasColumnType("int");
-
- b.Property("MaxAutoscaleSmSeats")
- .HasColumnType("int");
-
- b.Property("MaxAutoscaleSmServiceAccounts")
- .HasColumnType("int");
-
- b.Property("MaxCollections")
- .HasColumnType("smallint");
-
- b.Property("MaxStorageGb")
- .HasColumnType("smallint");
-
- b.Property("Name")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("OwnersNotifiedOfAutoscaling")
- .HasColumnType("datetime(6)");
-
- b.Property("Plan")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("PlanType")
- .HasColumnType("tinyint unsigned");
-
- b.Property("PrivateKey")
- .HasColumnType("longtext");
-
- b.Property("PublicKey")
- .HasColumnType("longtext");
-
- b.Property("ReferenceData")
- .HasColumnType("longtext");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Seats")
- .HasColumnType("int");
-
- b.Property("SelfHost")
- .HasColumnType("tinyint(1)");
-
- b.Property("SmSeats")
- .HasColumnType("int");
-
- b.Property("SmServiceAccounts")
- .HasColumnType("int");
-
- b.Property("Status")
- .HasColumnType("tinyint unsigned");
-
- b.Property("Storage")
- .HasColumnType("bigint");
-
- b.Property("TwoFactorProviders")
- .HasColumnType("longtext");
-
- b.Property("Use2fa")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseApi")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseCustomPermissions")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseDirectory")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseEvents")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseGroups")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseKeyConnector")
- .HasColumnType("tinyint(1)");
-
- b.Property("UsePasswordManager")
- .HasColumnType("tinyint(1)");
-
- b.Property("UsePolicies")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseResetPassword")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseScim")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseSecretsManager")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseSso")
- .HasColumnType("tinyint(1)");
-
- b.Property("UseTotp")
- .HasColumnType("tinyint(1)");
-
- b.Property("UsersGetPremium")
- .HasColumnType("tinyint(1)");
-
- 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("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Data")
- .HasColumnType("longtext");
-
- b.Property("Enabled")
- .HasColumnType("tinyint(1)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- 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("char(36)");
-
- b.Property("BillingEmail")
- .HasColumnType("longtext");
-
- b.Property("BillingPhone")
- .HasColumnType("longtext");
-
- b.Property("BusinessAddress1")
- .HasColumnType("longtext");
-
- b.Property("BusinessAddress2")
- .HasColumnType("longtext");
-
- b.Property("BusinessAddress3")
- .HasColumnType("longtext");
-
- b.Property("BusinessCountry")
- .HasColumnType("longtext");
-
- b.Property("BusinessName")
- .HasColumnType("longtext");
-
- b.Property("BusinessTaxNumber")
- .HasColumnType("longtext");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Enabled")
- .HasColumnType("tinyint(1)");
-
- b.Property("Name")
- .HasColumnType("longtext");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Status")
- .HasColumnType("tinyint unsigned");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- b.Property("UseEvents")
- .HasColumnType("tinyint(1)");
-
- b.HasKey("Id");
-
- b.ToTable("Provider", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider.ProviderOrganization", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Key")
- .HasColumnType("longtext");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("ProviderId")
- .HasColumnType("char(36)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Settings")
- .HasColumnType("longtext");
-
- 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("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Email")
- .HasColumnType("longtext");
-
- b.Property("Key")
- .HasColumnType("longtext");
-
- b.Property("Permissions")
- .HasColumnType("longtext");
-
- b.Property("ProviderId")
- .HasColumnType("char(36)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Status")
- .HasColumnType("tinyint unsigned");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- b.Property("UserId")
- .HasColumnType("char(36)");
-
- 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("char(36)");
-
- b.Property("AccessCode")
- .HasMaxLength(25)
- .HasColumnType("varchar(25)");
-
- b.Property("Approved")
- .HasColumnType("tinyint(1)");
-
- b.Property("AuthenticationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Key")
- .HasColumnType("longtext");
-
- b.Property("MasterPasswordHash")
- .HasColumnType("longtext");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("PublicKey")
- .HasColumnType("longtext");
-
- b.Property("RequestDeviceIdentifier")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("RequestDeviceType")
- .HasColumnType("tinyint unsigned");
-
- b.Property("RequestIpAddress")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("ResponseDate")
- .HasColumnType("datetime(6)");
-
- b.Property("ResponseDeviceId")
- .HasColumnType("char(36)");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- b.Property("UserId")
- .HasColumnType("char(36)");
-
- 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("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Email")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)");
-
- b.Property("GranteeId")
- .HasColumnType("char(36)");
-
- b.Property("GrantorId")
- .HasColumnType("char(36)");
-
- b.Property("KeyEncrypted")
- .HasColumnType("longtext");
-
- b.Property("LastNotificationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("RecoveryInitiatedDate")
- .HasColumnType("datetime(6)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Status")
- .HasColumnType("tinyint unsigned");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- b.Property("WaitTimeDays")
- .HasColumnType("int");
-
- 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("int")
- .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
-
- b.Property("ClientId")
- .IsRequired()
- .HasMaxLength(200)
- .HasColumnType("varchar(200)");
-
- b.Property("ConsumedDate")
- .HasColumnType("datetime(6)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Data")
- .IsRequired()
- .HasColumnType("longtext");
-
- b.Property("Description")
- .HasMaxLength(200)
- .HasColumnType("varchar(200)");
-
- b.Property("ExpirationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Key")
- .IsRequired()
- .HasMaxLength(200)
- .HasColumnType("varchar(200)");
-
- b.Property("SessionId")
- .HasMaxLength(100)
- .HasColumnType("varchar(100)");
-
- b.Property("SubjectId")
- .HasMaxLength(200)
- .HasColumnType("varchar(200)");
-
- b.Property("Type")
- .IsRequired()
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- 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("bigint");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Data")
- .HasColumnType("longtext");
-
- b.Property("Enabled")
- .HasColumnType("tinyint(1)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.HasKey("Id");
-
- b.HasIndex("OrganizationId");
-
- b.ToTable("SsoConfig", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("bigint");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("ExternalId")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("UserId")
- .HasColumnType("char(36)");
-
- 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("char(36)");
-
- b.Property("AaGuid")
- .HasColumnType("char(36)");
-
- b.Property("Counter")
- .HasColumnType("int");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("CredentialId")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)");
-
- b.Property("EncryptedPrivateKey")
- .HasMaxLength(2000)
- .HasColumnType("varchar(2000)");
-
- b.Property("EncryptedPublicKey")
- .HasMaxLength(2000)
- .HasColumnType("varchar(2000)");
-
- b.Property("EncryptedUserKey")
- .HasMaxLength(2000)
- .HasColumnType("varchar(2000)");
-
- b.Property("Name")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("PublicKey")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("SupportsPrf")
- .HasColumnType("tinyint(1)");
-
- b.Property("Type")
- .HasMaxLength(20)
- .HasColumnType("varchar(20)");
-
- b.Property("UserId")
- .HasColumnType("char(36)");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("WebAuthnCredential", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("ExternalId")
- .HasMaxLength(300)
- .HasColumnType("varchar(300)");
-
- b.Property("Name")
- .HasColumnType("longtext");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.HasKey("Id");
-
- b.HasIndex("OrganizationId");
-
- b.ToTable("Collection", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b =>
- {
- b.Property("CollectionId")
- .HasColumnType("char(36)");
-
- b.Property("CipherId")
- .HasColumnType("char(36)");
-
- b.HasKey("CollectionId", "CipherId");
-
- b.HasIndex("CipherId");
-
- b.ToTable("CollectionCipher", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b =>
- {
- b.Property("CollectionId")
- .HasColumnType("char(36)");
-
- b.Property("GroupId")
- .HasColumnType("char(36)");
-
- b.Property("HidePasswords")
- .HasColumnType("tinyint(1)");
-
- b.Property("Manage")
- .HasColumnType("tinyint(1)");
-
- b.Property("ReadOnly")
- .HasColumnType("tinyint(1)");
-
- b.HasKey("CollectionId", "GroupId");
-
- b.HasIndex("GroupId");
-
- b.ToTable("CollectionGroups");
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b =>
- {
- b.Property("CollectionId")
- .HasColumnType("char(36)");
-
- b.Property("OrganizationUserId")
- .HasColumnType("char(36)");
-
- b.Property("HidePasswords")
- .HasColumnType("tinyint(1)");
-
- b.Property("Manage")
- .HasColumnType("tinyint(1)");
-
- b.Property("ReadOnly")
- .HasColumnType("tinyint(1)");
-
- b.HasKey("CollectionId", "OrganizationUserId");
-
- b.HasIndex("OrganizationUserId");
-
- b.ToTable("CollectionUsers");
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("EncryptedPrivateKey")
- .HasColumnType("longtext");
-
- b.Property("EncryptedPublicKey")
- .HasColumnType("longtext");
-
- b.Property("EncryptedUserKey")
- .HasColumnType("longtext");
-
- b.Property("Identifier")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("Name")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("PushToken")
- .HasMaxLength(255)
- .HasColumnType("varchar(255)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- b.Property("UserId")
- .HasColumnType("char(36)");
-
- 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("char(36)");
-
- b.Property("ActingUserId")
- .HasColumnType("char(36)");
-
- b.Property("CipherId")
- .HasColumnType("char(36)");
-
- b.Property("CollectionId")
- .HasColumnType("char(36)");
-
- b.Property("Date")
- .HasColumnType("datetime(6)");
-
- b.Property("DeviceType")
- .HasColumnType("tinyint unsigned");
-
- b.Property("DomainName")
- .HasColumnType("longtext");
-
- b.Property("GroupId")
- .HasColumnType("char(36)");
-
- b.Property("InstallationId")
- .HasColumnType("char(36)");
-
- b.Property("IpAddress")
- .HasMaxLength(50)
- .HasColumnType("varchar(50)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("OrganizationUserId")
- .HasColumnType("char(36)");
-
- b.Property("PolicyId")
- .HasColumnType("char(36)");
-
- b.Property("ProviderId")
- .HasColumnType("char(36)");
-
- b.Property("ProviderOrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("ProviderUserId")
- .HasColumnType("char(36)");
-
- b.Property("SecretId")
- .HasColumnType("char(36)");
-
- b.Property("ServiceAccountId")
- .HasColumnType("char(36)");
-
- b.Property("SystemUser")
- .HasColumnType("tinyint unsigned");
-
- b.Property("Type")
- .HasColumnType("int");
-
- b.Property("UserId")
- .HasColumnType("char(36)");
-
- 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("char(36)");
-
- b.Property("AccessAll")
- .HasColumnType("tinyint(1)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("ExternalId")
- .HasMaxLength(300)
- .HasColumnType("varchar(300)");
-
- b.Property("Name")
- .HasMaxLength(100)
- .HasColumnType("varchar(100)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.HasKey("Id");
-
- b.HasIndex("OrganizationId");
-
- b.ToTable("Group", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b =>
- {
- b.Property("GroupId")
- .HasColumnType("char(36)");
-
- b.Property("OrganizationUserId")
- .HasColumnType("char(36)");
-
- b.HasKey("GroupId", "OrganizationUserId");
-
- b.HasIndex("OrganizationUserId");
-
- b.ToTable("GroupUser", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Installation", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Email")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)");
-
- b.Property("Enabled")
- .HasColumnType("tinyint(1)");
-
- b.Property("Key")
- .HasMaxLength(150)
- .HasColumnType("varchar(150)");
-
- b.HasKey("Id");
-
- b.ToTable("Installation", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("ApiKey")
- .HasMaxLength(30)
- .HasColumnType("varchar(30)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("RevisionDate")
- .HasColumnType("datetime(6)");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- b.HasKey("Id");
-
- b.HasIndex("OrganizationId");
-
- b.ToTable("OrganizationApiKey", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("Config")
- .HasColumnType("longtext");
-
- b.Property("Enabled")
- .HasColumnType("tinyint(1)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("Type")
- .HasColumnType("tinyint unsigned");
-
- b.HasKey("Id");
-
- b.HasIndex("OrganizationId");
-
- b.ToTable("OrganizationConnection", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("CreationDate")
- .HasColumnType("datetime(6)");
-
- b.Property("DomainName")
- .HasMaxLength(255)
- .HasColumnType("varchar(255)");
-
- b.Property("JobRunCount")
- .HasColumnType("int");
-
- b.Property("LastCheckedDate")
- .HasColumnType("datetime(6)");
-
- b.Property("NextRunDate")
- .HasColumnType("datetime(6)");
-
- b.Property("OrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("Txt")
- .HasColumnType("longtext");
-
- b.Property("VerifiedDate")
- .HasColumnType("datetime(6)");
-
- b.HasKey("Id");
-
- b.HasIndex("OrganizationId");
-
- b.ToTable("OrganizationDomain", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("FriendlyName")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)");
-
- b.Property("LastSyncDate")
- .HasColumnType("datetime(6)");
-
- b.Property("OfferedToEmail")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)");
-
- b.Property("PlanSponsorshipType")
- .HasColumnType("tinyint unsigned");
-
- b.Property("SponsoredOrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("SponsoringOrganizationId")
- .HasColumnType("char(36)");
-
- b.Property("SponsoringOrganizationUserId")
- .HasColumnType("char(36)");
-
- b.Property("ToDelete")
- .HasColumnType("tinyint(1)");
-
- b.Property("ValidUntil")
- .HasColumnType("datetime(6)");
-
- b.HasKey("Id");
-
- b.HasIndex("SponsoredOrganizationId");
-
- b.HasIndex("SponsoringOrganizationId");
-
- b.HasIndex("SponsoringOrganizationUserId")
- .HasAnnotation("SqlServer:Clustered", false);
-
- b.ToTable("OrganizationSponsorship", (string)null);
- });
-
- modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b =>
- {
- b.Property("Id")
- .HasColumnType("char(36)");
-
- b.Property("AccessAll")
- .HasColumnType("tinyint(1)");
-
- b.Property("AccessSecretsManager")
- .HasColumnType("tinyint(1)");
-
- b.Property