From 03ecc472b7172a3cae9723fab6c5f5c474e63f4a Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Tue, 30 Sep 2025 13:01:49 +0200 Subject: [PATCH] Update passkeys migration with new sql lib structure (#520) --- .../src/utils/dist/shared/vault-sql/index.js | 55 +++++++++++++++++++ .../src/utils/dist/shared/vault-sql/index.mjs | 55 +++++++++++++++++++ .../utils/dist/shared/vault-sql/index.js | 55 +++++++++++++++++++ .../utils/dist/shared/vault-sql/index.mjs | 55 +++++++++++++++++++ .../wwwroot/js/dist/shared/vault-sql/index.js | 55 +++++++++++++++++++ .../js/dist/shared/vault-sql/index.mjs | 55 +++++++++++++++++++ shared/vault-sql/src/sql/VaultVersions.ts | 1 + 7 files changed, 331 insertions(+) diff --git a/apps/browser-extension/src/utils/dist/shared/vault-sql/index.js b/apps/browser-extension/src/utils/dist/shared/vault-sql/index.js index fed350dfb..8733c96a2 100644 --- a/apps/browser-extension/src/utils/dist/shared/vault-sql/index.js +++ b/apps/browser-extension/src/utils/dist/shared/vault-sql/index.js @@ -285,6 +285,29 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT; `; var MIGRATION_SCRIPTS = { @@ -471,6 +494,31 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +COMMIT;`, + 10: `\uFEFFBEGIN TRANSACTION; +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT;` }; @@ -545,6 +593,13 @@ var VAULT_VERSIONS = [ description: "Add 2FA Tokens to credentials", releaseVersion: "0.14.0", compatibleUpToVersion: "0.23.0" + }, + { + revision: 11, + version: "1.6.0", + description: "Add Passkey Entity", + releaseVersion: "0.24.0", + compatibleUpToVersion: "0.24.0" } ]; diff --git a/apps/browser-extension/src/utils/dist/shared/vault-sql/index.mjs b/apps/browser-extension/src/utils/dist/shared/vault-sql/index.mjs index 08abfc9d7..6f3218fd4 100644 --- a/apps/browser-extension/src/utils/dist/shared/vault-sql/index.mjs +++ b/apps/browser-extension/src/utils/dist/shared/vault-sql/index.mjs @@ -256,6 +256,29 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT; `; var MIGRATION_SCRIPTS = { @@ -442,6 +465,31 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +COMMIT;`, + 10: `\uFEFFBEGIN TRANSACTION; +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT;` }; @@ -516,6 +564,13 @@ var VAULT_VERSIONS = [ description: "Add 2FA Tokens to credentials", releaseVersion: "0.14.0", compatibleUpToVersion: "0.23.0" + }, + { + revision: 11, + version: "1.6.0", + description: "Add Passkey Entity", + releaseVersion: "0.24.0", + compatibleUpToVersion: "0.24.0" } ]; diff --git a/apps/mobile-app/utils/dist/shared/vault-sql/index.js b/apps/mobile-app/utils/dist/shared/vault-sql/index.js index fed350dfb..8733c96a2 100644 --- a/apps/mobile-app/utils/dist/shared/vault-sql/index.js +++ b/apps/mobile-app/utils/dist/shared/vault-sql/index.js @@ -285,6 +285,29 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT; `; var MIGRATION_SCRIPTS = { @@ -471,6 +494,31 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +COMMIT;`, + 10: `\uFEFFBEGIN TRANSACTION; +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT;` }; @@ -545,6 +593,13 @@ var VAULT_VERSIONS = [ description: "Add 2FA Tokens to credentials", releaseVersion: "0.14.0", compatibleUpToVersion: "0.23.0" + }, + { + revision: 11, + version: "1.6.0", + description: "Add Passkey Entity", + releaseVersion: "0.24.0", + compatibleUpToVersion: "0.24.0" } ]; diff --git a/apps/mobile-app/utils/dist/shared/vault-sql/index.mjs b/apps/mobile-app/utils/dist/shared/vault-sql/index.mjs index 08abfc9d7..6f3218fd4 100644 --- a/apps/mobile-app/utils/dist/shared/vault-sql/index.mjs +++ b/apps/mobile-app/utils/dist/shared/vault-sql/index.mjs @@ -256,6 +256,29 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT; `; var MIGRATION_SCRIPTS = { @@ -442,6 +465,31 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +COMMIT;`, + 10: `\uFEFFBEGIN TRANSACTION; +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT;` }; @@ -516,6 +564,13 @@ var VAULT_VERSIONS = [ description: "Add 2FA Tokens to credentials", releaseVersion: "0.14.0", compatibleUpToVersion: "0.23.0" + }, + { + revision: 11, + version: "1.6.0", + description: "Add Passkey Entity", + releaseVersion: "0.24.0", + compatibleUpToVersion: "0.24.0" } ]; diff --git a/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.js b/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.js index fed350dfb..8733c96a2 100644 --- a/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.js +++ b/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.js @@ -285,6 +285,29 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT; `; var MIGRATION_SCRIPTS = { @@ -471,6 +494,31 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +COMMIT;`, + 10: `\uFEFFBEGIN TRANSACTION; +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT;` }; @@ -545,6 +593,13 @@ var VAULT_VERSIONS = [ description: "Add 2FA Tokens to credentials", releaseVersion: "0.14.0", compatibleUpToVersion: "0.23.0" + }, + { + revision: 11, + version: "1.6.0", + description: "Add Passkey Entity", + releaseVersion: "0.24.0", + compatibleUpToVersion: "0.24.0" } ]; diff --git a/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.mjs b/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.mjs index 08abfc9d7..6f3218fd4 100644 --- a/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.mjs +++ b/apps/server/AliasVault.Client/wwwroot/js/dist/shared/vault-sql/index.mjs @@ -256,6 +256,29 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT; `; var MIGRATION_SCRIPTS = { @@ -442,6 +465,31 @@ CREATE INDEX "IX_TotpCodes_CredentialId" ON "TotpCodes" ("CredentialId"); INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") VALUES ('20250310131554_1.5.0-AddTotpCodes', '9.0.4'); +COMMIT;`, + 10: `\uFEFFBEGIN TRANSACTION; +CREATE TABLE "Passkeys" ( + "Id" TEXT NOT NULL CONSTRAINT "PK_Passkeys" PRIMARY KEY, + "ItemVersion" INTEGER NOT NULL, + "RpId" TEXT COLLATE NOCASE NOT NULL, + "CredentialId" BLOB NOT NULL, + "SignCount" INTEGER NOT NULL, + "IsBackupEligible" INTEGER NOT NULL, + "IsBackupState" INTEGER NOT NULL, + "DisplayName" TEXT NOT NULL, + "LastUsedAt" TEXT NULL, + "AdditionalData" BLOB NULL, + "CreatedAt" TEXT NOT NULL, + "UpdatedAt" TEXT NOT NULL, + "IsDeleted" INTEGER NOT NULL +); + +CREATE UNIQUE INDEX "IX_Passkeys_CredentialId" ON "Passkeys" ("CredentialId"); + +CREATE INDEX "IX_Passkeys_RpId" ON "Passkeys" ("RpId"); + +INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion") +VALUES ('20250925085843_1.6.0-AddPasskeyEntity', '9.0.4'); + COMMIT;` }; @@ -516,6 +564,13 @@ var VAULT_VERSIONS = [ description: "Add 2FA Tokens to credentials", releaseVersion: "0.14.0", compatibleUpToVersion: "0.23.0" + }, + { + revision: 11, + version: "1.6.0", + description: "Add Passkey Entity", + releaseVersion: "0.24.0", + compatibleUpToVersion: "0.24.0" } ]; diff --git a/shared/vault-sql/src/sql/VaultVersions.ts b/shared/vault-sql/src/sql/VaultVersions.ts index ea36ec852..169880eaa 100644 --- a/shared/vault-sql/src/sql/VaultVersions.ts +++ b/shared/vault-sql/src/sql/VaultVersions.ts @@ -86,5 +86,6 @@ export const VAULT_VERSIONS: VaultVersion[] = [ version: '1.6.0', description: 'Add Passkey Entity', releaseVersion: '0.24.0', + compatibleUpToVersion: '0.24.0', }, ];