From 907727947a31552d770494fe6d6e2937b6fa464c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gast=C3=B3n=20Fournier?= Date: Tue, 23 Sep 2025 17:25:39 +0200 Subject: [PATCH] Revert "feat: enforce email null when deleted is set" (#10682) Reverts Unleash/unleash#10680 SCIM protocol requires us to keep the email stored, so this constraint doesn't hold. --- .../getLicensedUsers.e2e.test.ts | 2 +- src/lib/features/users/user-store.ts | 9 ------- .../20250922151744-amend-deleted-at.js | 25 ------------------- 3 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 src/migrations/20250922151744-amend-deleted-at.js diff --git a/src/lib/features/instance-stats/getLicensedUsers.e2e.test.ts b/src/lib/features/instance-stats/getLicensedUsers.e2e.test.ts index efbbcf6855..3e96eb3484 100644 --- a/src/lib/features/instance-stats/getLicensedUsers.e2e.test.ts +++ b/src/lib/features/instance-stats/getLicensedUsers.e2e.test.ts @@ -16,7 +16,7 @@ const mockUser = (deletedDaysAgo: number | null, uniqueId: number) => { ? new Date(Date.now() - deletedDaysAgo * 24 * 60 * 60 * 1000) : null; return { - email: deletedAt === null ? `${uniqueId}.user@example.com` : null, + email: `${uniqueId}.user@example.com`, email_hash: `${uniqueId}.user@example.com`, deleted_at: deletedAt, }; diff --git a/src/lib/features/users/user-store.ts b/src/lib/features/users/user-store.ts index cdf1946ecd..5e093d7f62 100644 --- a/src/lib/features/users/user-store.ts +++ b/src/lib/features/users/user-store.ts @@ -352,13 +352,4 @@ export class UserStore implements IUserStore { return firstInstanceUser ? firstInstanceUser.created_at : null; } - - // this is temporary to find out how many cases we have - async findDeletedUsersWithEmail(): Promise { - return this.db(TABLE) - .select('*') - .whereNotNull('deleted_at') - .andWhereRaw('length(email) > 0') - .then((rows) => rows.map(rowToUser)); - } } diff --git a/src/migrations/20250922151744-amend-deleted-at.js b/src/migrations/20250922151744-amend-deleted-at.js deleted file mode 100644 index d9f28c94c8..0000000000 --- a/src/migrations/20250922151744-amend-deleted-at.js +++ /dev/null @@ -1,25 +0,0 @@ - -exports.up = (db, callback) => { - db.runSql( - ` - UPDATE users - SET deleted_at = NULL - WHERE deleted_at IS NOT NULL and length(email) > 0; - - ALTER TABLE users - ADD CONSTRAINT deleted_at_requires_email_null - CHECK (deleted_at IS NULL OR email IS NULL); - `, - callback, - ); -}; - -exports.down = (db, callback) => { - db.runSql( - ` - ALTER TABLE users - DROP CONSTRAINT deleted_at_requires_email_null; - `, - callback, - ); -};