diff --git a/packages/types/src/documents/global/user.ts b/packages/types/src/documents/global/user.ts index fbf34cb196..ee83969a52 100644 --- a/packages/types/src/documents/global/user.ts +++ b/packages/types/src/documents/global/user.ts @@ -69,3 +69,7 @@ export interface AdminUser extends User { global: boolean } } + +export function isUser(user: User | ThirdPartyUser): user is User { + return !!(user as User).roles +} diff --git a/packages/worker/src/sdk/users/users.ts b/packages/worker/src/sdk/users/users.ts index cd3f0622d4..209ba4d41c 100644 --- a/packages/worker/src/sdk/users/users.ts +++ b/packages/worker/src/sdk/users/users.ts @@ -31,6 +31,7 @@ import { SearchUsersRequest, User, ThirdPartyUser, + isUser, } from "@budibase/types" import { sendEmail } from "../../utilities/email" import { EmailTemplatePurpose } from "../../constants" @@ -188,10 +189,6 @@ const validateUniqueUser = async (email: string, tenantId: string) => { } } -function instanceOfUser(user: User | ThirdPartyUser): user is User { - return !!(user as User).roles -} - export const save = async ( user: User | ThirdPartyUser, opts: SaveUserOpts = {} @@ -262,7 +259,7 @@ export const save = async ( } let appsToRemove: string[] = [] - if (dbUser && instanceOfUser(user)) { + if (dbUser && isUser(user)) { const newRoles = Object.keys(user.roles) const existingRoles = Object.keys(dbUser.roles)