From 3a956ed309703ad8730bcdf332679d68eef028fc Mon Sep 17 00:00:00 2001 From: melohagan <101575380+melohagan@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:18:37 +0000 Subject: [PATCH] Allow multiple tenant users to be created for account holders (#15513) --- packages/backend-core/src/users/db.ts | 5 ++++- packages/types/src/sdk/user.ts | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/backend-core/src/users/db.ts b/packages/backend-core/src/users/db.ts index cbc0019303..2b15338925 100644 --- a/packages/backend-core/src/users/db.ts +++ b/packages/backend-core/src/users/db.ts @@ -264,7 +264,9 @@ export class UserDB { const creatorsChange = (await isCreator(dbUser)) !== (await isCreator(user)) ? 1 : 0 return UserDB.quotas.addUsers(change, creatorsChange, async () => { - await validateUniqueUser(email, tenantId) + if (!opts.isAccountHolder) { + await validateUniqueUser(email, tenantId) + } let builtUser = await UserDB.buildUser(user, opts, tenantId, dbUser) // don't allow a user to update its own roles/perms @@ -569,6 +571,7 @@ export class UserDB { hashPassword: opts?.hashPassword, requirePassword: opts?.requirePassword, skipPasswordValidation: opts?.skipPasswordValidation, + isAccountHolder: true, }) } diff --git a/packages/types/src/sdk/user.ts b/packages/types/src/sdk/user.ts index c0e2f80297..ab9bd0c430 100644 --- a/packages/types/src/sdk/user.ts +++ b/packages/types/src/sdk/user.ts @@ -4,4 +4,5 @@ export interface SaveUserOpts { currentUserId?: string skipPasswordValidation?: boolean allowChangingEmail?: boolean + isAccountHolder?: boolean }